このページは機械翻訳によるものです。内容の正確さは保証しておりません。 人力翻訳を依頼する

ApsaraDB RDS for SQL Server インスタンスから AnalyticDB for MySQL V3.0 クラスタへのデータ同期

更新日時2025-03-04 16:38
重要

このトピックには、必要な予防措置に関する重要な情報が含まれます。このトピックをよく読んでから進むことをお勧めします。

このトピックでは、Data Transmission Service (DTS) を使用して、ApsaraDB RDS for SQL Server インスタンスから AnalyticDB for MySQL クラスタにデータを同期する方法について説明します。データ同期機能を使用すると、リアルタイムのデータ分析のためにデータを簡単に転送できます。

前提条件

  • RDS インスタンスが作成されていること。サポートされている SQL Server のバージョンについては、「データ同期シナリオの概要」をご参照ください。RDS インスタンスの作成方法については、「ApsaraDB RDS for SQL Server インスタンスの作成と使用」をご参照ください。

    重要

    [SQL Server 増分同期モード] パラメータが [非ヒープテーブルのログベース解析とヒープテーブルの CDC ベースの増分同期] に設定されている場合、データはハイブリッドログベース解析モードで同期され、以下のバージョンのソースデータベースがサポートされます。

    • Enterprise エディションまたは Enterprise Evaluation エディションの自己管理 SQL Server または ApsaraDB RDS for SQL Server データベース: バージョン 2012、2014、2016、または 2019。

    • Standard エディションの自己管理 SQL Server または ApsaraDB RDS for SQL Server データベース: バージョン 2016 または 2019。

  • AnalyticDB for MySQL クラスタが作成されていること。詳細については、「クラスタの作成」をご参照ください。

  • AnalyticDB for MySQL クラスタの使用可能なストレージが、RDS インスタンスのストレージ容量よりも大きいこと。

  • ソース ApsaraDB RDS for SQL Server インスタンスが以下のいずれかの条件を満たす場合は、同期タスクを複数のサブタスクに分割することをお勧めします。

    • ソースインスタンスに 10 個を超えるデータベースが含まれている。

    • ソースインスタンスの単一データベースが 1 時間未満の間隔でログをバックアップしている。

    • ソースインスタンスの単一データベースが 1 時間あたり 100 個を超える DDL 文を実行している。

    • ソースインスタンスの単一データベースのログ書き込み速度が 20 MB/秒である。

    • ソース ApsaraDB RDS for SQL Server インスタンスの 1,000 個を超えるテーブルで変更データキャプチャ (CDC) 機能を有効にする必要がある。

使用上の注意

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

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

制限タイプ

説明

制限タイプ

