みなさん。こんにちは。STSの山口です。弊社が「Redshiftはじめました。」と宣伝を始めて以降、最近、数々のRedshift関連のお問い合わせを頂いており、非常にうれしい限りでございます。
さてさて、このような状況におきまして、今回、皆様にご紹介したいのは、この「Redshift」を使った、新しいDWHシステムのご提案、「リアルタイム型DWHシステム」でございます。実際にお客様へご説明させて頂いている資料を織り交ぜながら、皆様に「リアルタイム型DWHシステム」をご紹介したいと思います。また、最後にはこの「リアルタイム型DWHシステム」のデモ機に関してもご紹介します。
言わずと知れた、AWSの「DWHの価格破壊サービス」Redshiftのご紹介です。先述しましたとおり、我々が提案する「リアルタイム型DWHシステム」では非常に重要な構成要素の1つとなっております。実はこの「リアルタイム型DWHシステム」ではRedshiftの他に、もう一つ重要な要素があります。それが、kinesisです。Kinesisについては後ほどご紹介します。
2013年6月から東京リージョンで運用開始された「分析用途向けRDB」、それがRedshiftです。
いくつかの特徴がありますが、代表的な特徴は、
・数PBまで拡張が可能な事
・カラムナ型、MPPなど、DWH向けのアーキテクチャを有している事
・初期費用不要で、ライセンス費不要の使った分だけお金がかかる従量課金制である事
などがよく言われています。これらの特徴はRedshiftのメリットにもそのまま反映されています。
メリット①「拡張が容易」
最初2ノードのクラスタで構成していたとしても、最大100台まで数クリックでスケールアウト可能で、
非常に拡張が容易です。これまでであれば、サイジング、調達、ラッキング、キッティングなど拡張が
可能であっても、DBの拡張は大変な作業でしたが、Redshiftではこれがありません。
メリット②「DWH向けのアーキテクチャ」
DWHでは、非常にたくさんのカラムをもったテーブルを作る事が多いです。しかしながら、実際に、集計するカラムと言うと、テーブル全体で200カラムある内の10カラムとか5カラムとかその程度です。カラムナ型はDB内のデータをカラム単位で格納しています。多くのRDBが採用している行型では、5カラムしか集計しないのに、200カラム分のデータをディスクから読み込みます。カラムナ型は5カラム分のみディスクから読み込むので、こう言った使い方であれば、行型に比べてディスクI/Oを大幅に削減する事が出来ます。また、並列分散処理を行えるので、この点においても、大量のデータ処理を行わなければならないDWHには向いているアーキテクチャを搭載していると言えます。
メリット③「価格の下限の低さ」
これまでのDWH向けのアプライアンス製品は初期費用に数千万円~数億円かかる事が珍しくありません。企業は成功するか、失敗するかも分からない製品に巨額の投資をしなければならないという現実がありました。しかし、Redshiftは従量課金制です。小さく始める事が可能であり、最も小さな構成であれば、1時間わずか$0.3です。トライ&エラーで、小さな失敗を繰り返しながら大きな成功をつかむ事が可能です。この点もRedshiftのメリットと言えるでしょう。
これまで、Redshiftの機能について触れてきました。では、このRedshift、価格はいくらぐらいするのでしょうか。今回はRedshiftで192TBの実容量を搭載した構成でご説明します。192TBと言えば、一般的なDWHのアプライアンス製品でもこれぐらいの実容量を搭載しているモデルはあると思います。Redshiftで192TBの実容量を搭載する構成は何パターンかあるのですが、今回は「dw1.8xlarge」と言うタイプを使って構成します。Redshiftは1ノードあたり、決まった容量のStorageを搭載しており、RDB全体での実容量は、構成するノードに紐づくStorageの総容量で決定されます。「dw1.8xlarge」の場合には、Storageの容量は16TBの為、12台でRDBを構成すれば、192TBの実容量を扱えると言う事になります。もちろん、Redshiftは格納されるデータは圧縮が効くので、格納するデータは実体的にはPBクラスを格納できると考えられます。この構成の場合、最大の並列処理数は192です。
上記の構成の場合は1か月約$89,705(約897万円)の利用料となり、年間に直すと、$1,076,458(約1億円)となります。
しかし、AWSには「リザーブドインスタンス」と言う、予約金を払う事で、月額の利用料を抑える事ができます。このリザーブドインスタンスを適用した場合には、年間の利用料は$304,402(約3000万円)まで下がります。巨大な構成になれば他のDWH向けのアプライアンス製品と金額は変わらなくなってしまいますので、巨大な構成をとる場合には、Redshiftはリザーブドインスタンスありきで考えた方が良いと思います。それでも、この構成まで大きくなるまでに必要な分だけ購入出来るので、価格的なメリットは十分に出す事が可能です。
我々が提案する「リアルタイム型DWHシステム」でRedshift同様に大きな構成要素の一つがkinesisです。kinesisにより、リアルタイムで生成される大量のデータを受け取り処理させ、DWHへデータを反映させる事が可能です。ここではkinesisに関して、少しご紹介します。
2014年7月より東京リージョンで運用が開始された、kinesisですが、「リアルタイムストリームデータ処理サービス」と言われています。リアルタイムで波のように押し寄せるデータを処理するサービスですが、特長をいくつか記述します。
・時間当たり数TBのデータの処理が可能
・最大24時間まで、データを一時的に保存するバッファとして利用可能
・データの量に応じて、スケールアウトするようなETLアプリを構築可能
・格納されたデータは複数のAvailability-Zone(データセンター)に格納される為、信頼性と耐久性が担保されている
これまで、上記のような事をすべて実現する時に、これらの機能を有するインターフェースをSIerが設計、構築する事は可能でした。しかしながら、サイジングはどのように考えるか、可用性をどのように担保するかなど、設計、構築に大きな費用がかかっていました。kinesisではすでに可用性などの問題はクリアされており、使った分だけの課金と言う事で、設計、構築の費用を大幅に削減する事が出来ます。また、スケールアウトも柔軟にできるので、サイジングの面でも、これまでのオンプレミス環境での構築程、神経質になる必要はありません。
kinesisについても価格を見ていきましょう。kinesisではshardと言う単位で、処理できる量をスケールします。1shardのスペックは1000TPSです。kinesisを10shardで構成した場合、このkinesis全体の処理能力は1000TPS×10shard=10000TPSと言う事になります。このkinesisに対して、限界までデータを投入したとすると、月間に約260億件のデータを処理できると言う事になります。この時の利用料は1か月間で$833(約8万円)と言う事になります。
これまで、Redshift、kinesisとご紹介してきました。これらは我々が提案する、「リアルタイム型DWHシステム」の非常に重要な構成要素です。ここからはリアルタイム型DWHシステムに関しまして、ご紹介します。
まずは、我々がご紹介する「リアルタイム型DWHシステム」のコンセプトを紹介します。3つのコンセプトがあり、それぞれ
①大量のデータをリアルタイムに処理する機能を有する事。
バッチによるデータの投入のみではなく、リアルタイムで発生したデータに関しては、kinesisを使う事でDWHへリアルタイムでデータ投入するように工夫されています。
②大量のデータであっても、分散処理により、現実的な時間で処理する。
DWHではクエリ性能はデータ容量にある程度依存してしまう事が一般的です。1回のクエリが数時間かかってしまう事も珍しくありません。この課題に、クエリの分散処理アーキテクチャを採用している、Redshiftを用いる事で、クエリを現実的な時間で処理可能にする事を実現します。
③データ分析はユーザ自ら可能。
DWHのデータの可視化はBIツールで行う事が多いですが、BIツールはレポート作成、ダッシュボードの生成に関しては、専門のエンジニアが行う事が一般的でした。しかし、企業内でデータを扱える全個人のレベルで、ダッシュボードやレポートを作成出来た方が、よりデータを活用できるのではないかと考えています。今回ご紹介する「リアルタイム型DWHシステム」ではこの課題に対して、セルフサービス型ビジネスインテリジェンスである「Tableau」を使う事で解決しています。
-・-・-・-・-・–・-・-・-・-・–・-・-・-・-・–・-・-・-・-・–・-・-・-・-・-
ここまで、長々とご紹介してきましたが、実は上記を実現したデモ機を弊社ではご用意しております。そうです。すでにお気づきの方もいらっしゃるかも知れませんが、今回の記事はデモ機の宣伝でございます。もし、今回ご紹介しました「リアルタイム型DWHシステム」にご興味を頂けましたら、デモンストレーションを行わせて頂きますので、是非下記までご連絡をお願いいたします。
東京支社 クラウド事業部
TEL: 03-3342-9620
MAIL: メールはこちらから
担当:山口 正寛
それでは、ここで、デモ機の構成図を少しご紹介したいと思います。
デモ機では、特にリアルタイム処理に着目し、構成しています。Data Generator(データ発生機)で毎分1万レコードのjson形式のデータを発生させ、それをkinesisへputします。KinesisからデータをGetするタイミングで、Json⇒CSVへ変換するETL処理を行っています。5000行で1ファイルを生成し、S3へデータ格納。格納されたデータをRedshiftへ投入すると言った流れです。すでに、Redshiftには2億件程度のデータを格納していますが、このデータとリアルタイムで投入されるデータを、幾つかのシナリオでTableauによるデータの可視化を行っています。リアルタイムデータをETL処理、DWHへの投入などはもちろん御確認いただけると思いますが、他にも、Tableauの使い勝手の良さや、クエリの速度などをご確認いただけると思います。ご興味があればぜひ、お気軽にご連絡ください。
いかがでしたか?Redshiftやkinesis、そして、「リアルタイム型DWHシステム」に少しでもご興味を頂けましたでしょうか。
山口 正寛(1984年生まれ おうし座/2013年入社) |