図●ユーザーが記述したパイプライン処理を最適化した上で実行する
図●ユーザーが記述したパイプライン処理を最適化した上で実行する
[画像のクリックで拡大表示]

 米グーグルは2014年6月25日(米国時間)、ビッグデータ処理のクラウドサービスである「Google Cloud Dataflow」を発表した。グーグルの並列データ処理技術「MapReduce」の後継技術をベースにしたサービスで、バッチ処理だけでなくストリーム処理やリアルタイム処理を実行できることが特徴。25日から同社が米国サンフランシスコ市で開く開発者会議「Google I/O 2014」で発表した。

 今回の発表で最も興味深いのは、基調講演に登壇した同社のウルス・ヘルツル上級副社長が「我々は既に、社内でMapReduceをほとんど使っていない」と明らかにしたことだ。MapReduceはグーグルが2004年に論文発表した技術で、開発からすでに10年以上を経過している。グーグルは近年、並列パイプライン処理技術である「FlumeJava」や大規模ストリーム処理技術である「MillWheel」など新しい技術を次々と開発しており、今回発表したGoogle Cloud Dataflowも、FlumeJavaとMillWheelがベースになっているという。

 ヘルツル上級副社長はGoogle Cloud Dataflowの特徴として、「エクサバイト級のデータを処理できる」「パイプライン処理を簡単に記述できる」「ユーザーが記述したパイプライン処理をプラットフォーム側で最適化した上で実行する」「バッチ処理とストリーム処理を同じ文法で記述できる」といったことを挙げている。MapReduceでは、ユーザーは処理を「Map処理」と「Reduce処理」の二つの処理に落とし込んで記述する必要があった()。

 グーグルのMapReduceや「Google File System(GFS)」を手本に開発されたオープンソースソフトウエア(OSS)である「Hadoop」も近年、MapReduce以外の処理方式に対応し始めている(関連記事:「100倍高速」の並列処理エンジンも実現、SQLや機械学習へと用途広げるHadoop)。MapReduceに替わる汎用的な並列処理エンジンとして開発が進む「Tez」や「Spark」などで、これらは「DAG(有向非循環グラフ、Directed Acyclic Graph)」と呼ぶ技術を採用している。MapReduceの本家であるグーグル、そしてグーグルを追いかけているHadoopとも、「ポストMapReduce」と呼ぶべきフェーズに入ったといえそうだ。