[Datastream for BigQuery] BigQuery へのデータ同期頻度を確認・変更する方法を教えてください
困っていた内容
Datastream を使用した BigQuery へのデータ更新頻度の確認・変更方法について教えてください。
Datastream を利用して Cloud SQL for PostgreSQL から BigQuery へデータを連携しています。BigQuery のテーブルが最新のデータに更新される頻度を確認したいのですが、その設定や確認方法がわかりません。
BigQuery のデータは Looker Studio でダッシュボード化しており、データドリブンな意思決定に活用しているため、データの鮮度が非常に重要です。Datastream のどの設定で更新頻度を確認・変更できるのか教えてください。
回答
Datastream の書き込みモードが "マージ書き込みモード" の場合は、設定 staleness limit において Datastream に送信されたデータが BigQuery に反映されるまでの時間の上限が指定可能です。Cloud SQL for PostgreSQL から Datastream へのデータ同期は、PostgreSQL の論理レプリケーション機能を使用しているため、この区間のデータ更新頻度は論理レプリケーションの仕様に依存します。
やってみた
実際に Google Cloud コンソールにおいて設定箇所を確認してみます。
既存の Datastream を設定変更する場合
- Datastream のページに移動し対象のストリームを選択します
- 画面上部にある Edit のプルダウンメニューから Edit destination configuration を選択します
- 画面を下へスクロールし項目 staleness limit のプルダウンボタンを押下します
- 短い時間を選択するほど、Datastream から BigQuery へのデータ更新頻度が高くなります
Datastream を新規作成する場合
Datastream を新規作成する場合は、ストリーム作成の手順 5 Configure destination において、書き込みモードと共に指定します。
- 画面を下へスクロールします
- 書き込みモードはマージ(Merge)を選択します
追記専用の書き込みモード "Append-only write mode" においては、staleness limit はサポートされていません。(2025/05/05 時点)
- 0 seconds を選択すると最も短い間隔でデータが更新されます
※ データ更新が頻繁に行われることで費用と BigQuery のクエリレイテンシーが増加する可能性があるため、ワークロードに合わせた設定をしてください。
まとめ
設定 staleness limit によって、BigQuery へのデータ更新頻度が変更できます。低い値を選択することで最新のデータを BigQuery に反映できますが、頻繁な更新によりコストが増加します。即時のデータ反映が必要ではない場合、更新頻度を下げてコストを抑える運用も検討してください。
この記事がどなたかのお役に立てば幸いです。