はじめに

以前に、 Google Cloud の Datastream の構成パターン、設定ガイドについて解説しましたが、今回は、2024年6月19日のアップデートで、Datastream を利用した BigQuery への書き込みモードという設定項目が設けられました。今回は設けられた設定の Merge と Append-only についての解説と、Appen-Onely の検証結果を紹介します。

過去の Datastream に関する記事は以下を参照してください。
Google Cloud Datastream で構築するデータ分析基盤:構成パターンの解説
Datastream で実現するソースデータベースから BigQuery へのデータストリーミング: 設定ガイド

アップデート内容

今まで書き込みモードというものは存在せず、 Merge モードとして動作しておりました。それに新たに履歴情報を保持することが可能な Append-only モードが追加されました。

Datastream の Append-only モード

Merge モードの内容

Merge モードでは、今までの書き込みと同じで、行が削除された場合、その行は BigQuery に反映され、追加された場合もレコード情報は追加され、また更新も行われます。

Append-only モードの内容

こちらが今回のアップデート内容となり、Append-only モードでは、行の削除は実際には行われず、DELETE フラグが立てられ、実際にレコードは消えない状態となります。また、行の追加が行われたものは INSERT としてマークされます。

実際にやってみる

BigQuery 上のカラム内容の違い

書き込みモードの違いにより、以下のような Datastream 用の列に差分がありました。

Merge モード

  • datastream_metadata.uuid
  • datastream_metadata.source_timestamp

Merge モードのDatastream のカラム

Append-only モード

  • datastream_metadata.uuid
  • datastream_metadata.source_timestamp
  • datastream_metadata.change_sequence_number
  • datastream_metadata.change_type
  • datastream_metadata.sort_keys

Append-only モードの Datastream のカラム

差分内容

新たに追加されたカラムには以下の内容が含まれます。
change_sequence_number: 変更番号
change_type: INSERT、DELETE など更新情報
sort_keys: binlog の情報

実際にやってみます

列を追加し、追加結果を確認します。

BigQueryへの行追加

追加されたカラム情報が入り、 change_type に INSERT として情報が追加されていることがわかります。

まとめ

今回は BigQuery へのデータ連携における書き込みモードのアップデートされ Appen-Only の選択肢が追加されたことについて記載しました。これにより、今まで要望があったであろう履歴情報を保持して連携するケースが容易になりました。 Datastream の今回の機能アップデートにより、Datastream を選択する理由がまた1つ増えたのではないでしょうか。この記事が皆様のお役に立てれば幸いです。