センサー技術の発達で、スマートグリッドに付随する装置や機器に安価だが高機能のセンサーが装 着され始めている。それに従って、多くのデータ源から莫大な量のデータがリアルタイムやそうでないペースで生成され、生成されたデータは収集されて解析さ れる。この様な新たなBig Dataの特徴はスピード(velocity)、多種性(variety)、量(volume) (これを3 Vと呼ぶ)で表されるが、今までの relational databases (RDB)では処理出来ない。これが、NoSQLの誕生を招いた。最近参加した NoSQL Now 2013 コンファレンスに関して幾つかブログを書いた。
ここ
ここ
ここ
このコンファレンスでアナリティックスを売りにしている展示会社 を探したが、運よくAcunuという会社を見つけた。 Infochimps 社のJim Kascade 社長をインタビューして以来、アナリティックスの基本を研究し始めた。少しづつ研究するにつれて理解したことはアナリティクスの領域は広く、深く、所謂ア ナリティクスと一言では言えないことを理解した。今まではデータサイエンス屋さんの話が抽象的で詳細を語らないのを訝っていた。でも、今はなぜ専門家が素 人の私に詳細を語りたがらないのかよく分かった。
アナリティックス市場の変遷
Hadoop のアナリティックスはバッチ処理だ。それはそれで結構なことだ。それが向く場所もある。しかし、リアルタイムまたはストリーミング・アナリティックス は どうだろう。この分野は今大きな注目を浴びている。電力業界では、電気の供給を絶やさないため多くのデータ源からのデータをモニターしている。責任の範囲 によるが、広い地域または狭い地域の電力の需要と供給のバランスを見る必要がある。どちらにしても、異なった生成頻度、スピードや形式のデータが非同期で 飛んでくる。一般的にデータ量が多ければ、多いほどアナリティックスの質が改善される。もちろん、アナリティックスを適用する前に、どのデータが必要か精 査するべきだ。最近のCSCによるInfochimpsによる買収がこのことを如実に語っている。
Acunuのアナリティックス
インタビューの前に数分調査をして、インタビューには45分程度費やした。インタビューにはTim Moreton (CTO) と Dai Clegg (VP marketing)の両氏が応じてくれた。
Tim Moreton氏(左)と Dai Clegg氏
インタビューの後、ブログを書くにはもっと調査 研究の必要を感じた。そのため、インタビューそのものの他、Acunuのドキュメントやその他を参考にしてかなりの時間を費やした。
差別化
全ての会社はその解はユニークであり、競合よりも良いと主張する。では、Acunuの差別化はなんだろう。
全てのアナリティックスはそれぞれユニークだ。リアルタイムの定義同様、ストリーム・ アナリティックスも人によって微妙に定義が異なる。多くの人はこの言葉で多くのことを十把一絡げにしてストリーミング・アナリティックスと使う傾向がある。 Grok Solutions社のようにストリーミング・アナリティックスを提供する会社が数社ある。差別化を精査する情報源としてAcunuのブログが役にたった。もちろん、1つのブログは1つの題目にフォーカスするため、全体を見通せる1つにまとまったホワイトペーパーが望ましい。Timと Dai によればそのうちにそのようなものを用意するとのことだ。
4つの差別化のポイントは:
1. リアルタイムのアナリティックス
2. Cube
3. Cassandra との統合と使い勝手の改善
4. ダッシュ・ボードとアーキテクチャー
リアルタイムのアナリティックス
Acunuはリアルタイム・アナリティックスが差別化の1つであるとはいわなかった。しかし、Acunuがリアルタイムをどのように定義しているのか知るのは有意義だ。Timのブログが良い情報源だ。もちろんハードリアルタイム とは異なる。Timのブログの中でDoug Cutting (Hadoop開発者で、Clouderaのchief architect)の言を引いている:
「コマンドを発して終わるまで、十分座って待てる時間で、終わるまでコーヒーを飲みに行くとか、一晩待たなければならないというものではない。それがリアルタイムだ。」
Acunuのリアルタイムは「API real time」」と呼ばれ、Timの説明では:
Acunu の「API real time」 は運用インテリジェンスとモニタリングのためのものだ。結果はインターアクティブに戻ってくる。大体WebページへのリフレッシュやAPI コールに掛かる通常の遅延程度だ。ストリーミング・アナリティックスは 増加し続け、また持続する。その時点の結果は最新のものだ。それだけではなく、最新のデータは現在までのデータと共にクエリ・解析することができる。 そのため、傾向(trend)、エクセプション、比較などがすぐに検出することができる。
Cube
Acunuの Cube はTimのブログに記述されており、online analytical processing (OLAP) cubeに似通っている。しかし、差異はこのように説明されている。
Acunuのcubeは非常に似通っているが、以下が異なる。新たなデータが到着するたびにインクリメンタルに コンピュートされているので、全てを全部初めからコンピュートしなくても、一度に処理する量は少なくて済む。
Lambda アーキテクチャーでは、 Nathan Marz はアプリとそれがアクセスするデータの間にプリ・コンピュートされたビューを配置した。プリ・コンピュートされたビューがあれば、その時点までに収集され て解析されたデータと共に新たに到着したデータを解析できる。cubeはある時点まで収集されたマルティ次元のデータにある数式を適用した結果を格納して いる。例えば、単に地域毎や時間毎(週、月、年)で売れた商品の個数の合計などだ。ある時点までの結果は既に存在しているので、新たに到着したデータ(最 近の商品の売り上げ個数) は単に加算され、情報が更新される。必要なクエリに応じて、複数のcubes (ビュー)を定義することができる。以下にこの様子を示す。
処理前のデータがいかにリアルタイムで処理されるか。(出典: Tim MoretonのNoSQL Now 2013コンファレンスでのプリゼンより)
注意
これは、Lambda アーキテクチャを実装する1つの方法で、他にも実装の方法はある。しかし、これはこのアーキテクチャーを理解する上で、具体的な例なので理解に役立つ。
Cassandra のインテグレーション
TimはCassandraをデータベースを選んだ理由を以下のように述べた:
Cassandra はスケーらビリティ、性能、複数のデータセンター間サポート、マルティ・マスターアーキテクチャー(no single point of failure)に秀でている。
しかし、彼は続けた:
例外なく殆どのカスタマーはこのシステムを学ぶ際一番困難なのは、Cassandra のデータ・モデリングだ。
…
も ともとのAPIは, Cassandra クエリ言語(CQL)を使ったとしても、非常に簡単過ぎて、本当に非常に簡単なビルディング・ブロックを提供するだけだ。開発者はデータを読み込むスキー マを作成することが必要だ。もし、新らたな機能のために新らたなデータの読み込みが必要となると、それを変更するのは非常に困難だ。
筆 者はCassandra のユーザーでも開発者でもないので、専門的なコメントはできない。しかし、筆者の理解は以下のようだ。一般的にオープンソースの解はオープンであり、柔軟 に対応でき、無料(ライセンスの条件に従う限り)で素晴らしい。問題は使い勝手とサポートの欠如だ。確かに、役に立つコミュニティがあって色々と質問する ことが可能だ。しかし、これを企業のビジネス用に使用するのは、必ずしも容易ではない。そのため、オープンソースの解にはビジネス版が必要なのだ。 Cassandraの場合は, Datastax社がビジネス版をサポートともに提供している。
筆 者の理解では、AcunuはCassandra の上にAcunu クエリ言語 (AQL)を含む層を乗せて、使い勝手をあげている。オープンソースのため、Cassandraには複数の版が存在するが、Acunu は主なものはサポートしている。更に、Apache コミュニティとも密接に連携をしており、アップデートやアップグレードをCassandraのプロジェクトに提供している。
ダッシュボードとアーキテクチャ
可視化(visualization)はBig Data を処理・理解するのには必須だ。また、Cassandra のデータベースとインタフェースするのにも役立つ。Acunuのアーキテクチャを以下に示す。
Acunuのアナリティクスのアーキテクチャ (出典: Tim Moretonの NoSQL Now 2013でのプリゼンより)
Acunu のアナリティクスは複数のデータ・ストリームを同時に受け取ることができる。ストリームはHTTP の他、Flume または Stormで処理できる。
Acunuの今後
Tim とDai によると、現在のアナリティクスの機能は基本的なもので、境界を越えた値の検知とかあるデータの加算値を入手することはできる。もっと、複雑なアナリティ クスの機能が望まれる。例えば、予測。その様な予測機能があれば、電力系統を安定させて信頼性高く運営できる。
最終コメント
Acunu 社のようなベンダーがストリーミング・リアルタイム アナリティクスの製品を提供していることは頼もしい。それぞれのアナリティクスはたくさんの異なった コンポーネントがそれぞれ特異な方法で結合されている。今後この市場はどうなるのだろうか。今のように多くの会社がばらばらに製品を提供するのだろうか。 それとも、多くの会社が統廃合されていくのだろうか。現在のアナリティクスの会社はSNSやエンタープライズの市場への適用からスマートグリッドのように 新らたな分野へと進出しようとしている。