説明

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

  • 同期対象のテーブルには、PRIMARY KEY または UNIQUE 制約が設定されている必要があり、すべてのフィールドが一意である必要があります。そうでない場合、ターゲットデータベースに重複したデータレコードが含まれる可能性があります。

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

  • 1 つのデータ同期タスクで、最大 10 個のデータベースからデータを同期できます。10 個を超えるデータベースからデータを同期する場合は、複数のタスクを構成してデータを同期することをお勧めします。そうでない場合、データ同期タスクのパフォーマンスと安定性が損なわれる可能性があります。

  • DTS は fn_log 関数を使用してソースデータベースのログを取得します。ただし、この関数にはパフォーマンスボトルネックがあります。そのため、タスクが完了する前にソースデータベースのログをクリアしないことをお勧めします。クリアすると、タスクが失敗する可能性があります。

  • データログについては、以下の要件を満たす必要があります。

    • データロギング機能が有効になっている必要があります。バックアップモードは「完全」に設定し、完全物理バックアップを実行する必要があります。

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

  • ソースデータベースから同期するテーブルに対して CDC を有効にする必要がある場合は、テーブルが以下の要件を満たしていることを確認してください。そうでない場合、事前チェックは失敗します。

    • sys.sysservers ビューの srvname フィールドの値が、SERVERPROPERTY 関数の戻り値と同じであること。

    • ソースデータベースが自己管理 SQL Server データベースの場合、データベース所有者は sa ユーザーである必要があります。ソースデータベースが ApsaraDB RDS for SQL Server データベースの場合、データベース所有者は sqlsa ユーザーである必要があります。

    • ソースデータベースが Enterprise エディションの場合、SQL Server 2008 以降を使用する必要があります。

    • ソースデータベースが Standard エディションの場合、SQL Server 2016 SP1 以降を使用する必要があります。

    • ソースデータベースが Standard または Enterprise エディションで、バージョンが SQL Server 2017 の場合は、バージョンを更新することをお勧めします。

  • ソースデータベースが読み取り専用インスタンスの場合、DDL 操作を同期することはできません。

  • ハイブリッドログベース解析モードでは、10 分以内にソースデータベースに対して列を追加または削除する操作を複数回実行することはできません。たとえば、10 分以内に次の SQL 文を実行すると、タスクでエラーが報告されます。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • スキーマ同期と完全データ同期の際は、DDL 文を実行してデータベースまたはテーブルのスキーマを変更しないでください。変更すると、データ同期タスクは失敗します。

  • ソースデータベースが SQL Server Web エディションを実行する ApsaraDB RDS for SQL Server インスタンスである場合、タスクを構成する際に、SQL Server 増分同期モード パラメータを ソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) に設定する必要があります。

