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

Data Transmission Service:ApsaraDB RDS for SQL ServerインスタンスからAnalyticDB for PostgreSQLインスタンスへのデータの同期

最終更新日:Oct 31, 2024

Data Transmission Service (DTS) では、ApsaraDB RDS for SQL ServerインスタンスからAnalyticDB for PostgreSQLインスタンスにデータを簡単に同期できます。 AnalyticDB for PostgreSQLは、オンラインデータ分析およびオフラインデータ処理機能を提供します。 これらの機能を使用して、エンタープライズデータをリアルタイムで高いパフォーマンスで分析および処理し、オンラインデータを探索できます。

前提条件

  • ソースApsaraDB RDS for SQL ServerインスタンスのデータベースバージョンがDTSでサポートされています。 サポートされているソースデータベースとターゲットデータベースのバージョンについては、「データ同期シナリオの概要」をご参照ください。

  • 移行先のAnalyticDB for PostgreSQLインスタンスが作成されました。 ターゲットAnalyticDB for PostgreSQLインスタンスの使用可能なストレージ容量が、ソースApsaraDB RDS for SQL Serverインスタンスのデータの合計サイズよりも大きいこと。 詳細については、「インスタンスの作成」をご参照ください。

  • データを受信するために、ターゲットAnalyticDB for PostgreSQLインスタンスにデータベースが作成されます。 詳細については、「SQL構文」トピックのCREATE DATABASEセクションをご参照ください。

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

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

    • ソースインスタンスの1つのデータベースは、1時間未満の間隔でログをバックアップします。

    • ソースインスタンスの1つのデータベースで、1時間に100を超えるDDLステートメントが実行されます。

    • ログは、ソースインスタンスの1つのデータベースに対して20メガバイト/秒の割合で書き込まれます。

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

制限事項

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

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

制限タイプ

説明

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

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

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

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

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

  • データログの次の要件を満たす必要があります。

    • データログ機能を有効にする必要があります。 バックアップモードをFullに設定し、完全物理バックアップを実行する必要があります。

    • 増分データ同期のみを実行する場合は、ソースデータベースのデータログを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操作を同期することはできません。

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

    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のデータベースのサーバー管理者アカウントに必要な権限があります。 CDCは、vCoreモデルに基づいてAzure SQL Databaseで購入したすべてのデータベースに対して有効にできます。 データベーストランザクション単位 (DTU) モデルに基づいてAzure SQL Databaseで購入したデータベースに対してCDCを有効にすることができるのは、データベースのサービス層がS3以上の場合のみです。

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

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

    • DDLステートメントを実行して、1分以内に2回以上列を追加または削除することはできません。 そうしないと、データ移行タスクが失敗する可能性があります。

    • データ移行中は、ソースデータベースの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に設定することを推奨します。

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

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

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

  • 同期するオブジェクトとしてテーブルを選択した場合、列間のマッピング関係を変更できます。 列マッピングが完全でないテーブル同期に使用されている場合、またはソーステーブルとターゲットテーブルのスキーマに矛盾がある場合、ターゲットデータベースに含まれていないソースデータベースの列のデータが失われます。

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

    説明

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

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

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

特別なケース

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

課金

同期タイプ

タスク設定料金

スキーマ同期と完全データ同期

無料です。

増分データ同期

有料。 詳細については、「課金の概要」をご参照ください。

同期可能なSQL操作

操作タイプ

SQL文

DML

挿入、更新、および削除

DDL

  • CREATE TABLE

    説明

    CREATE TABLE操作でパーティションテーブルまたは関数を含むテーブルが作成された場合、DTSは操作を同期しません。

  • COLUMNとDROP COLUMNの追加

  • DROP TABLE

  • CREATE INDEXとDROP INDEX

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

  • DTSはトランザクションDDL操作を同期しません。

データベースアカウントに必要な権限

データベース

必要な権限

関連ドキュメント

ApsaraDB RDS for SQL Serverインスタンスのソース

同期するオブジェクトに対する所有者の権限

特権アカウントまたは標準アカウントの作成アカウントの権限の変更

宛先AnalyticDB for PostgreSQLインスタンス

  • ログイン権限

  • 宛先テーブルに対するSELECT、CREATE、INSERT、UPDATE、およびDELETE権限

  • ターゲットデータベースに対するCONNECTおよびCREATE権限

  • 宛先スキーマに対するCREATE権限

  • COPY権限 (メモリベースのバッチコピー操作を実行する権限)

説明

AnalyticDB for PostgreSQLインスタンスの初期データベースアカウント、またはRDS_SUPERUSER権限を持つデータベースアカウントを使用することもできます。

データベースアカウントの作成ユーザーと権限の管理

データ型マッピング

ApsaraDB RDS for SQL ServerインスタンスとAnalyticDB for PostgreSQLインスタンスのデータ型は1対1で対応していません。 したがって、初期スキーマ同期中に、DTSはソースデータベースのデータ型をターゲットデータベースのデータ型に変換します。 詳細については、「スキーマ同期のためのデータ型マッピング」をご参照ください。

