BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google、従来よりもサービスベースのアーキテクチャ”Runner V2 to Dataflow”を新たに発表

Google、従来よりもサービスベースのアーキテクチャ”Runner V2 to Dataflow”を新たに発表

原文(投稿日:2020/08/30)へのリンク

Google Cloud Dataflowは、Google Cloud Platform(GCP)内でApache Beamパイプラインを実行するための、完全マネージドなサービスである。先日のブログ記事でGoogleは、Runner v2 to Dataflowという、これまでよりもサービスベースのアーキテクチャを新たに発表した。言語SDKのすべてを対象とする多言語サポートも含まれる。

セカンドバージョンとして再設計されたApache BeamのDataflowランナでは、次のものが提供される。

  • 複数言語サポート
  • Pythonのステータスとタイマのサポートを含む、SDK全体を通じた等価性の向上
  • Kafka I/Oなどのクロス言語フレームワークを使うことにより、さらなるI/Oをpython開発者に提供
  • カスタムコンテナのサポート
  • SplittableDoFnsを使用したスループット向上
  • パフォーマンス向上

複数言語サポートでは、開発チームがそれぞれ選択した言語で記述したコンポーネントを組織内で共有し、単一のハイパフォーマンスな分散処理パイプラインに統合することが可能になる、とGoogleのブログ記事には述べられている。Runnerのセカンドバージョンまで、これは不可能だった。 

Runner V2 has a more efficient and portable worker architecture rewritten in C++, which is based on Apache Beam's new portability framework. さらにGoogleは、このフレームワークを、バッチジョブ用のDataflow Shuffle、ストリーミングジョブ用のStreaming Engineとパッケージにすることで、言語用SDKすべてに共通の標準機能セットを提供すると同時に、バグ修正やパフォーマンス改善を共通化している。アーキテクチャ内で最も重要なコンポーネントは、パイプライン全体の実行と各SDKへのアクセスを行うワーカVM(Virtual Machine)だ。

 
出典: https://cloud.google.com/blog/products/data-analytics/multi-language-sdks-for-building-cloud-pipelines

ブログ記事では、GoogleのソフトウェアエンジニアであるHarsh Vardhan、Chamrikara Jayalath両氏が次のように書いている。

機能や変換の不足している言語があるならば、SDK間で複製して同一性を確保する必要があります。そうでなければ、機能のカバレッジにギャップが生じて、Apache Beam Go SDKのような新しいSDKほど機能が少なかったり、特定のシナリオでパフォーマンス特性が劣ったりする可能性が生じます。

現時点では、Dataflow Runner v2はPythonストリーミングパイプラインで使用することができる。Googleはこの新しいRunnerを、すべての新パイプラインのデフォルトとして有効にする前に、現在の非運用系パイプラインでテストするように推奨している。さらに、公開中のチュートリアルを使用すれば、Dataflow PythonパイプラインからKafkaのトピックにアクセスすることも可能だ。最後に、資料によると、課金モデルはまだ決定していないということである。

この記事に星をつける

おすすめ度
スタイル

BT