その他の制限

  • 同期対象オブジェクトの要件:

    • DTS は、スキーマ、テーブル、ビュー、関数、プロシージャといったタイプのオブジェクトの初期スキーマ同期をサポートしています。

      警告

      ソースデータベースとターゲットデータベースは異種データベースです。これらがサポートするデータ型は 1 対 1 の対応関係にありません。この場合、タスクが失敗したり、データが失われたりする可能性があります。データ型変換がビジネスに与える影響を評価することをお勧めします。詳細については、「初期スキーマ同期のデータ型マッピング」をご参照ください。

    • DTS は、アセンブリ、サービスブローカー、フルテキストインデックス、フルテキストカタログ、分散スキーマ、分散関数、CLR ストアドプロシージャ、CLR スカラー値関数、CLR テーブル値関数、内部テーブル、システム、集計関数のスキーマを同期しません。

    • DTS は、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY、GEOGRAPHY といったタイプのデータを同期しません。

    • DTS は、計算列を含むテーブルを同期しません。

  • オブジェクト設定 ステップで SQL Server 増分同期モード パラメータを ソースデータベースのログに基づく増分同期 (ヒープテーブル非対応) に設定した場合、同期対象のテーブルにはプライマリキー列を含むクラスター化インデックスが必要です。同期対象のテーブルは、ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、または計算列を含むテーブルにすることはできません。ハイブリッドログベース解析モードでは、上記の制限は無視されます。

  • オブジェクト設定 ステップで SQL Server 増分同期モード パラメータを クラスター化テーブルはログ解析で増分同期し、ヒープテーブルの場合は CDC で増分同期します (ハイブリッド式ログ解析) に設定した場合、DTS は CDC コンポーネントを使用して増分データを同期します。ソースデータベースの CDC ジョブが想定どおりに実行されていることを確認してください。そうでない場合、DTS タスクは失敗します。

  • オブジェクト設定 ステップで SQL Server 増分同期モード パラメータを 増分同期のための CDC インスタンスのポーリングとクエリ に設定した場合、以下の制限が適用されます。

    • DTS インスタンスが使用するソースデータベースアカウントには、CDC 機能を有効にする権限が必要です。データベースレベルの CDC を有効にするには、sysadmin ロールが割り当てられたアカウントを使用する必要があります。テーブルレベルの CDC を有効にするには、特権アカウントを使用する必要があります。

      説明
      • Microsoft Azure SQL Database のデータベースのサーバー管理者アカウントには、必要な権限があります。vCore モデルに基づいて Azure SQL Database で購入したすべてのデータベースで CDC を有効にすることができます。データベーストランザクションユニット (DTU) モデルに基づいて Azure SQL Database で購入したデータベースで CDC を有効にすることができるのは、データベースのサービス階層が S3 以上の場合のみです。

      • Amazon RDS for SQL Server インスタンスの特権アカウントには、必要な権限があります。データベースレベルでストアドプロシージャに対して CDC を有効にすることができます。

    • DTS は、ソースデータベースの各テーブルの CDC インスタンスに対してラウンドロビンクエリを実行することで増分データを取得します。そのため、ソースデータベースから移行するテーブルの数は 1,000 を超えることはできません。超えると、データ移行タスクが遅延したり、不安定になったりする可能性があります。

    • 1 分以内に列を追加または削除する DDL 文を 3 回以上実行することはできません。実行すると、データ移行タスクが失敗する可能性があります。

    • データ移行中は、ソースデータベースの CDC インスタンスを変更することはできません。変更すると、データ移行タスクが失敗したり、データが失われたりする可能性があります。

  • 「ソースデータベースのログに基づく増分同期」モードでは、DTS はソースデータベースに dts_cdc_sync_ddl という名前のトリガー、dts_sync_progress という名前のハートビートテーブル、dts_cdc_ddl_history という名前の DDL 履歴テーブルを作成して、データ同期のレイテンシが正確になるようにします。ハイブリッドログベース解析増分同期モードでは、DTS は dts_cdc_sync_ddl という名前のトリガー、dts_sync_progress という名前のハートビートテーブル、dts_cdc_ddl_history という名前の DDL 履歴テーブルを作成し、ソースデータベースと特定のテーブルに対して CDC を有効にします。ソースデータベースで CDC が有効になっているテーブルについては、1 秒あたりの最大レコード数を 1,000 に設定することをお勧めします。

  • AnalyticDB for MySQL クラスタ の制限により、AnalyticDB for MySQL クラスタ 内のノードのディスク容量使用率が 80% を超えると、ターゲットデータベースへのデータ書き込みのパフォーマンスが低下し、DTS タスクが遅延します。AnalyticDB for MySQL クラスタ内のノードのディスク容量使用率が 90% を超えると、ターゲットデータベースにデータを書き込むことができなくなり、エラーメッセージが返されます。同期対象のオブジェクトに基づいて必要なディスク容量を見積もることをお勧めします。ターゲットクラスタに十分なストレージ容量があることを確認してください。

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

  • 完全データ同期の際、同時 INSERT 操作によってターゲットデータベースのテーブルで断片化が発生します。完全データ同期が完了すると、ターゲットデータベースの使用済み表領域のサイズはソースデータベースのサイズよりも大きくなります。

  • データ同期の間に他のソースからのデータがターゲットデータベースに書き込まれると、ソースデータベースとターゲットデータベースの間でデータの不整合が発生します。たとえば、他のソースからのデータがターゲットデータベースに書き込まれている間に DMS を使用してオンライン DDL 文を実行すると、ターゲットデータベースでデータ損失が発生する可能性があります。

  • データ同期タスクに増分データ同期が含まれている場合、DTS ではインデックス再作成操作を実行できません。インデックス再作成操作を実行すると、データ同期タスクが失敗し、データが失われる可能性があります。

    説明

    DTS は、変更データキャプチャ (CDC) が有効になっているテーブルのプライマリキーに関連する DDL 操作を同期できません。

  • データ同期タスクで CDC が有効になっているテーブルの数が 1,000 を超える場合、事前チェックは失敗します。

  • DDL 文をターゲットデータベースに書き込めなかった場合でも、DTS タスクは引き続き実行されます。実行できなかった DDL 文はタスクログで確認できます。タスクログの表示方法については、「タスクログの表示」をご参照ください。

  • 同期対象のオブジェクトを変更する場合、データベースを追加または削除することはできません。

  • DTS タスクの実行中にターゲット AnalyticDB for MySQL V3.0 クラスタがバックアップされている場合、DTS タスクは失敗します。

