HadoopTimes

実践 機械学習:レコメンデーションにおけるイノベーション
技術情報

何故Apache Drillは重要なのか

本稿のオリジナルは、The HIVEへ2014年5月12日に投稿されたものです。

私は最近、息子のテコンドー教室で武術の敏捷さを養うトレーニングを見る機会に恵まれた。素早く動き、体の向きを瞬時に変えつつも力強い蹴りや一撃を放てるように体軸を維持する能力は、テコンドーを含む様々な武術に於いて非常に重要だ。

そうした敏捷性が企業のデータ設計やBI/アナリティクス環境、特に大量のデータを扱う新たな世界に関係してくる様子を垣間見るのは興味深い。

ビジネス・インテリジェンスや解析ツールは過去5年の間にめざましい変化を遂げた。古い環境では集約化して管理され、その内よくある疑問に対するいくつかのITプロダクション・レポートは、ビジネスユーザーの広い範囲において戦略的な意思決定を支援します。元来のBIツールはパラメータ化されたレポートやOLAP/アド・ホック・クエリーなどの分析手段を与えるものだったが、かなり静的であった。ビジネスに関する疑問が変われば、それらのBI版がユーザーに修正された、或いは新たなレポートを与えてくれるまで数週間或いは数ヶ月待たねばならない。新たに登場したQlickView、TableauやSpotfireと言ったツールはこうした分析プロセスを素早くこなせるようにした。ガートナー社のBI/分析システム向けであるMagic Quadrantは2013年以降、年々多くの組織がこれまでのBIプラットフォームを捨てて、ビジネス・ユーザーが新たな疑問や変更された疑問に、IT部門から与えられていられれば再度そのデータを仕様できるユーザー主導のデータ・ディスカバリを採用するようになった事実を明るみにした。

データ・マネジメントについて見てみると、関係データベースの現状もまた同様に、ソーシャル、モバイル、クラウドそしてIOTの検出子などの新たなタイプのアプリケーションによって検証されてきた。これらのアプリケーションは、従来のトランザクション処理アプリケーションよりも多くユーザーやデータを収容できるように規模を調整しただけでなく、本質的に強い反復性を持っていなければならなかった。間もなく幾つかの組織は各々のRDBMS環境をMongoやHBaseなどといったHadoopやNoSQLシステムで補足し始めた。規模に於ける費用効果に加えて、こうしたシステムは前もってスキーマを定義せずにデータを保存(アプリケーション主導のスキーマ)する事で、めまぐるしく変貌を遂げていくアプリケーションを支えていくのに必要な機敏さを与えてくれる。Hadoop/NoSQLシステムに保存されたデータはしばしば本質的に自己記述型及びまたは半構造型である事を念頭に置く事は重要である(例 JSON、Parquet及びkey-value形式)。

それでは今日の環境には何が欠けているのか。機敏性の問題は解消されたのではないのか。何故未だにレポート/分析処理に何週間、何ヶ月とかける組織が存在するのか。バラバラになった点を繋げていってみよう。BI/分析ツールやデータ取得のプロセスは素早くなったが、欠けている部品はこれらのピースを繋ぎ止めるいわば糊だ。ETLプロセスの敏捷性は充分でなく、しかも過去数十年間変わっていない。

ETL(Extract-Transform-Load)は明確に定義されたプロセスで、オペレーショナル・アプリケーション・データベースから送られるソース・データを抽出し、集積し、データウェアハウス(EDW)に転送してそこでBI/分析ツールにかけられる。よく知られたALTER TABLEの複雑さとデータを物理的に移動させるのにかかる手順の多さから、ETLを変える事が難しい或いはあまりに膨大な時間が掛かるという事実は今に始まった問題ではない。しかし、ビッグデータになるとこの問題は更に悪変する。ビッグデータ・アプリケーションによく見られる半構造型/ネスト型データはデータが著しく変化している場合にリレーショナル・パラダイムやマネージング集中型EDWスキーマと共にモデル化するのが難しく、すぐにオーバーヘッドの問題となってしまう。それに加えて、リアルタイムでデータが流れている時の移動も難しくなる可能性がある。このプロセスを管理するにあたって組織へリソースを提供する意思があったとしても、ETLを非反復的/アドホック・クエリーや短期間のデータ外挿に(企業が繰り返し測定や監視をして、質問やKPIを比較したがっている)使用する必要はないかもしれないのである。SQL on Hadoopテクノロジーならば、別のシステムにデータを移動させずにETL問題を多少解消する事ができるが、それでも最大の問題が残ったままだ。いかにして大きなデータのスキーマを管理し、モデル化するのか。

全体的に、Hadoop/NoSQLシステムを用いるBI/分析環境に機敏性を一貫して持たせるのには新しい発想が必要だという事である。SWLツールの幅広いエコシステムをサポートするのに必要な条件を保ち続けるのに加えて、激しく変化するデータ・モデルや半構造型データなど、短い待ち時間を大きなデータ使用時に提供する為に扱うといった新たな分析の必要条件に綿密な注意を払わなければならない。