ワークロードのオーケストレーション

通常、BigQuery タスクはより大きなワークロードの一部であり、外部タスクによってトリガーされてから、BigQuery オペレーションによってトリガーされます。ワークロードのオーケストレーションは、データ管理者、アナリスト、デベロッパーがこの一連のアクションを整理して最適化し、データリソースとプロセス間でシームレスな接続を作成するうえで役立ちます。オーケストレーション方法とツールは、これらの複雑なデータ ワークロードの設計、構築、実装、モニタリングに役立ちます。

オーケストレーション方法を選択する

オーケストレーション方法を選択するには、ワークロードがイベント ドリブンか、時間ドリブンか、またはその両方かを特定する必要があります。イベントは、データベース内のデータの変更やストレージ システムへのファイルの追加などの状態変化として定義されます。イベント ドリブンのオーケストレーションでは、ウェブサイトへのアクションがデータ アクティビティのトリガーとなることがあります。また、特定のバケットにランディングしたオブジェクトは、到着後すぐに処理する必要があります。時間ドリブンのオーケストレーションでは、1 日に 1 回、あるいは 1 時間ごとのレポートを作成できるだけの十分な頻度で、新しいデータの読み込みが必要になることがあります。イベント ドリブンのオーケストレーションと時間ドリブンのオーケストレーションは、オブジェクトをリアルタイムでデータレイクに読み込む必要がある場合に使用できますが、データレイクのアクティビティ レポートが生成されるのは 1 日ごとです。

オーケストレーション ツールを選択する

オーケストレーション ツールは、複数の Google Cloud サービスやサードパーティのサービスと BigQuery ジョブとの組み合わせや、複数の BigQuery ジョブの並列実行など、複雑なデータ ワークロードの管理に関連するタスクを支援します。各ワークロードには、正しいデータを使用して正しい順序でタスクが実行されるようにするための、依存関係とパラメータ管理に関する固有の要件があります。Google Cloud には、オーケストレーション方法とワークロードの要件に基づくいくつかのオーケストレーション オプションが用意されています。

ほとんどの場合、Dataform、Workflows、Cloud Composer、または Vertex AI Pipelines を使用することをおすすめします。比較については、次のチャートをご覧ください。

Dataform Workflows Cloud Composer Vertex AI Pipelines
焦点 Data transformation マイクロサービス ETL または ELT ML
複雑さ * ** *** **
ユーザー プロファイル データ アナリストまたは管理者 データ アーキテクト データ エンジニア データ アナリスト
コードタイプ JavaScript と SQL YAML または JSON Python Python
サーバーレスか はい はい フルマネージド はい
次の状況には適していない 外部サービスのチェーン データの変換と処理 低レイテンシまたはイベント ドリブンのパイプライン インフラストラクチャのタスク

以降のセクションでは、これらのオーケストレーション ツールとその他のツールについて詳しく説明します。

スケジュールされたクエリ

最も簡単なワークロード オーケストレーションの方法は、BigQuery で直接、繰り返し実行するクエリのスケジュールすることです。これは最も簡単なオーケストレーションの手法ですが、外部依存関係のない単純なクエリチェーンの場合に限定することをおすすめします。この方法でスケジュールするクエリは、GoogleSQL で記述する必要があり、データ定義言語(DDL)と、データ操作言語(DML)ステートメントを含めることができます。

オーケストレーション方法: 時間ドリブン

Dataform

Dataformプレビュー版)は、BigQuery で複雑なデータ変換タスクをオーケストレートする、無料の SQL ベースの独自の変換フレームワークです。元データを BigQuery に読み込むと、Dataform を使用してデータセットとテーブルの整理、テスト、バージョン管理されたコレクションを作成できます。BigQuery で Dataform を使用する方法については、SQL ワークフローを作成して実行するをご覧ください。

オーケストレーション方法: イベント ドリブン

Workflows

Workflows は、非常に低いレイテンシで HTTP ベースのサービスをオーケストレートするサーバーレス ツールです。これは、マイクロサービスのチェーン化、インフラストラクチャ タスクの自動化、外部システムとの統合、Google Cloud での一連のオペレーションの作成に最適です。BigQuery で Workflows を使用する方法については、複数の BigQuery ジョブの並列実行をご覧ください。