特別なケース

ソースインスタンスが ApsaraDB RDS for SQL Server インスタンスの場合、DTS は ApsaraDB RDS for SQL Server インスタンスに rdsdt_dtsacct という名前のアカウントを自動的に作成します。このアカウントはデータ同期に使用されます。データ同期タスクの実行中は、このアカウントを削除したり、このアカウントのパスワードを変更したりしないでください。変更すると、タスクが失敗する可能性があります。詳細については、「システムアカウント」をご参照ください。

課金

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

サポートされている同期モード

  • 一方向 1 対 1 同期

  • 一方向 1 対多同期

  • 一方向カスケード同期

  • 一方向多対 1 同期

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

同期可能な SQL 操作

操作タイプ

SQL 文

操作タイプ

SQL 文

DML

INSERT、UPDATE、DELETE

説明
  • UPDATE 操作でラージフィールドのみが更新される場合、システムはその操作を増分同期しません。

  • ターゲット AnalyticDB for MySQL V3.0 クラスタにデータが書き込まれると、UPDATE 文は自動的に REPLACE INTO 文に変換されます。UPDATE 文がプライマリキーで実行された場合、UPDATE 文は DELETE 文と INSERT 文に変換されます。

DDL

  • CREATE TABLE

    説明

    CREATE TABLE 文にパーティション句、サブパーティション句、または関数が含まれている場合、システムはその操作を同期しません。

  • ADD COLUMN と DROP COLUMN

  • DROP TABLE

  • CREATE INDEX と DROP INDEX

説明
  • システムは、ユーザー定義型を含む DDL 操作を同期しません。

  • システムは、トランザクション DDL 操作を同期しません。たとえば、複数の列を追加する DDL 操作を含む SQL 操作や、DDL 操作と DML 操作の両方を含む SQL 操作は同期しません。このような SQL 操作を同期した後で、データ損失が発生する可能性があります。

  • システムは、オンライン DDL 操作を同期しません。

  • システムは、名前に予約キーワードが含まれるオブジェクトに対して実行された DDL 操作を同期しません。

  • システムは、システムストアドプロシージャで実行された DDL 操作を同期しません。

  • ソースデータベースが複合ログベース解析モードを使用している場合、すべての一般的な DDL 操作を同期できます。

