Teradata からのデータ移行の概要

はじめに

BigQuery Data Transfer Service と特別な移行エージェントを組み合わせると、Teradata などのオンプレミスのデータ ウェアハウス システムから BigQuery にデータをコピーできます。このドキュメントでは、BigQuery Data Transfer Service を使用したデータ転送プロセスの概要について説明します。

データ転送は無料です。詳しくは、料金をご覧ください。

データ ウェアハウスの移行に BigQuery Data Transfer Service を使用するには、まず、ローカルのデータ ウェアハウスに接続するオンプレミスの移行エージェントをダウンロードします。次に、BigQuery Data Transfer Service で転送を構成します。

オンプレミスの移行エージェントは BigQuery Data Transfer Service とやり取りして、データ ウェアハウスから BigQuery にテーブルをコピーします。データ ウェアハウスから BigQuery への定期的なデータ読み込みは、BigQuery Data Transfer Service のウェブ UI を使用してモニタリングできます。

次の図は、Teradata などのオンプレミスのデータ ウェアハウスと BigQuery の間での全体的なデータの流れを簡略化して示しています。

BigQuery へのデータ抽出。

転送モードとオプション

移行にはそれぞれ固有の要件があるため、移行エージェントは次の方法でカスタマイズできるようになっています。Teradata から BigQuery へのデータ転送を設定する際は、主に 3 つの選択肢があります。

抽出方法

BigQuery Data Transfer Service では、Teradata から BigQuery へのデータ転送に関して 2 つの抽出方法をサポートしています。

  1. JDBC ドライバと FastExport 接続を使用した抽出。このモードでは、テーブルが AVRO ファイルのコレクションとしてローカル ファイル システム上の指定の場所に抽出されます。抽出されたファイルは、指定の Cloud Storage バケットにアップロードされます。転送が成功すると、ローカル ファイル システムからファイルが削除されます。
    • ローカル ファイル システムの容量に対する制限が厳格に適用され、抽出されたファイルがアップロードされてローカル ファイル システムから削除されるまで、抽出は一時停止されます。
    • ローカルのストレージ容量がかなり制約されている場合、または TPT を使用できない場合は、この抽出方法を使用してください。
    • JDBC ドライバと FastExport による抽出は、デフォルトの抽出方法です。
  2. Teradata Parallel Transporter(TPT)の tbuild ユーティリティを使用した抽出。このモードでは、エージェントがパーティションで分散された行を使用して抽出バッチの計算を試みます。バッチごとに TPT 抽出スクリプトが発行されて実行され、一連のパイプ区切りファイルが生成されます。各バッチが抽出されるたびに、ファイルが指定の Cloud Storage バケットにアップロードされます。アップロードが完了すると、そのファイルがローカル ファイル システムから削除されます。ローカル ファイル システムの容量には制限が適用されません。したがって、Teradata テーブルの最大のパーティションを抽出するのに十分な容量がローカル ファイル システムにあることを確認する必要があります。
    • TPT を使用して抽出し、スキーマをカスタマイズしてパーティションの列を指定することをおすすめします。これにより、最短時間でデータを抽出できます。

抽出方法の指定について詳しくは、転送の設定手順の移行エージェントの構成セクションをご覧ください。

カスタム スキーマ ファイル

スキーマ ファイルは、データベース オブジェクトを記述する JSON ファイルです。スキーマには、一連のデータベースが含まれ、各データべースに一連のテーブルが含まれます。各テーブルには、一連の列が含まれます。各列には type フィールドがあります。BigQuery 内の列には、このフィールドで指定されている型が割り当てられます。

スキーマ ファイル内の各オブジェクトには name フィールドがあります。BigQuery 内のオブジェクトには、このフィールドで指定されている名前が割り当てられます。各オブジェクトには originalName フィールドもあります。このフィールドには、Teradata データベース内の対応するオブジェクトの名前を示します。

BigQuery Data Transfer Service は、Teradata から BigQuery へのデータ転送中に自動的にスキーマを検出してデータを変換します。必要に応じて、カスタム スキーマ ファイルを指定することもできます。場合によっては、スキーマをカスタマイズすることを強くおすすめします。例:

  • テーブルに関する追加情報(スキーマが指定されていないと移行中に損失してしまうパーティショニングなど)を含めるには、カスタム スキーマ ファイルが特に役立ちます。カスタム スキーマ ファイルのオプションを使用する方法についての詳細をご覧ください。
  • 任意のオブジェクトの name フィールドや、任意の列の usageType 配列をデータ転送中に転送するには、フィールドを転送するためのカスタム スキーマ ファイルを提供するという方法を選択できます。
  • 詳細については、カスタム スキーマ ファイルをご覧ください。

オンデマンド転送または増分転送

