GoogleのCloud DataflowがGAに到達

8月12日にGoogleは,同社のビッグデータ処理サービスがGA(General Availability)に達したことを発表した。このマネージドサービスは,ビッグデータソリューションが処理するデータを事前に操作する,パイプラインを構築するためのものだ。このCloud Dataflowでは,統合モデルでストリーミングとバッチプログラムの両方をサポートする。

Cloud Dataflowサービスは,MapReduce, Flume, MillwheelなどのGoogleの内部プロジェクトを発展させたものだ。2014年6月のGoogle I/Oで早期アクセスプレビューが初めてリリースされた後,アルファ版およびベータ版がそれぞれ2014年12月と2015年4月にリリースされている。

大規模データをクラウドやオンプレミスのデータプラットフォームに取り入れる前に処理する能力は,企業にとって共通の課題である。エンリッチメントやシェーピング,フィルタリング,コンソリデーション,コンポジションといった,ETL的な操作が必要となることも多い。GoogleのCloud Dataflowプラットフォームは,Googleクラウドプラットフォームのユーザを対象に,これらの課題に対処する目的で設計された。オンプレミスでのビッグデータワークロード実行を希望する企業には,Google SDKあるいはサードパーティソリューションを使用することで,データパイプラインの構築が可能である。

Google Dataflowは,ユーザが所有するクラスタのメモリ容量上の能力を越えたデータ処理を要するような,大規模な計算のシナリオでも使用できる。Cloud Dataflowの導入により,このようなジョブを並列データ処理タスクに分割して,完全に並行かつ独立的に実行することが可能になるのだ。

Googleが主張するメリットは次のようなものだ。

  • リソースのオンデマンド配置に加えて,インテリジェントな自動スケール機能と処理の自動最適化を備えたNoOpsモデル。
  • 統合された関数型プログラミングモデルにより,バッチベースおよびストリームベースの両方の処理をサポート。
  • ユーザおよびサードパーティによる独自の統合シナリオを実現する,拡張性のあるオープンソースSDK。

GoogleのプロダクトマネージャであるEric Schmidt氏は,Dataflowサービスを次の2つの方法に分類している – “バッチあるいはストリーミング形式の並列データ処理パイプライン構築のためのSDKの集合,および最適化された並列データ処理パイプライン実行のための完全にマネージドなサービス”。

図の引用元: http://googlecloudplatform.blogspot.ca/2015/08/Announcing-General-Availability-of-Google-Cloud-Dataflow-and-Cloud-Pub-Sub.html 

Cloud Dataflowサービスは,他の分析サービスやプラットフォームに配布するデータを事前に取得し,変換,分析する手段として使用可能である。このような統合ポイントとしては,他にも,GoogleのBig QueryやCloud Datastore,Cloud Pub/Subメッセージング,あるいはサードパーティの分析サービスなどがある。

Googleは,プラットフォームサービスを拡張するためにspringML, Cloudera, dataArtisans, Salesforce.comなどのパートナーと協力している。例として,Cloud DataflowとSalesforce.com Wave Analyticsを使用しているユーザであれば,エンドツーエンドのプラットフォームを使用することにより,データの発生源に関係なく,大容量データを解析してユーザインタラクションを最適化することが可能になる。

自身でのソリューション構築を志向する組織には,オープンソースのSDKで,バウンド形式およびアンバウンド形式のデータコレクションを格納可能な,PCollectionという特殊なコレクションクラスが提供される。GoogleはこのPCollectionについて,“実質的にサイズが無制限”であり,PTransformと組み合わせることで,ソースシステムとデスティネーションシステム間のデータ転送に使用可能だ,と説明している。PCollectionクラスへのデータのロードに使用するI/O APIでは,テキストやAvroファイル,ビッグクエリテーブルなど,さまざまなファイル形式がサポートされている。

Google Dataflowでは,開発者やサービス時間,作業時間,シャッフルされたバイト数から取得した計算グラフに応じた,ジョブ単位の課金が行われる予定である。これら費用に加えて,出力結果を使用するBigQueryなどのGoogleサービスについても,別途請求が行われることになる。

この分野には,AmazonやMicrosoftといった競合サービスがいくつか存在する。AmazonはKinesisプラットフォームの提供によって,またMicrosoftもAzure Data Factoryプラットフォームで,同様のユースケースに対処している。