Database JUNKY

MySQL,MariaDBを中心としたブログです

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の構築