すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:Db2 for LUWデータベースのデータをPolarDB-X 2.0インスタンスに同期する

最終更新日:Oct 18, 2024

このトピックでは、data Transmission Service (DTS) を使用して、Db2 for LUWデータベースからPolarDB-Xインスタンスにデータを同期する方法について説明します。

前提条件

  • ソースDb2 for LUWデータベースとターゲットPolarDB-Xインスタンスが作成されます。 サポートされているデータ同期シナリオの詳細については、「データ同期シナリオの概要」をご参照ください。

    説明

    PolarDB-XインスタンスはMySQL 5.7と互換性がある必要があります。

  • ターゲットデータベースの使用可能なストレージ容量は、ソースデータベースのデータの合計サイズよりも大きくなります。

使用上の注意

説明
  • スキーマ同期中、DTSはソースデータベースからターゲットデータベースに外部キーを同期します。

  • 完全データ同期および増分データ同期中、DTSはセッションレベルで外部キーに対する制約チェックおよびカスケード操作を一時的に無効にします。 データ同期中にソースデータベースに対してカスケード更新および削除操作を実行すると、データの不整合が発生する可能性があります。

制限タイプ

説明

ソースデータベースの制限

  • 帯域幅の要件: ソースデータベースがデプロイされるサーバーには、十分なアウトバウンド帯域幅が必要です。 そうでなければ、データ同期速度は低下する。

  • 同期するテーブルには、PRIMARY KEYまたはUNIQUE制約が必要であり、すべてのフィールドが一意である必要があります。 そうでない場合、宛先データベースは重複するデータレコードを含み得る。

  • 同期するオブジェクトとしてテーブルを選択し、テーブルや列の名前の変更など、ターゲットデータベース内のテーブルを変更する場合は、1つのデータ同期タスクで最大5,000のテーブルを同期できます。 タスクを実行して5,000を超えるテーブルを同期すると、リクエストエラーが発生します。 この場合、複数のタスクを構成してテーブルをバッチで同期するか、タスクを構成してデータベース全体を同期することをお勧めします。

  • データログ機能を有効にする必要があります。 それ以外の場合、事前チェック中にエラーメッセージが返され、データ同期タスクを開始できません。

    説明

    増分データ同期のみを実行する場合、ソースデータベースのデータログを24時間以上保存する必要があります。 完全データ同期と増分データ同期の両方を実行する場合、ソースデータベースのデータログは少なくとも7日間保存する必要があります。 そうしないと、DTSはデータログの取得に失敗し、タスクが失敗する可能性があります。 例外的な状況では、データの不整合または損失が発生します。 完全なデータ同期が完了したら、保持期間を24時間以上に設定できます。 上記の要件に基づいて、データログの保持期間を設定してください。 そうしないと、DTSのサービスレベル契約 (SLA) に記載されているサービスの信頼性またはパフォーマンスが保証されません。

  • テーブルを同期するには、変更データキャプチャ (CDC) 機能を有効にする必要があります。

その他の制限

  • DTSは、Db2 for LUWのCDCレプリケーション技術に基づいて、Db2 for LUWデータベースの増分データをターゲットデータベースに同期します。 しかし、CDC複製技術には独自の限界がある。 詳細については、「SQLレプリケーションの一般的なデータ制限」をご参照ください。

  • データを同期する前に、ソースデータベースとターゲットデータベースのパフォーマンスに対するデータ同期の影響を評価します。 オフピーク時にデータを同期することを推奨します。 最初の完全データ同期中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これにより、データベースサーバーの負荷が増加する可能性があります。

  • 初期の完全データ同期中に、同時INSERT操作により、ターゲットデータベースのテーブルが断片化されます。 したがって、最初の完全データ同期が完了した後、ターゲットデータベースの使用されるテーブルスペースのサイズは、ソースデータベースのサイズよりも大きくなります。

  • データ同期中は、DTSのみを使用してデータをターゲットデータベースに書き込むことをお勧めします。 これにより、ソースデータベースとターゲットデータベース間のデータの不一致が防止されます。 データ同期が完了したら、data Management (DMS) を使用してDDLステートメントをオンラインで実行できます。 詳細については、「ロックフリーDDL操作の実行」をご参照ください。

特別なケース