オーケストレーション メソッド: イベント ドリブンおよび時間ドリブン

Cloud Composer

Cloud Composer は、Apache Airflow 上に構築されたフルマネージド ツールです。抽出 / 変換 / 読み込み(ETL)ワークロードまたは抽出 / 読み込み / 変換(ELT)ワークロードに適しています。これは、複数の演算子タイプやパターン、他の Google Cloud プロダクトと外部ターゲット間のタスク実行をサポートしています。BigQuery で Cloud Composer を使用する方法については、Google Cloud でデータ分析 DAG を実行するをご覧ください。

オーケストレーション方法: 時間ドリブン

Vertex AI Pipelines

Vertex AI Pipelines は、ML ワークロードのオーケストレーション用に設計された、Kubeflow Pipelines をベースとするサーバーレス ツールです。トレーニング データからコードまで、モデルの開発とデプロイのすべてのタスクを自動化して接続し、モデルの動作状況を完全に把握できます。BigQuery で Vertex AI Pipelines を使用する方法については、予測用の BigQuery ML モデルのエクスポートとデプロイをご覧ください。

オーケストレーション方法: イベント ドリブン

Apigee Integration

Apigee Integration は、コネクタとデータ変換ツールを含む Apigee プラットフォームの拡張機能です。これは、Salesforce などの外部のエンタープライズ アプリケーションと統合する場合に最適です。BigQuery で Apigee Integration を使用する方法については、Apigee Integration と Salesforce トリガーのスタートガイドをご覧ください。

オーケストレーション メソッド: イベント ドリブンおよび時間ドリブン

Cloud Data Fusion

Cloud Data Fusion は、コーディングが不要な ELT / ETL パイプラインと 150 以上の事前構成済みのコネクタと変換を提供するデータ統合ツールです。BigQuery で Cloud Data Fusion を使用する方法については、MySQL から BigQuery へのデータの複製をご覧ください。

オーケストレーション メソッド: イベント ドリブンおよび時間ドリブン

Cloud Scheduler

Cloud Scheduler は、バッチストリーミングやインフラストラクチャ オペレーションなど、定義された時間で行われるジョブ用のフルマネージド スケジューラです。BigQuery で Cloud Scheduler を使用する方法については、Cloud Scheduler による Workflows のスケジューリングをご覧ください。

オーケストレーション方法: 時間ドリブン

Cloud Tasks

Cloud Tasks は、メイン ワークロードの外部で個別に実行できる、ジョブの非同期タスク配信用のフルマネージド サービスです。これは時間のかかるバックグラウンド オペレーションの委任や API 呼び出しレートの管理に最適です。BigQuery で Cloud Tasks を使用する方法については、Cloud Tasks キューにタスクを追加するをご覧ください。

オーケストレーション方法: イベント ドリブン

サードパーティ製ツール

CData や SnapLogic などの一般的なさまざまなサードパーティ ツールを使用して、BigQuery に接続することもできます。BigQuery Ready プログラムでは、検証済みパートナー ソリューションの一覧を提供しています。

メッセージング ツール

多くのデータ ワークロードでは、分離されたマイクロサービス間に追加のメッセージ接続が必要で、特定のイベントが発生した場合にのみ有効にする必要があります。Google Cloud には、BigQuery と統合するように設計された 2 つのツールが用意されています。

Pub/Sub

Pub/Sub は、データ統合パイプライン用の非同期メッセージング ツールです。サーバー イベントやユーザー操作などのデータを取り込んで分散するように設計されています。また、IoT デバイスからの並列処理やデータ ストリーミングにも使用できます。BigQuery で Pub/Sub を使用する詳しい方法については、Pub/Sub から BigQuery へのストリーミングをご覧ください。

Eventarc

Eventarc は、データ パイプライン全体の状態変化のフローを管理するイベント ドリブンのツールです。このツールには、自動エラー修正、リソースのラベル付け、画像レタッチなど、さまざまなユースケースがあります。BigQuery で Eventarc を使用する方法については、Eventarc を使用した BigQuery 処理パイプラインの構築をご覧ください。

次のステップ