BAを支える三つのIT基盤技術

 次は、ビッグデータ時代を代表するIT基盤技術である、Hadoop、CEP、In-Database Analyticsについてそれぞれ説明したい。

Hadoop

 Hadoopは集中管理型の大規模並列分散処理ソフトウエアの代表で、Google技術者のレポートを基にオープンソースソフトウエア(OSS)として開発された。データの検索や集計などのバッチ処理によく使われる。導入すれば、意思決定を迅速化したり、システム運用要員のコストを削減したりするといったビジネス上の効果が見込めるため、企業がHadoopを導入する大きな理由の一つになっている。

 HadoopはHDFSおよびMapReduceの二つの機構で構成される(図2)。

図2●Hadoopの概要
図2●Hadoopの概要
[画像のクリックで拡大表示]

 HDFSは、分散ファイルシステムである。複数のサーバーにまたがった一つのファイルシステムを構成することで、物理的なサーバーを意識することなく大容量のファイルを扱えるようになる。大量データを内部でブロックに分割して複数のサーバーに分散配置する。ブロックのコピーをラックの内外に多重作成して冗長化している。

 MapReduceでは、処理対象データを読み込んでKeyとValueのペアを作成(Map)、同じKeyを持つデータをグループ化(Shuffl e)し、Keyごとにデータを処理(Reduce)する。この一連の処理を複数のサーバーで並列実行することで処理を効率化している。

 MapReduceは全ての大規模分散処理システムに有効なフレームワークではない。データの特性や、実現したい処理がMapReduceのフレームワークにうまく当てはめることができるかどうかを見極めて活用する必要がある。

 2012年には、これまでの「蓄積=HDFS」+「処理=MapReduce」の構成から、リソース制御部分が切り出されたHadoop2系(branch-2)がリリースされている。このリソース制御機構はYARN(YetAnother Resource Negotiator)と呼ばれ、従来のHadoopに比べて(1)スケーラビリティーのさらなる向上、(2)スループット向上、(3)MapReduce以外の分散処理の実行─が可能になっている。

 Hadoopではサーバー1万台程度の大規模クラスターも構成可能となっている。また、最近のサーバーは大容量メモリーを搭載するとともに、サーバー間の高速通信を安価に実現できる。そのため、従来のMapReduceには向かない処理でも、複数の分散処理エンジンの中から実現したい処理に合ったものを選択することで、大量のデータをこれまで以上に活用することが可能になる。