ソースDb2 for LUWデータベースは自己管理データベースです。 Db2 for LUWデータベースのデータを同期する場合は、次の項目に注意してください。

  • データ同期タスクの実行中にソースデータベースでプライマリ /セカンダリの切り替えを実行すると、タスクは失敗します。

  • DTSは、同期先データベースの最新の同期データレコードのタイムスタンプとソースデータベースの現在のタイムスタンプに基づいて同期レイテンシを計算します。 データ操作言語 (DML) 操作がソースデータベースで長時間実行されない場合、同期レイテンシが不正確になる可能性があります。 同期レイテンシが高すぎる場合は、ソースデータベースでDML操作を実行してレイテンシを更新できます。

    説明

    同期するオブジェクトとしてデータベース全体を選択した場合は、ハートビートテーブルを作成できます。 ハートビートテーブルは1秒ごとに更新されるか、データを受信します。

課金

同期タイプタスク設定料金
スキーマ同期と完全データ同期無料です。
増分データ同期有料。 詳細については、「課金の概要」をご参照ください。

サポートしている同期トポロジ

  • 一方向の 1 対 1 の同期

  • 一方向の 1 対多の同期

  • 一方向のカスケード同期

  • 一方向の多対 1 の同期

DTSでサポートされている同期トポロジの詳細については、「同期トポロジ」をご参照ください。

同期可能なSQL操作

操作タイプ

SQL文

DML

挿入、更新、および削除

準備

