AnalyticDB へデータをレプリケーションする際、ソースデータベースはしばしば同一スキーマを共有する複数のテーブル(例: orders_2023、orders_2024、orders_2025)にシャードされています。マルチテーブルマージ機能により、移行または同期時にこれらのテーブルを単一のターゲットテーブルに統合できます。これにより、ロード後の変換処理を実行せずに、すべてのデータを 1 か所からクエリ可能です。
この機能は、ターゲットが AnalyticDB for MySQL V3.0 インスタンス、AnalyticDB for PostgreSQL インスタンス、または Tablestore のデータ移行およびデータ同期タスクで利用可能です。
制限事項
データ検証との互換性がありません。 データ検証機能が有効化されたタスクでは、マルチテーブルマージを有効化できません。
増分タスクでは DDL 操作がレプリケートされません。 増分データ移行または同期タスクでマルチテーブルマージを有効化すると、Data Transmission Service (DTS) はソースからの DDL 操作をレプリケートしません。ソースデータベースで DDL 操作を実行した場合、ターゲット側でデータ損失が発生するか、タスクが失敗します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
ターゲットデータベースとして AnalyticDB for MySQL V3.0 インスタンスまたは AnalyticDB for PostgreSQL インスタンスを使用するデータ移行またはデータ同期タスク
タスクは、構成ウィザードの[オブジェクトと詳細設定の構成] ステップで開きます。
同期タスクの作成方法については、「データ同期シナリオの概要」をご参照ください。移行タスクについては、「データ移行シナリオの概要」をご参照ください。
マルチテーブルマージの有効化
以下の手順では、データ同期タスクを例として説明します。
オブジェクトと高度な設定の構成 ステップで、「テーブルのマージ」より上位のすべてのパラメーターを構成します。
テーブルのマージ を はい に設定します。
(任意)
__dts_data_sourceラベル列の有効化を決定します。__dts_data_source列は、マージ後のターゲットテーブルに追加されるカスタムラベル列です。各行のソーステーブルを記録し、マージ後にデータを元のソースにトレースする必要がある場合に役立ちます。説明列名およびタグ値の設定は、タスク購入後に実行できます。
設定 効果 はい DTS はターゲットテーブルに __dts_data_source列を追加します。後続のステップで、各ソーステーブルに固有のタグ値を割り当てる必要があります。いいえ DTS は該当列を追加しません。ソースのトレーサビリティは利用できません。 ソースオブジェクト セクションで、マージ対象のテーブルを選択し、
をクリックして 選択済みオブジェクト セクションに移動します。選択済みオブジェクト セクションで、テーブルを右クリックし、テーブル名の編集 を選択します。ダイアログボックスで、テーブル名 をターゲットテーブルの名前に設定します。複数のソーステーブルを 1 つのターゲットテーブルにマージするには、すべてのソーステーブルに同一の テーブル名 を割り当てます。以下に、3 つのソーステーブルが単一のターゲットテーブルにマップされる例を示します。
ソーステーブル テーブル名(ターゲット) orders_2023ordersorders_2024ordersorders_2025orders
マージ対象のすべてのテーブルについて、上記のステップを繰り返します。
重要マージ対象のすべてのソーステーブルは、同一の テーブル名 を共有する必要があります。

画面上の指示に従って、残りの構成ステップを完了します。ステップ 3 で __dts_data_source の値の設定 を はい に設定した場合は、データベースおよびテーブルフィールドの構成 ステップに進み、各ソーステーブルに対応する __dts_data_source の値 列に固有のタグ値を入力します。__dts_data_source 列の値は再利用できません。
