送信先としての BigQuery

このページでは、BigQuery の宛先の概要について説明します。BigQuery にデータを複製する際の Datastream の書き込み動作と既知の制限事項について説明します。

書き込みの動作

  • BigQuery にデータをストリーミングする際のイベントの最大サイズは 20 MB です。

  • ストリームを構成する際に、Datastream が変更データを BigQuery に書き込む方法を選択できます。詳細については、 書き込みモードを構成するをご覧ください。

テーブルのメタデータ

Datastream は、BigQuery の宛先に書き込まれる各テーブルに datastream_metadata という名前の STRUCT 列を追加します。

[マージ] 書き込みモード

ソースのテーブルに主キーがある場合、列には次のフィールドが含まれます。

  • UUID このフィールドには STRING データ型が含まれます。
  • SOURCE_TIMESTAMP このフィールドには INTEGER データ型が含まれます。

テーブルに主キーがない場合、列には IS_DELETED という追加のフィールドが含まれます。このフィールドには BOOLEAN データ型があり、Datastream が宛先にストリーミングするデータがソースの DELETE オペレーションに関連付けられているかどうかを示します。主キーのないテーブルは追加専用です。

[追加専用] 書き込みモード

datastream_metadata 列には、主キーの有無にかかわらず、テーブルに同じフィールドが含まれます。

  • UUID このフィールドには STRING データ型が含まれます。
  • SOURCE_TIMESTAMP このフィールドには INTEGER データ型が含まれます。
  • CHANGE_SEQUENCE_NUMBER このフィールドには STRING データ型が含まれます。 これは、Datastream が各変更イベントに使用する内部シーケンス番号です。
  • CHANGE_TYPE このフィールドには STRING データ型が含まれます。変更イベントのタイプ(INSERTUPDATE-INSERTUPDATE-DELETEDELETE)を示します。
  • SORT_KEYS: このフィールドには、STRING 値の配列が含まれます。この値を使用して、変更イベントを並べ替えることができます。

BigQuery の費用を管理する

BigQuery の費用は、Datastream とは別に請求されます。BigQuery の費用を管理する方法については、 BigQuery CDC の料金をご覧ください。

費用管理のベスト プラクティス

Datastream で BigQuery を宛先として使用する場合は、次の費用管理のベスト プラクティスを検討してください。

既知の制限事項

宛先として BigQuery を使用する場合の既知の制限事項は次のとおりです。

  • デフォルトでは、Datastream は、主キーなしで BigQuery にすでに複製されているテーブルに主キーを追加したり、主キーありで BigQuery に複製されているテーブルから主キーを削除したりすることをサポートしていません。このような変更を行う必要がある場合は、Google サポートにお問い合わせください。すでに主キーがある ソーステーブルの主キー定義を変更する方法については、問題の診断 をご覧ください
  • BigQuery の主キーは、次のデータ型である必要があります。

    • DATE
    • BOOL
    • GEOGRAPHY
    • INT64
    • NUMERIC
    • BIGNUMERIC
    • STRING
    • TIMESTAMP
    • DATETIME

    サポートされていないデータ型の主キーを含むテーブルは、Datastream によって複製されません。

  • BigQuery では、.$/@、 または + 文字を含むテーブル名はサポートされていません。Datastream は、宛先テーブルの作成時にこのような文字をアンダースコアに置き換えます。

    たとえば、ソース データベースの table.name は BigQuery では table_name になります。

    BigQuery のテーブル名の詳細については、テーブル の命名をご覧ください。

  • BigQuery は、4 つを超えるクラスタリング列はサポートしていません。主キー列が 5 つ以上あるテーブルを複製する場合、Datastream は 4 つの主キー列をクラスタリング列として使用します。

  • Datastream は、PostgreSQL 無限大型などの範囲外の日時リテラルを次の値にマッピングします。

    • 正の DATE9999-12-31 の値に
    • 負の DATE0001-01-01 の値に
    • 正の TIMESTAMP9999-12-31 23:59:59.999000 UTC の値に
    • 負の TIMESTAMP0001-01-01 00:00:00 UTC の値に
  • BigQuery では、主キーが FLOAT または REAL データ型のテーブルのストリーミングはサポートされていません。このようなテーブルは複製されません。 BigQuery の日付型と範囲の詳細については、データ 型をご覧ください。

  • ソースが Salesforce または Salesforce Marketing Cloud (プレビュー版) の場合、 [スキーマごとのデータセット] 構成オプションはサポートされていません。

次のステップ