Dataflowは、Google Cloud Platformエコシステム内でApache Beamパイプラインを実行するためのフルマネージド型サービスである。Dataflowは、オートスケーリング、動的なワークロードの再調整、マネージドな実行環境などの機能を提供し、Apache Beamパイプラインを実行するためのフルマネージド型サービスを提供する。
Dataflowは大規模かつ継続的なデータ処理ジョブに適しており、Google Cloud Platform上のGoogleのビッグデータ・アーキテクチャの主要なコンポーネントの一つである。
Dataflowのアーキテクチャの根幹は、インフラストラクチャの管理を抽象化し、開発者がデータ処理タスクのロジックに専念できるように設計されている。Apache Beamのソフトウェア開発キット(SDK)を使用して記述されたパイプラインが送信されると、Dataflowはこの高レベルの定義を最適化されたジョブグラフに変換する。その後、サービスはGoogle Compute Engineのワーカー群をプロビジョニングして管理し、高度に並列化されフォールトトレラントな方法でこのグラフを実行する。このサーバーレスアプローチは、ワーカーの数(水平)とワーカーあたりのリソース(垂直)の両方のインテリジェントなオートスケーリングと組み合わされることで、ジョブが任意の時点で必要な正確な計算能力を持つことを保証し、パフォーマンスとコストの両方を最適化する。
同サービスとGoogle Cloudエコシステムとの深い統合により、単なるデータ移動にとどまらない様々なユースケースに対応する強力なツールとなっている。リアルタイム分析において、DataflowはCloud Pub/Subから無制限のデータストリームを取り込み、複雑な変換を行い、その結果をBigQueryに読み込んで即座にクエリを実行することができる。機械学習のワークフローでは、Cloud Storageに保存された大規模なデータセットの前処理と変換に一般的に使用され、Vertex AIでのモデルのトレーニングに備える。この汎用性により、クラウド内での現代的なETL(抽出・変換・読み込み)操作、ストリーミング分析、および大規模なデータ準備のための中心的な処理エンジンとなっている。
2014年6月、Google Cloud Dataflowが発表される。2015年4月にオープンベータ版として一般公開された。2016年1月、Googleは基盤となるSDK、ローカルランナーの実装、およびGoogle Cloud Platformのデータサービスにアクセスするための一連のIO(データコネクタ)をApacheソフトウェア財団に寄贈した。寄贈されたコードは、Apache Beamの当初の基盤となった。2019年、「Cloud Dataflow」から「Dataflow」へ名前が変更された。
2022年8月には、複数のリージョンにおいて特定のDataflowストリーミングパイプラインでユーザータイマーが破損する障害が発生したが、後に解決された。2023年から2024年にかけて、リリースノートやサービスの稼働状況の履歴に記録されているように、Dataflowに影響を与える様々なその他のアップデートや障害が発生している。
Dataflow SDKのApacheソフトウェア財団への寄贈は重要な転換点となり、バッチおよびストリーミングデータの両方のパイプラインを定義するための統合されたオープンソースのプログラミングモデルとしてApache Beamが確立された。この戦略的な動きにより、パイプラインの定義と実行エンジンが切り離された。その結果、開発者はGoogleのエコシステムに縛られないポータブルなデータ処理ロジックを記述できるようになった。Beamパイプラインは、Apache Flink、Apache Spark、そしてもちろん高度に最適化されたDataflowサービスを含む様々なランナー上で実行可能であり、柔軟性とデータ処理への投資の将来性を保証する。
Dataflowは、バッチ処理とストリーミング処理の両方のデータパイプラインをサポートしている。ワークロードに応じたリソースのプロビジョニング、データのシャーディング、スケーリングを自動的に処理し、大規模なデータ操作に必要な手動の構成作業を削減する。
Dataflowは、金融、広告、IoTといった業界の企業向けに、ETL(抽出・変換・読み込み)データパイプライン、リアルタイム分析、イベントストリーム処理に使用されている。