Data Transmission Service (DTS) を使用してデータ同期またはデータ移行を行う際、ターゲットデータベースが AnalyticDB for MySQL 3.0 の場合、DTS はマルチテーブルマージ機能を提供します。この機能により、ソースデータベース内で構造が同一の複数のテーブルを統合し、ターゲットデータベース内の単一のデータテーブルにマージすることが可能となり、より効率的かつ便利なデータ移行および統合を実現できます。
前提条件
ターゲットが AnalyticDB for MySQL 3.0 の移行または同期タスクを作成済みであり、オブジェクトの設定と詳細設定 ステップまで進んでいる必要があります。関連する構成ドキュメントについては、「同期ソリューション概要」または「移行ソリューション概要」をご参照ください。
注意事項
-
データ検証を有効にしているタスクでは、マルチテーブルマージを有効にすることはできません。
-
マルチテーブルマージを有効にした増分タスクでは DDL 操作がサポートされていません。ソースデータベースで DDL 操作を実行すると、データ損失やタスクの失敗を引き起こす可能性があります。
操作手順
本セクションでは、DTS データ同期インスタンスに対してマルチテーブルマージを有効にする方法を説明します。
-
[オブジェクトの設定と詳細設定] ステップに移動し、[テーブルの結合] セクションより前にあるすべてのパラメーターを構成します。
-
[テーブルの結合] セクションで、[○] を選択します。
-
オプション: __dts_data_source の値を設定 で、いいえ を選択します。
説明タグカラム名および値のカスタマイズは、サブスクリプションインスタンスでのみサポートされています。
-
[ソースオブジェクト] ペインで同期するテーブルを選択し、次に
アイコンをクリックして、それらを [選択中のオブジェクト] ペインに移動させます。 -
[選択中のオブジェクト]ペインで、同期するテーブルを右クリックします。[テーブルの編集]ダイアログボックスで、[テーブル名]を変更します。
説明テーブル名 は、ターゲットデータベース内のテーブルの名前です。
このプロセスは、テーブル名 を変更する場合と同様です。[テーブルの編集] ダイアログボックスで、テーブル名をターゲット名 (
person_newなど) に変更し、フィルター条件 (標準 SQL WHERE 句をサポートし、フル同期および増分同期の両方に適用されます) を設定し、同期する DML 操作 (挿入、更新、または削除) を選択し、同期するカラム (p_name や p_id など) を選択できます。完了したら、[OK] をクリックします。 -
前の手順を繰り返して、選択したすべてのテーブルの テーブル名 を変更します。
重要マージされるすべてのテーブルに対して、同じ テーブル名 を指定する必要があります。
-
画面の指示およびリファレンスドキュメントに従って、残りのタスク構成を完了します。
ステップ 3 で ○ を選択した場合は、__dts_data_source の値 も データベース設定とテーブルのフィールド設定 ステップで設定する必要があります。
説明各テーブルごとに、__dts_data_source の値 列の値は一意である必要があります。
[データベースおよびテーブルフィールドの構成] ページで、[__dts_data_source の値] カラムを見つけ、各ソーステーブルに対して一意の値を入力します。このページの他のカラムには、[スキーマ名]、[テーブル名]、[タイプ](例: パーティションテーブル)、[プライマリキーカラム]、および [ディストリビューションキー] が含まれます。