手順

  1. 以下のいずれかの方法を使用して [データ同期] ページに移動し、データ同期インスタンスが存在するリージョンを選択します。

    DTS コンソール
    DMS コンソール
    1. DTS コンソール にログインします。

    2. 左側のナビゲーションウィンドウで、データ同期 をクリックします。

    3. ページの左上隅で、データ同期インスタンスが存在するリージョンを選択します。

    説明

    実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。

    1. DMS コンソール にログインします。

    2. 上部のナビゲーションバーで、[データ開発] にポインタを移動し、[DTS (DTS)] > [データ同期] を選択します。

    3. データ同期タスク の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。

  2. タスクの作成 をクリックして、タスク構成ページに移動します。

  3. オプション。 ページの右上隅にある 新バージョンの設定ページを試してみる をクリックします。

    説明
    • ページの右上隅に 旧バージョンの設定ページに戻る ボタンが表示されている場合は、この手順をスキップします。

    • 構成ページの新バージョンと旧バージョンでは、特定のパラメータが異なる場合があります。新しいバージョンの構成ページを使用することをお勧めします。

  4. ソースデータベースとターゲットデータベースを構成します。以下の表にパラメータを示します。

    警告

    ソースデータベースとターゲットデータベースを構成した後、ページに表示される [制限] を読むことをお勧めします。そうでない場合、タスクが失敗したり、データの不整合が発生したりする可能性があります。

    セクション

    パラメータ

    説明

    セクション

    パラメータ

    説明

    該当なし

    タスク名

    DTS タスクの名前。DTS はタスク名を自動的に生成します。タスクを識別しやすい説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。

    ソースデータベース

    既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。)

    使用するデータベース。ビジネス要件に基づいて、既存のデータベースを使用するかどうかを選択できます。

    • 既存のデータベースを選択すると、DTS はデータベースのパラメータを自動的に入力します。

    • 既存のデータベースを選択しない場合は、以下のデータベース情報を構成する必要があります。

    データベースタイプ

    データベースのデータベースエンジン。[SQL Server] を選択します。

    アクセス方法

    アクセス方法。[alibaba Cloud インスタンス] を選択します。

    インスタンスリージョン

    RDS インスタンスが存在するリージョン。

    Alibaba Cloud アカウント間でデータを複製

    Alibaba Cloud アカウント間でデータを同期するかどうかを指定します。この例では、× が選択されています。

    RDS インスタンス ID

    RDS インスタンスの ID。

    データベースアカウント

    RDS インスタンスのデータベースアカウント。アカウントには、同期対象のオブジェクトに対する所有者権限が必要です。

    データベースパスワード

    データベースへのアクセスに使用するパスワード。

    暗号化

    ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて、非暗号化 または SSL 暗号化 を選択します。

    • ソースデータベースで SSL 暗号化が有効になっていない場合は、非暗号化 を選択します。

    • ソースデータベースで SSL 暗号化が有効になっている場合は、SSL 暗号化 を選択します。デフォルトでは、DTS はサーバー証明書を信頼します。

    宛先データベース

    既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。)

    使用するデータベース。ビジネス要件に基づいて、既存のデータベースを使用するかどうかを選択できます。

    • 既存のデータベースを選択すると、DTS はデータベースのパラメータを自動的に入力します。

    • 既存のデータベースを選択しない場合は、以下のデータベース情報を構成する必要があります。

    データベースタイプ

    ターゲットデータベースのタイプ。[analyticdb For Mysql 3.0] を選択します。

    アクセス方法

    アクセス方法。[alibaba Cloud インスタンス] を選択します。

    インスタンスリージョン

    AnalyticDB for MySQL クラスタが存在するリージョン。

    [プライマリインスタンス ID]

    AnalyticDB for MySQL クラスタの ID。

    データベースアカウント

    AnalyticDB for MySQL クラスタのデータベースアカウント。アカウントには、読み取り権限と書き込み権限が必要です。

    データベースパスワード

    データベースへのアクセスに使用するパスワード。

  5. ページの下部にある [接続テストと続行] をクリックします。

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

    警告

    DTS サーバーの CIDR ブロックがデータベースまたはインスタンスのホワイトリスト、あるいは ECS セキュリティグループルールに自動または手動で追加されると、セキュリティリスクが発生する可能性があります。そのため、DTS を使用してデータを同期する前に、潜在的なリスクを理解し、認識し、予防措置を講じる必要があります。予防措置には、ユーザー名とパスワードのセキュリティ強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストまたは ECS セキュリティグループルールの定期的なチェックと不正な CIDR ブロックの禁止、Express Connect、VPN Gateway、または Smart Access Gateway を使用したデータベースと DTS の接続などが含まれますが、これらに限定されません。

  6. 移行するオブジェクトと詳細設定を構成します。

    パラメータ

    説明

    パラメータ

    説明

    同期タイプ

    同期タイプ。デフォルトでは、[増分データ同期] が選択されています。[スキーマ同期][完全データ同期] も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトの既存データをソースデータベースからターゲットクラスタに同期します。既存データは、後続の増分同期の基礎となります。

    説明

    [完全データ同期] が選択されている場合、CREATE TABLE 文を実行して作成されたテーブルのスキーマとデータをターゲットデータベースに同期できます。

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

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

      説明

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

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

      警告

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

      • ソースデータベースとターゲットデータベースのスキーマが同じで、ターゲットデータベースのデータレコードのプライマリキー値または一意キー値がソースデータベースのデータレコードと同じである場合:

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

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

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

    移行元データベースと移行先データベースのスキーママッピングモード

    ビジネス要件に基づいてスキーママッピングモードを選択します。

    警告

    ソースデータベースのスキーマ名を使用しない場合、ソーステーブルは異なるスキーマ間で一意の名前を持つ必要があります。そうでない場合、データの不整合が発生したり、データ同期タスクが失敗したりする可能性があります。

    SQL Server 増分同期モード

    • クラスター化テーブルはログ解析で増分同期し、ヒープテーブルの場合は CDC で増分同期します (ハイブリッド式ログ解析):

      • メリット:

        • このモードは、ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、および計算列を含むテーブルをサポートしています。

        • このモードは、より高い安定性とさまざまな完全な DDL 文を提供します。

      • デメリット:

        • DTS は、ソースデータベースにトリガー dts_cdc_sync_ddl、ハートビートテーブル dts_sync_progress、DDL ストレージテーブル dts_cdc_ddl_history を作成し、ソースデータベースと特定のテーブルに対して変更データキャプチャ (CDC) を有効にします。

        • ソースデータベースで CDC が有効になっているテーブルに対して SELECT INTO 文または TRUNCATE 文を実行することはできません。ソースデータベースで DTS によって作成されたトリガーは、手動で削除することはできません。

    • ソースデータベースのログに基づく増分同期 (ヒープテーブル非対応):

      • メリット:

        このモードは、ソースデータベースの設定を変更しません。

      • デメリット:

        このモードは、ヒープテーブル、プライマリキーのないテーブル、圧縮テーブル、または計算列を含むテーブルをサポートしていません。

    • 増分同期のための CDC インスタンスのポーリングとクエリ:

      • メリット:

        • ソースデータベースが Amazon RDS for SQL Server インスタンス、Microsoft Azure SQL Database のデータベース、Microsoft Azure SQL Managed Instance、Microsoft Azure SQL Server on Virtual Machine、または Google Cloud SQL for SQL Server インスタンスの場合、完全データ同期と増分データ同期がサポートされます。

        • SQL Server のネイティブ CDC コンポーネントを使用して増分データを取得できます。これにより、増分データ同期の安定性が向上し、帯域幅の使用量が削減されます。

      • デメリット:

        • DTS がソースデータベースにアクセスするために使用するアカウントには、CDC 機能を有効にする権限が必要です。増分データ同期には 10 秒のレイテンシがあります。

        • 複数のデータベースの複数のテーブルを同期するように DTS タスクを構成すると、安定性とパフォーマンスの問題が発生する可能性があります。

    DDL操作とDML操作の同期

    インスタンスレベルで同期する SQL 操作。詳細については、「同期可能な SQL 操作」をご参照ください。

    説明

    特定のデータベースまたはテーブルで実行される SQL 操作を選択するには、次の手順を実行します。[選択済みオブジェクト] セクションで、オブジェクトを右クリックします。表示されるダイアログボックスで、同期する SQL 操作を選択します。

    ソースオブジェクト

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

    説明

    このシナリオでは、異種データベース間でデータ同期が実行されます。そのため、同期できるのはテーブルのみです。ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトは、ターゲットデータベースに同期されません。

    選択中のオブジェクト

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

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

    説明
    • 特定のデータベースまたはテーブルで実行される SQL 操作を選択するには、選択中のオブジェクト セクションで同期するオブジェクトを右クリックします。表示されるダイアログボックスで、同期する SQL 操作を選択します。詳細については、「同期可能な SQL 操作」をご参照ください。

    • WHERE 条件を指定してデータをフィルタリングするには、選択中のオブジェクト セクションでテーブルを右クリックします。表示されるダイアログボックスで、条件を指定します。詳細については、「フィルタ条件の指定」をご参照ください。

    • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが同期されない場合があります。

  7. 次へ:詳細設定 をクリックして詳細設定を構成します。

    • データ検証設定

      データ検証機能の使用方法については、「データ検証の構成」をご参照ください。

    • 詳細設定

      パラメータ

      説明

      パラメータ

      説明

      タスクのスケジュールに使用する専用クラスターの選択

      デフォルトでは、専用クラスタを指定しない場合、DTS はタスクを共有クラスタにスケジュールします。データ同期タスクの安定性を向上させるには、専用クラスタを購入します。詳細については、「DTS 専用クラスタとは」をご参照ください。

      アラートの設定

      データ同期タスクのアラートを構成するかどうかを指定します。タスクが失敗した場合、または同期レイテンシが指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。有効な値:

      • [いいえ]: アラートを有効にしません。

      • [はい]: アラートを構成します。この場合、アラートしきい値と アラート通知設定 も構成する必要があります。詳細については、モニタリングとアラートの構成トピックの「DTS タスクの作成時のモニタリングとアラートの構成」セクションをご参照ください。

      失敗した接続の再試行時間

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

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

      • DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいてリトライ時間範囲を指定することをお勧めします。ソースインスタンスとターゲットインスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。

      その他の問題のリトライ時間範囲。たとえば、データ同期タスクの開始後に DDL 操作または DML 操作の実行に失敗した場合、DTS は時間範囲内で直ちに操作を再試行します。有効な値: 1 ~ 1440。単位: 分。デフォルト値: 10。このパラメータは 10 より大きい値に設定することをお勧めします。指定された時間範囲内に失敗した操作が正常に実行されると、DTS はデータ同期タスクを再開します。そうでない場合、データ同期タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメータの値は、失敗した接続の再試行時間 パラメータの値よりも小さくなければなりません。

      完全なデータ移行のためのスロットリングを有効化

      完全データ同期の際、DTS はソースデータベースとターゲットデータベースの読み取りリソースと書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。完全データ同期タスクの 1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS1 秒あたりの完全移行データ量 (MB) BPS パラメータを構成して、ターゲットデータベースサーバーの負荷を軽減できます。

      説明

      このパラメータは、同期タイプ パラメータで 完全データ同期 が選択されている場合にのみ表示されます。

      増分同期率を制限するかどうか

      増分データ同期の調整を有効にするかどうかを指定します。ビジネス要件に基づいて、増分データ同期の調整を有効にすることができます。調整を構成するには、1 秒あたりの増分同期の行数 RPS パラメータと 1 秒あたりの増分同期データ量 (MB) BPS パラメータを構成する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。

      環境タグ

      DTS インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。この例では、このパラメータを構成する必要はありません。

      ETL の設定

      抽出、変換、書き出し (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:

  8. ページの下部にある [次へ: データベースとテーブルフィールドの構成] をクリックします。表示されるページで、ターゲット AnalyticDB for MySQL クラスタに同期するテーブルのプライマリキー列と分散キーを設定します。

    説明
    • 同期タイプ パラメータを [スキーマ同期] に設定した場合、ターゲット AnalyticDB for MySQL V3.0 クラスタに同期するテーブルの [タイプ][プライマリキー列][分散キー] パラメータを指定する必要があります。詳細については、「CREATE TABLE」をご参照ください。

    • [プライマリキー列] フィールドでは、複数の列を指定して複合プライマリキーを形成できます。この場合、1 つ以上の [プライマリキー列][分散キー] として指定する必要があります。

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

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

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

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

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

    • 事前チェック中に項目のアラートがトリガーされた場合:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして、問題をトラブルシューティングします。その後、事前チェックを再実行します。

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

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

  11. データ移行インスタンスを購入します。

    1. [購入] ページで、データ同期インスタンスの [課金方法] パラメータと [インスタンスクラス] パラメータを構成します。以下の表にパラメータを示します。

      セクション

      パラメータ

      説明

      セクション

      パラメータ

      説明

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

      課金方法

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

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

      リソースグループ設定

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

      インスタンスクラス

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

      サブスクリプション期間

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

      説明

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

    2. [data Transmission Service(従量課金制)サービス規約]」を読み、選択します。

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

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

  • 目次 (1, M)
  • 前提条件
  • 使用上の注意
  • 課金
  • サポートされている同期モード
  • 同期可能な SQL 操作
  • 手順
フィードバック