手順

  1. [データ同期タスク] ページに移動します。

    1. データ管理 (DMS) コンソール にログインします。

    2. 上部のナビゲーションバーで、DTSをクリックします。

    3. 左側のナビゲーションウィンドウで、DTS (DTS) > データ同期を選択します。

    説明
  2. データ同期タスクの右側で、データ同期インスタンスが存在するリージョンを選択します。

    説明

    新しいDTSコンソールを使用する場合は、上部のナビゲーションバーでデータ同期インスタンスが存在するリージョンを選択する必要があります。

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

    セクション

    パラメーター

    説明

    非該当

    タスク名

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

    移行元データベース

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

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

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

    • 既存のインスタンスを選択しない場合は、次のデータベース情報を設定する必要があります。

    データベースタイプ

    移行元ディスクのタイプを設定します。 SQL Server を選択します。

    アクセス方法

    ソースデータベースのアクセス方法。 Alibaba Cloud インスタンス を選択します。

    インスタンスのリージョン

    ソースApsaraDB RDS for SQL Serverインスタンスが存在するリージョン。

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

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

    RDS インスタンス ID

    ソースApsaraDB RDS for SQL ServerインスタンスのID。

    データベースアカウント

    ソースApsaraDB RDS for SQL Serverインスタンスのデータベースアカウント。 アカウントに必要な権限の詳細については、このトピックの「データベースアカウントに必要な権限」をご参照ください。

    データベースのパスワード

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

    移行先データベース

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

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

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

    • 既存のインスタンスを選択しない場合は、次のデータベース情報を設定する必要があります。

    データベースタイプ

    ターゲットデータベースのタイプ。 AnalyticDB for PostgreSQL を選択します。

    アクセス方法

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

    インスタンスのリージョン

    移行先のAnalyticDB for PostgreSQLインスタンスが存在するリージョン。

    インスタンス ID

    移行先のAnalyticDB for PostgreSQLインスタンスのID。

    データベース名

    同期先AnalyticDB for PostgreSQLインスタンスで同期するオブジェクトを受け取るために使用されるデータベースの名前。

    データベースアカウント

    移行先のAnalyticDB for PostgreSQLインスタンスのデータベースアカウント。 アカウントに必要な権限の詳細については、このトピックの「データベースアカウントに必要な権限」をご参照ください。

    データベースのパスワード

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

  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は選択したオブジェクトの履歴データをソースデータベースからターゲットクラスターに同期します。 履歴データは、その後の増分同期の基礎となる。

    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秒です。

        • 複数のデータベースに複数のテーブルを移行すると、安定性とパフォーマンスの問題が発生する可能性があります。

    同期する DDL および DML 操作

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

    説明

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

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

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

      説明

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

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

      警告

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

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

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

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

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

    移行先インスタンスでのオブジェクト名の大文字化

    ターゲットインスタンスのデータベース名、テーブル名、および列名の大文字化。 デフォルトでは、DTSデフォルトポリシーが選択されています。 他のオプションを選択して、オブジェクト名の大文字化をソースまたはターゲットデータベースの大文字化と一致させることができます。 詳細については、「ターゲットインスタンスのオブジェクト名の大文字化の指定」をご参照ください。

    ソースオブジェクト

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

    説明

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

    選択中のオブジェクト

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

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

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

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

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

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

    • データ検証設定

      データ検証機能の使用方法の詳細については、「データ検証タスクの設定」をご参照ください。

    • 詳細設定

      パラメーター

      説明

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

      デフォルトでは、DTSはタスクを共有クラスターにスケジュールします。 このパラメーターを設定する必要はありません。 データ同期タスクの安定性を向上させたい場合は、専用クラスターを購入してください。 詳細については、「DTS専用クラスターの概要」をご参照ください。

      アラートの設定

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

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

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

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

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

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

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

      重要

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

      完全移行率を制限するかどうか

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

      説明

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

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

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

      環境タグ

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

      引用符でオブジェクト名を囲みます。

      オブジェクト名を引用符で囲むかどうかを指定します。 [はい] を選択し、次のいずれかの条件が満たされている場合、DTSは、スキーマ同期および増分データ同期中に、オブジェクト名を一重引用符 (') または二重引用符 (") で囲みます。

      • ソースデータベースのビジネス環境は大文字と小文字を区別しますが、データベース名には大文字と小文字の両方が含まれます。

      • ソーステーブル名は、文字で始まるのではなく、文字、数字、および特殊文字以外の文字が含まれます。

        説明

        ソーステーブル名には、アンダースコア (_) 、数字記号 (#) 、およびドル記号 ($) の特殊文字のみを含めることができます。

      • 同期するスキーマ、テーブル、または列の名前は、ターゲットデータベースのキーワード、予約済みキーワード、または無効な文字です。

      説明

      [はい] を選択した場合、データ同期タスクが完了したら、オブジェクトを照会するためにオブジェクト名を引用符で指定する必要があります。

      ETL の設定

      抽出、変換、および読み込み (ETL) 機能を有効にするかどうかを指定します。 詳細については、「」をご参照ください。ETLとは何ですか? 有効な値:

  7. オプション次:データベースおよびテーブルのフィールド設定 をクリックして、AnalyticDB for PostgreSQLインスタンスに同期するテーブルのタイププライマリキー列の追加配布キーパラメーターを設定します。

    説明
    • この手順は、タスクに対して同期するオブジェクトを設定するときに、同期タイプ として スキーマ同期 を選択した場合にのみ使用できます。 定義ステータス パラメーターを すべて に設定し、データベースとテーブルのフィールドを変更できます。

    • プライマリキー列の追加 フィールドでは、複数の列を指定して複合プライマリキーを形成できます。 この場合、1つ以上のプライマリキー列の追加配布キー列として指定する必要があります。 詳細については、「テーブルの管理」および「テーブルの配布の定義」をご参照ください。

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

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

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

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

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

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

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

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

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

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

    セクション

    パラメーター

    説明

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

    Billing Method

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

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

    リソースグループの設定

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

    インスタンスクラス

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

    サブスクリプション期間

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

    説明

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

  11. データ伝送サービス (従量課金) サービス規約を読んで選択します。

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

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