手順

  1. に移動します。 新しいDTSコンソールのデータ同期タスクページ

    説明

    にログインすることもできます。 DMSコンソールを使用します。 上部のナビゲーションバーで、ポインタを [データ開発] に移動し、[DTS (DTS)] > [データ同期] を選択します。

  2. 上部のナビゲーションバーで、データ同期タスクを作成するリージョンを選択します。

  3. [タスクの作成] をクリックします。 [データ同期タスクの作成] ページで、ソースデータベースとターゲットデータベースを設定します。 次の表にパラメーターを示します。

    セクション

    パラメーター

    説明

    非該当

    タスク名

    DTSタスクの名前。 タスク名は自動生成されます。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。 一意のタスク名を指定する必要はありません。

    ソースデータベース

    データベースタイプ

    移行元ディスクのタイプを設定します。 [DB2 LUW] を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。 ソースデータベースの配置場所に基づいて値を選択します。 この例では、ECS上の自己管理データベースが選択されています。

    説明

    ソースデータベースが自己管理データベースの場合、データベースのネットワーク環境を展開する必要があります。 詳細については、「準備の概要」をご参照ください。

    インスタンスリージョン

    ソースDb2 for LUWデータベースが存在するリージョン。

    ECSインスタンスID

    Db2 for LUWデータベースがデプロイされているElastic Compute Service (ECS) インスタンスのID。

    ポート番号

    ソースDb2 for LUWデータベースのサービスポート番号。 デフォルト値: 50000

    データベース名

    同期するオブジェクトが属するソースDb2 for LUWデータベースの名前。

    データベースアカウント

    ターゲットDb2 for LUWインスタンスのデータベースアカウント。 アカウントに必要な権限の詳細については、「準備」をご参照ください。

    データベースパスワード

    データベースインスタンスへのアクセスに使用されるパスワード。

    宛先データベース

    データベースタイプ

    移行先インスタンスの ID を設定します。 [PolarDB-X 2.0] を選択します。

    アクセス方法

    ターゲットインスタンスのアクセス方法。 [Alibaba Cloudインスタンス] を選択します。

    インスタンスリージョン

    ターゲットPolarDB-Xインスタンスが存在するリージョン。

    インスタンスID

    移行先のPolarDB-XクラスターのID。

    データベースアカウント

    移行先PolarDB-Xインスタンスのデータベースアカウント。 アカウントに必要な権限の詳細については、「準備」をご参照ください。

    データベースパスワード

    データベースインスタンスへのアクセスに使用されるパスワード。

  4. ページの下部で、接続性をテストして続行.

    ソースまたはターゲットデータベースがAlibaba Cloudデータベースインスタンス (ApsaraDB RDS for MySQLインスタンスやApsaraDB for MongoDBインスタンスなど) の場合、DTSは自動的にDTSサーバーのCIDRブロックをインスタンスのホワイトリストに追加します。 ソースデータベースまたはターゲットデータベースがElastic Compute Service (ECS) インスタンスでホストされている自己管理データベースの場合、DTSサーバーのCIDRブロックがECSインスタンスのセキュリティグループルールに自動的に追加されます。ECSインスタンスがデータベースにアクセスできることを確認する必要があります。 データベースが複数のECSインスタンスにデプロイされている場合、DTSサーバーのCIDRブロックを各ECSインスタンスのセキュリティグループルールに手動で追加する必要があります。 ソースデータベースまたはターゲットデータベースが、データセンターにデプロイされているか、サードパーティのクラウドサービスプロバイダーによって提供される自己管理データベースである場合、DTSサーバーのCIDRブロックをデータベースのホワイトリストに手動で追加して、DTSがデータベースにアクセスできるようにする必要があります。 詳細については、「DTSサーバーのCIDRブロックの追加」トピックの「DTSサーバーのCIDRブロック」セクションをご参照ください。

    警告

    DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを同期する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。

  5. 同期するオブジェクトと詳細設定を設定します。

    • 基本設定

      パラメータまたは設定

      説明

      同期タイプ

      デフォルトでは、増分データ同期が選択されています。 [フルデータ同期] のみを選択できます。 [スキーマ同期] は選択できません。 事前チェックが完了すると、DTSは選択したオブジェクトの履歴データをソースデータベースからターゲットデータベースに同期します。 履歴データは、その後の増分同期の基礎となる。

      競合テーブルの処理モード

      • エラーの事前チェックと報告: ターゲットデータベースに、ソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかを確認します。 ソースデータベースとターゲットデータベースに同じテーブル名のテーブルが含まれていない場合は、事前チェックに合格します。 それ以外の場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。

        説明

        ソースデータベースとターゲットデータベースに同じ名前のテーブルが含まれていて、ターゲットデータベース内のテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、ターゲットデータベースに同期されるテーブルの名前を変更できます。 詳細については、「マップオブジェクト名」をご参照ください。

      • エラーを無視して続行: ソースデータベースとターゲットデータベースの同じテーブル名の事前チェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

        • ソースデータベースとターゲットデータベースが同じスキーマを持ち、ターゲットデータベースのデータレコードがソースデータベースのデータレコードと同じ主キー値または一意キー値を持つ場合:

          • 完全データ同期中、DTSはデータレコードをターゲットデータベースに同期しません。 ターゲットデータベースの既存のデータレコードが保持されます。

          • 増分データ同期中、DTSはデータレコードをターゲットデータベースに同期します。 ターゲットデータベースの既存のデータレコードが上書きされます。

        • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データの初期化に失敗する可能性があります。 この場合、一部の列のみが同期されるか、データ同期タスクが失敗します。 作業は慎重に行ってください。

      オブジェクトの選択

      ソースオブジェクト セクションから1つ以上のオブジェクトを選択し、向右アイコンをクリックして 選択中のオブジェクト セクションにオブジェクトを追加します。

      説明

      同期するオブジェクトとして、列、テーブル、またはデータベースを選択できます。 同期するオブジェクトとしてテーブルまたは列を選択した場合、DTSはビュー、トリガー、ストアドプロシージャなどの他のオブジェクトをターゲットデータベースに同期しません。

      データベースとテーブルの名前変更

      • 同期先のインスタンスに同期するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。 詳細については、「オブジェクト名のマップ」トピックの「単一オブジェクトの名前のマップ」セクションをご参照ください。

      • 一度に複数のオブジェクトの名前を変更するには、選択中のオブジェクト セクションの右上隅にある 一括編集 をクリックします。 詳細については、「オブジェクト名のマップ」トピックの「一度に複数のオブジェクト名をマップする」セクションをご参照ください。

      フィルターデータ

      WHERE条件を指定してデータをフィルタリングできます。 詳細については、「フィルター条件の指定」をご参照ください。

      同期するSQL操作の選択

      [選択済みオブジェクト] セクションで、オブジェクトを右クリックします。 表示されるダイアログボックスで、同期するSQL操作を選択します。 詳細については、「同期可能なSQL操作」をご参照ください。

    • 詳細設定

      パラメーター

      説明

      Set Alerts

      データ同期タスクのアラートを設定するかどうかを指定します。 タスクが失敗するか、同期レイテンシが指定されたしきい値を超えると、アラート送信先は通知を受け取ります。 有効な値:

      失敗した接続のリトライ時間範囲の指定

      失敗した接続のリトライ時間範囲。 データ同期タスクの開始後にソースデータベースまたはターゲットデータベースの接続に失敗した場合、DTSはその時間範囲内ですぐに接続を再試行します。 有効な値: 10 ~ 1440 単位は分です。 デフォルト値: 720 このパラメーターを30より大きい値に設定することを推奨します。 DTSが指定された時間範囲内にソースデータベースとターゲットデータベースに再接続すると、DTSはデータ同期タスクを再開します。 それ以外の場合、データ同期タスクは失敗します。

      説明
      • ソースまたはターゲットデータベースが同じである複数のデータ同期タスクに対して異なるリトライ時間範囲を指定した場合、最も短いリトライ時間範囲が優先されます。

      • DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 業務要件に基づいて再試行時間範囲を指定することを推奨します。 ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。

  6. タスク設定を保存し、事前チェックを実行します。

    • 関連するAPI操作を呼び出してDTSタスクを設定するときに指定するパラメーターを表示するには、ポインターを 次:タスク設定の保存と事前チェック に移動し、OpenAPI パラメーターのプレビュー をクリックします。

    • パラメーターを表示または表示する必要がない場合は、ページ下部の 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • データ同期タスクを開始する前に、DTSは事前チェックを実行します。 データ同期タスクは、タスクが事前チェックに合格した後にのみ開始できます。

    • データ同期タスクが事前チェックに失敗した場合は、失敗した各項目の横にある [詳細の表示] をクリックします。 チェック結果に基づいて原因を分析した後、問題のトラブルシューティングを行います。 次に、プレチェックを再実行します。

    • 事前チェック中にアイテムに対してアラートがトリガーされた場合:

      • アラートアイテムを無視できない場合は、失敗したアイテムの横にある [詳細の表示] をクリックして、問題のトラブルシューティングを行います。 次に、もう一度プレチェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。 [詳細の表示] ダイアログボックスで、[無視] をクリックします。 表示されたメッセージボックスで、[OK] をクリックします。 次に、[再度事前チェック] をクリックして、事前チェックを再度実行します。 アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

  7. 成功率100% になるまで待ちます。 次に、[次へ: インスタンスの購入] をクリックします。

  8. 購入ページで、データ同期インスタンスの課金方法とインスタンスクラスのパラメーターを設定します。 下表にパラメーターを示します。

    セクション

    パラメーター

    説明

    新しいインスタンスクラス

    Billing Method

    • サブスクリプション: データ同期インスタンスの作成時にサブスクリプションの料金を支払います。 サブスクリプションの課金方法は、長期使用の場合、従量課金の課金方法よりも費用対効果が高くなります。

    • 従量課金: 従量課金インスタンスは1時間ごとに課金されます。 従量課金方法は、短期使用に適しています。 従量課金データ同期インスタンスが不要になった場合は、インスタンスをリリースしてコストを削減できます。

    リソースグループの設定

    データ同期インスタンスが属するリソースグループ。 デフォルト値: Default resource group 詳細については、「」をご参照ください。リソース管理とは

    インスタンスクラス

    DTSは、同期速度が異なるインスタンスクラスを提供します。 ビジネス要件に基づいてインスタンスクラスを選択できます。 詳細については、「データ同期インスタンスのインスタンスクラス」をご参照ください。

    サブスクリプション期間

    サブスクリプションの課金方法を選択した場合は、サブスクリプション期間と作成するデータ同期インスタンスの数を指定します。 サブスクリプション期間は、1〜9か月、1年、2年、3年、または5年とすることができる。

    説明

    このパラメーターは、サブスクリプション の課金方法を選択した場合にのみ使用できます。

  9. 読み取りと選択データ伝送サービス (従量課金) サービス規約.

  10. [購入して開始] をクリックします。 表示されるダイアログボックスで、OK をクリックします。

    タスクリストでタスクの進行状況を確認できます。