速さはもちろんデータベースの中で分析までできる利点(小島氏)
「分析のやり方はさまざまなものがありますが、中にはスピードがなければ成功しない分析もあります」と言うのは小島氏だ。たとえば、オンラインゲーム業界などでは、無料でまずはゲームをできるようにし、そこからお金を払いアイテムなどを購入してくれるユーザーを増やすというアプローチをとる。
「上位の得意顧客は企業にとって極めて大事です。彼らには離反して欲しくありません。長く使ってもらうにはどうすればいいのか、それを徹底的に分析しています」(小島氏)
ユーザーの利用ログなどをさまざまな角度から分析する。分析そのものはうまくいっても、ITのスピードが追いつかないという課題がある。たとえば、離反してしまう可能性の高い行動パターンの分析を行う。これまでは分析のスピードが遅く、1日に1回しかそれができなかった。これでは、最短でも1日後にしか対策はとれず、そのタイミングではすでにサービスをやめてしまうかもしれない。この遅かった分析プラットフォームを改善し、5分で分析できるようにした。これで、タイムリーな離反防止策が打てるようになる。「分析のスピードがキーになります」と小島氏。
またオンライン広告のリサーチの分析を行っていた企業では、リレーショナル・データベースやHadoopを適材適所で使い分けるといった最適化まではおこなっていた。
「数分前の状況も分析したいというさらなる要求がありました。しかしながらどんどん新しいサービスが登場してくるので、(コンピュータという)『機械ごとき』に手間をかける暇がない」と言われたそうだ。つまり、オンライン広告のような変化の激しい世界では、いちいちデータベースのチューニングなどを行って対処している暇はないと言うことだ。また、あるECの企業では集中的に分析を行える大規模なデータウェアハウスを構築し運用を始めたが、分析のための十分な性能を得るために結局はユーザーニーズに応じ部門ごとに専用の分析環境を切り出して用意しなければならなくなったとか。
これらのような分析スピードから発生する課題に対し、IBMではPureData for Analyticsを用意していると小島氏は言う。
「これは昔Netezzaと呼ばれていた製品であり、IN-DBアナリティクスが実現できます。これはこの製品にしかできません。IBMは、このNetezzaテクノロジーをユーザーにより近いところで使う製品として提供しています」(小島氏)
データベースが速いということは、もはやビッグデータ分析では当たり前だ。その上での使いやすさが求められている。ユーザーが徹底的に使い倒すことができるような簡易性が必要なのだ。使いやすければ分析したい人は誰でもが使えるようになる。「データベースを使いこなすために、専用の資格を取得しなければならないなんて言うのはダメです」と小島氏。
NetezzaことPureData for Analyticsのアーキテクチャは、超並列処理、FPGAチップの活用、Zonemapの3つが特長となっている。
「超並列というと部屋いっぱいのコンピュータを想像するかもしれません。Netezzaは、1ラックで超並列に動くスーパーコンピュータです。FPGAというチップはTVやDVDプレイヤーに入っているもので、流れてくるデータを処理するものです。データウェアハウスなどでは、無駄なデータが大量に流れています。それをFPGAが捨ててくれるので、必要なデータだけを受け取れます」(小島氏)
3つめのZonemapは、HDDのどこに何を書いたかを記憶してくれる技術だ。これも、大量にデータがある際には性能の向上に大きく貢献する。これらのNetezzaの技術を活用すれば、実際に10時間以上かかっていた検索処理が2.4秒に短縮した事例もあるとのこと。従来の数千倍から数万倍、それがNetezzaのスピード感覚だと言う。
とはいえ、速いデータベースは作ろうと思えば作れる。しかしながら「IN-DBアナリティクスはNetezzaにしかないものです」と小島氏。過去に何が起きたかをレポートするのも大事だ。けれども次に何が起こるのか、それが分かるとデータの活用具合が変わる。それをやろうとすると、データベースに求められるのは速さだけではなくなると小島氏は指摘する。
「必要とされる技術が変わります。未来の予測はNetezzaを使ってもSQLだけではできません。パターンを発見したり予測分析やクラスタリング分析を行ったり。これはデータベースだけでは処理できないのです」(小島氏)
そのためデータベースの外で、SPSSやR言語を使って高度な分析を行うことになる。その際に問題になるのが、データベースとそういった高度な分析環境の間で「データがぐるぐる動くこと」だと小島氏は言う。データが多くなれば、このやり取りがボトルネックになるのだ。そしてこのボトルネックは、データベースが速くなってもなかなか解消できない。
そこでNetezzaでは従来は外側で行っていたSQLでは行えないような分析処理を、データベースの中でできるようにしてしまったのだ。
「1ラックのNetezzaの中には240ものコンピュータがあり、それで動くデータベース基盤の上に分析エンジンを載せられます。さまざまな言語で作ったプログラムも入れることができます」(小島氏)
結果的にデータベースの中で、データの準備から整形、モデリング、スコアリングなど300以上の分析処理が行えるようになっている。「Netezzaにほとんどのものを集約できます。これでNetezzaがたんなるデータベースではなく、あらゆる分析のプラットフォームとなるのです」と小島氏は言う。