Teradata データベース インスタンスから BigQuery にデータを移行する際に、BigQuery Data Transfer Service では 1 回限りのスナップショット データ転送(「オンデマンド転送」)と定期的に繰り返される新規および更新された行の転送(「増分転送」)の両方を使用できます(増分転送はベータ版です)。転送の設定時にスケジュールのオプションで、転送をオンデマンド転送または増分転送として指定します。

  • データのオンデマンド転送
    • テーブルのサイズが非常に大きく、パフォーマンス向上のために TPT を使用して抽出できる場合、Teradata テーブルをパーティショニングしてパーティションごとに抽出できるようにすることをおすすめします。詳細については、カスタム スキーマ ファイルをご覧ください。
    • テーブルのサイズが小さい場合や TPT を使用できない場合は、基本的な手順に従ってください。この場合、スキーマのカスタマイズは必要ありません。
  • データの増分転送
    • Teradata から BigQuery に定期的に変更を移行するには、増分モードを使用できます。定期的に Teradata の新しいレコードと変更されたレコードが BigQuery テーブルに追加されます。
    • この方法を使用する場合、スキーマをカスタマイズして COMMIT_TIMESTAMP 列にアノテーションを追加する必要があります。
    • 増分転送を設定する際は、特定の条件が適用されます。詳細については、増分転送をご覧ください。

ロケーションに関する留意事項

  • データを読み込む場合は、Cloud Storage バケットを同じリージョンに配置する
    • BigQuery Data Transfer Service データセットがマルチリージョン ロケーションにある場合、読み込むデータを格納する Cloud Storage バケットは、同じロケーションのリージョン バケットまたはマルチリージョン バケットに存在していなければなりません。たとえば、BigQuery Data Transfer Service データセットが EU にある場合、Cloud Storage バケットは EU のリージョン バケットまたはマルチリージョン バケットに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、Cloud Storage バケットは同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 例外: データセットが米国のマルチリージョン ロケーションにある場合、任意のリージョンまたはマルチリージョン ロケーションにある Cloud Storage バケットからデータを読み込むことができます。

    料金

    BigQuery Data Transfer Service を利用したデータ ウェアハウス インスタンスの移行には料金がかかりません。

    • データの抽出、Cloud Storage バケットへのアップロード、BigQuery へのデータの読み込みも無料です。
    • データが BigQuery にアップロードされたあと、Cloud Storage バケットから自動で削除されることはありません。余分なストレージ コストがかからないようにするため、Cloud Storage バケットからデータを削除することをおすすめします。Cloud Storage の料金をご覧ください。
    • 読み込みジョブに対する標準の BigQuery の割り当てと上限が適用されます。

    • データが BigQuery に転送されると、BigQuery のストレージクエリの標準料金が適用されます。

    • 詳細については、転送の料金ページをご覧ください。

    制限事項

    • 1 回限りのオンデマンド転送は完全にサポートされています。増分転送はベータ版です。増分転送での DD / DML オペレーションは部分的にサポートされています。
    • データはローカルのファイル システム(オンプレミス)上のフォルダに抽出されます。十分な空き容量があることを確認してください。
      • FastExport による抽出モードを使用する場合、使用する最大ストレージ容量と、移行エージェントによって厳格に適用される制限を設定できます。Teradata から BigQuery への転送を設定する際に、移行エージェントの構成ファイルmax-local-storage の値を設定します。
      • TPT による抽出方法を使用する場合、ファイル システムに十分な空き容量(Teradata インスタンスの最大のテーブル パーティション以上の容量)があることを確認してください。
    • BigQuery Data Transfer Service は、スキーマを自動的に変換して(カスタム スキーマ ファイルが指定されていない場合)、Teradata データを BigQuery に転送します。データは Teradata の型から BigQuery の型にマッピングされます。
    • ローカル ファイル システムからアップロードされて BigQuery に読み込まれたファイルが Cloud Storage バケットから自動で削除されることはありません。ストレージの費用が余分にかからないよう、BigQuery に読み込まれたあとはデータを Cloud Storage バケットから削除することを検討してください。料金をご覧ください。
    • 抽出の速度は JDBC 接続によって制限されます。
    • Teradata から抽出されたデータは暗号化されません。ローカル ファイル システムに抽出されたファイルへのアクセスを制限するために適切な措置を講じてください。また、Cloud Storage バケットが適切に保護されていることを確認します。

    • ストアド プロシージャ、保存されたクエリ、ビュー、ユーザー定義の関数などの他のデータベース リソースは転送されません。これらのリソースは本サービスの対象外です。

    次のステップ

    このページは役立ちましたか?評価をお願いいたします。

    フィードバックを送信...

    BigQuery Data Transfer Service