OSSなDWH InfiniDB の話 ⑤ ~リアルタイムDWH化について
前回に引き続き、DWH(データウェアハウス)である、InfiniDBの話です。
DWHは、Data Warehouse という意味で、データの倉庫って意味合いです。 なので、利用の方法を考えると、データに即時性があまり必要なく、大量のデータを分析する用途で使うケースが多いと思いますし、多いどころか、それが普通の使い方だと思います。分析用途のためトランザクションは必要なく、データの流し込み(ロード)と、検索が高速であれば、それで充分なのです。
本来であればそれで充分なのですが・・・。 それに加え データの流し込みも定点的な流し込み(LOADとかではなくて)、リアルタイム化したいなとずっと思っておりまして、今回試しているのが、リアルタイムDWHの話なのです
すこし話が脱線しますが 一般的に、DWHの利用の仕方というのは、なんとなくですが、以下のようなイメージになるのではないかと思って おります。
私が勝手に思っているDWHを利用したソリューションは 一般的な、DWHの利用イメージはあらゆるデータソース、つまりデータベースであろうが、テキストファイルであろうが、ETLを介して、加工し、DWHに放り込むデータはすべて、DWHに格納されているため、BIツールを介して高速(検索)なデータの分析が可能になる。
といった感じです
データも数年間蓄積してきた情報を分析するわけなので、リアルタイムはあまり必要ないかと思います。でも、すこし分析をしたいというカテゴリの中でも、リアルタイム分析をしたいニーズもありますよね?
リアルタイム分析とか、リアルタイムBIとかでgoogle検索したところ、「従来のBIを補完するリアルタイムBI」という記事が掲載されておりました。
バッチ指向からイベント指向へシフトするBI
- すべてをリアルタイム化する必要はない
- でも、一部はリアルタイム化したい
- 戦略的意思決定と、数分遅れの意思決定を、用途によって使い分けたい
と考えた時に、僕は、MySQLのレプリケーションと、InfiniDBを組み合わせて、リアルタイム化できないかと考えました。
そしてついに完成しました!
具体的な、手順について記載しようと思ったところ、闇の組織に追われ・・ではなく、私の手違いで、OSまるごと、rm -rf /* とかやってしまい、証跡が全部消えてしまいました orz。なので、ここまで期待させておいて、説明はまたの機会にさせていただきます。
ちなみに、「単純にレプリケーションすればいいんでしょ?」という話ではなく、InfiniDBそのものを MASTERサーバ側からみて、スレーブをMySQLのように騙す設定が必要になります。(まあ、MySQLなんですけどね)
参照数が大きかったら、興味がある人がいるってことで、がんばってOS再インストールして証跡を 書きますので、逆に少なかったら、ぼちぼちレベルで書きます。
意外にやってそうで、他の方はやってない感じですね。たぶんそれって、Hadoopとか、NoSQLが今前面にでてきている流れで、DWHがおとなしくなっちゃったからなのかな?と思ってます。
でもね、 最近各ベンダーが、DWHを買収してきておりますよね。
EMCによるGreenplumの買収はDWH業界再編の引き金になるか? http://www.itmedia.co.jp/enterprise/articles/1007/08/news054.html 米IBM、データ分析のネティーザを17億ドルで買収
http://jp.reuters.com/article/technologyNews/idJPJAPAN-17307920100920
実際、Hadoopと、DWHを比較して考えたときに、扱いやすいのは、断然DWHだし、実際の検索のパフォーマンスも、DWHのほうが良いと思っております。
以下に関連記事を記載しております。
★MySQLとInfiniDB でリアルタイムDWHを作る PART1
★InfiniDB でリアルタイムDWHを作る PART2(環境構成詳細) ★InfiniDB でリアルタイムDWHを作る PART3 ~驚速DWHの構築