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

ApsaraDB for SelectDB:DTS を使用してデータをインポートする

最終更新日:Feb 09, 2025

Alibaba Cloud Data Transmission Service (DTS) は、リレーショナルデータベース管理システム (RDBMS)、NoSQL データベース、オンライン分析処理 (OLAP) データベースなど、さまざまなデータソース間のデータ転送をサポートするリアルタイムデータストリーミングサービスです。 DTS を使用して、自己管理 MySQL データベースや ApsaraDB RDS for MySQL インスタンスなどの MySQL データベース、または自己管理 PostgreSQL データベース、ApsaraDB RDS for PostgreSQL インスタンス、PolarDB for PostgreSQL クラスタなどの PostgreSQL データベースから ApsaraDB for SelectDB インスタンスにデータを移行できます。 このようにして、大量のデータをクエリし、クエリ結果を数秒以内に取得し、数万の同時ポイントクエリを実行し、ApsaraDB for SelectDB インスタンスで高スループットの複雑なデータ分析を実行できます。 このトピックでは、ApsaraDB RDS for MySQL インスタンスのスキーマ、完全データ、および増分データを ApsaraDB for SelectDB インスタンスに同期する方法の例を示します。

制限事項

カテゴリ

説明

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

  • 同期するテーブルには、プライマリキーまたは一意制約が必要です。また、すべてのフィールドが一意である必要があります。そうでない場合は、[オブジェクトと詳細設定の構成] ステップで [スキーマ同期] を選択し、[データベースとテーブルフィールドの構成] ステップでテーブルに一意キーモデルを使用し、テーブルのプライマリキー列を手動で構成する必要があります。

  • バイナリログの要件は次のとおりです。

    • デフォルトでは、バイナリロギング機能が有効になっています。 binlog_row_image パラメータは full に設定されています。そうでない場合、事前チェック中にエラーメッセージが返され、データ同期タスクを開始できません。 詳細については、「インスタンスパラメータの変更」をご参照ください。

      重要
      • ソースデータベースが自己管理 MySQL データベースの場合、バイナリロギング機能を有効にし、binlog_format パラメータを row に、binlog_row_image パラメータを full に設定する必要があります。

      • ソースデータベースがデュアルプライマリクラスタにデプロイされた自己管理 MySQL データベースの場合、log_slave_updates パラメータを ON に設定する必要があります。 これにより、DTS はすべてのバイナリログを取得できます。 詳細については、「自己管理 MySQL データベースのアカウントを作成し、バイナリロギングを構成する」をご参照ください。

    • ソースデータベースのバイナリログは、少なくとも 7 日間保存されます。 そうでない場合、DTS はバイナリログの取得に失敗し、タスクが失敗する可能性があります。 例外的な状況では、データの不整合または損失が発生する可能性があります。 前述の要件に基づいて、バイナリログの保存期間を構成してください。 そうでない場合、DTS のサービスレベル契約 (SLA) は、サービスの信頼性またはパフォーマンスを保証しません。 ApsaraDB RDS for MySQL インスタンスのバイナリログファイルの管理方法の詳細については、「バイナリログファイルの管理」をご参照ください。

その他の制限

  • ApsaraDB for SelectDB インスタンスでは、一意キーモデルを使用するテーブルにのみデータを同期できます。

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

  • データ同期中は、pt-online-schema-change などのツールを使用して、ソースデータベース内の同期対象オブジェクトに対してオンライン DDL 操作を実行しないでください。 そうでない場合、データ同期が失敗する可能性があります。

  • データ同期中は、DTS のみを使用してターゲットデータベースにデータを書き込むことをお勧めします。 これにより、ソースデータベースとターゲットデータベース間でデータの不整合が発生しなくなります。

特別なケース

  • ソースデータベースが自己管理 MySQL データベースの場合、次の点に注意してください。

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

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

      説明

      同期対象のオブジェクトとしてデータベース全体を選択した場合は、ハートビートテーブルを作成できます。 ハートビートテーブルは毎秒更新またはデータを受信します。

    • DTS は、CREATE DATABASE IF NOT EXISTS 'test' 文をスケジュールどおりにソースデータベースで実行して、バイナリログファイルの位置を進めます。

  • ソースデータベースが ApsaraDB RDS for MySQL インスタンスの場合、次の点に注意してください。

    • 読み取り専用の ApsaraDB RDS for MySQL 5.6 インスタンスなど、トランザクションログを記録しない ApsaraDB RDS for MySQL インスタンスをソースデータベースとして使用することはできません。

    • DTS は、CREATE DATABASE IF NOT EXISTS 'test' 文をスケジュールどおりにソースデータベースで実行して、バイナリログファイルの位置を進めます。

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

データベース

必要な権限

ソース ApsaraDB RDS for MySQL インスタンス

同期対象オブジェクトに対する読み取りおよび書き込み権限

ターゲット ApsaraDB for SelectDB インスタンス

ターゲット ApsaraDB for SelectDB インスタンスに対する USAGE_PRIV 権限、およびターゲットデータベースに対する次の読み取りおよび書き込み権限: SELECT_PRIV、LOAD_PRIV、ALTER_PRIV、CREATE_PRIV、および DROP_PRIV。

説明

使用するソースデータベースアカウントが ApsaraDB RDS コンソールで作成および承認されていない場合は、アカウントに REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、および SELECT の権限があることを確認してください。

手順

  1. ApsaraDB for SelectDB コンソール にログインします。

  2. 上部のナビゲーションバーで、インスタンスが存在するリージョンを選択します。

  3. [インスタンス] ページで、インスタンスの [ID] をクリックして [インスタンスの詳細] ページに移動します。

  4. 左側のペインで、[データパイプライン] をクリックします。 表示されるページで、[データ同期] タブをクリックします。

    説明

    ほとんどの場合、DTS のデータ同期タスクには、既存データの移行と増分データのリアルタイム同期が含まれます。 データ移行は、一般的に既存の履歴データを移行するために使用されます。 データ同期とデータ移行の違いの詳細については、「DTS のデータ同期機能とデータ移行機能の違いは何ですか?」をご参照ください。

  5. [データ同期タスクの作成] をクリックして、ソースデータベースとターゲットデータベースに関する情報を構成します。

  6. セクション

    パラメータ

    説明

    該当なし

    タスク名

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

    ソースデータベース

    データベースタイプ

    ソースデータベースの種類。 MySQL を選択します。

    アクセス方法

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

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

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

    RDS インスタンス ID

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

    データベースアカウント

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

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

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

    暗号化

    データベースへの接続を暗号化するかどうかを指定します。 ビジネス要件に基づいて、[非暗号化] または [SSL 暗号化] を選択できます。 このパラメータを [SSL 暗号化] に設定する場合は、DTS タスクを構成する前に、ApsaraDB RDS for MySQL インスタンスで SSL 暗号化を有効にする必要があります。 詳細については、「クラウド証明書を使用して SSL 暗号化を有効にする」をご参照ください。

    ターゲットデータベース

    データベースタイプ

    ターゲットデータベースの種類。 SelectDB を選択します。

    アクセス方法

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

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

    ターゲット ApsaraDB for SelectDB インスタンスが存在するリージョン。

    インスタンス ID

    ターゲット ApsaraDB for SelectDB インスタンスの ID。

    データベースアカウント

    ターゲット ApsaraDB for SelectDB インスタンスのデータベースアカウント。 アカウントに必要な権限については、「ApsaraDB RDS for MySQL インスタンスから ApsaraDB for SelectDB インスタンスへのデータ同期」トピックの「データベースアカウントに必要な権限」セクションをご参照ください。

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

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

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

  8. ApsaraDB for SelectDBApsaraDB RDS for MySQLApsaraDB for MongoDB インスタンスなど、ソースデータベースまたはターゲットデータベースが Alibaba Cloud データベースインスタンスの場合、DTS は DTS サーバーの CIDR ブロックをインスタンスの IP アドレスホワイトリストに自動的に追加します。

    警告

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

  9. 同期するオブジェクトと詳細設定を構成します。 次の表にパラメータを示します。

  10. パラメータ

    説明

    同期タイプ

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

    重要

    MySQL データベースから ApsaraDB for SelectDB インスタンスにデータを同期する場合、型の変換が発生します。 スキーマ同期 を選択しない場合は、事前にターゲット ApsaraDB for SelectDB インスタンスに対応するスキーマを持つ一意キーモデルを使用するテーブルを作成する必要があります。 詳細については、「ApsaraDB RDS for MySQL インスタンスから ApsaraDB for SelectDB インスタンスへのデータ同期」トピックの「データ型マッピング」セクションと、「データモデル」をご参照ください。

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

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

      説明

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

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

      警告

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

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

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

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

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

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

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

    ソースオブジェクト

    [ソースオブジェクト] セクションから 1 つ以上のオブジェクトを選択し、向右 アイコンをクリックして [選択済みオブジェクト] セクションにオブジェクトを追加します。 データベース、テーブル、または列を同期対象オブジェクトとして選択できます。

    重要
    • 同期対象オブジェクトとしてデータベースを選択した場合、DTS は新しいデータテーブルを同期しません。 データ同期中にソースデータベースにデータテーブルが追加された場合は、テーブルを同期対象オブジェクトとして選択します。 データ同期タスクで同期対象オブジェクトを変更するには、DTS コンソールの [データ同期] ページでデータ同期タスクを見つけ、[操作] 列の [オブジェクトの再選択] をクリックします。

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

    選択中のオブジェクト

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

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

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

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

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

  11. オプション。 ページの下部にある [次へ: 詳細設定] をクリックして、詳細設定を構成します。

  12. パラメータ

    説明

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

    デフォルトでは、専用クラスタを指定しない場合、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 インスタンスを識別するために使用される環境タグ。 ビジネス要件に基づいて環境タグを選択できます。 この例では、環境タグは選択されていません。

    順方向および逆方向タスクのハートビートテーブル sql を削除

    DTS インスタンスの実行中に、ハートビートテーブルの SQL 操作をソースデータベースに書き込むかどうかを指定します。 有効値:

    • はい: ハートビートテーブルの SQL 操作を書き込みません。 この場合、DTS インスタンスのレイテンシが表示される場合があります。

    • いいえ: ハートビートテーブルの SQL 操作を書き込みます。 この場合、ソースデータベースの物理バックアップやクローニングなどの機能が影響を受ける可能性があります。

    ETL の設定

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

    監視アラート

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

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

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

  13. オプション。 前述の構成を完了したら、次:データベースおよびテーブルのフィールド設定 をクリックします。 ApsaraDB for SelectDB インスタンスに同期するテーブルの プライマリキー列の追加配布キーエンジンの選択 パラメータを構成します。

  14. 説明
    • 同期タイプ パラメータで スキーマ同期 を選択した場合にのみ、この手順を実行できます。 パラメータを変更するには、定義ステータス パラメータを すべて に設定します。

    • ドロップダウンリストから プライマリキー列の追加 パラメータに複数の列を選択できます。 プライマリキー列の追加 パラメータに指定された 1 つ以上の列を、配布キー パラメータに選択できます。 エンジンの選択 パラメータには、一意 のみを選択できます。

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

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

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

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

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

    • 事前チェック中に項目に対してアラートが生成された場合は、シナリオに基づいて次の操作を実行します。

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

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

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

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

  18. セクション

    パラメータ

    説明

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

    課金方法

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

    • 従量課金: 従量課金インスタンスは 1 時間単位で課金されます。 短期使用の場合は、従量課金方法を選択することをお勧めします。 従量課金インスタンスが不要になった場合は、インスタンスを解放してコストを削減できます。

    リソースグループ

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

    インスタンスクラス

    DTS は、さまざまなパフォーマンスをサポートするさまざまな同期仕様を提供します。 同期速度は、選択した同期仕様によって異なります。 ビジネス要件に基づいて同期仕様を選択できます。 詳細については、「データ同期インスタンスのインスタンスクラス」をご参照ください。

    サブスクリプション期間

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

    説明

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

  19. [data Transmission Service (従量課金) サービス規約] を読んで選択します。

  20. [購入して開始] をクリックして、データ同期タスクを開始します。 タスクの進行状況はタスクリストで確認できます。

高度な使用方法

増分同期をサポートする SQL 操作

タイプ

SQL 文

DML

INSERT、UPDATE、および DELETE

DDL

  • ADD COLUMN

  • DROP COLUMN および DROP TABLE

  • TRUNCATE TABLE

データ型マッピング

カテゴリ

MySQL のデータ型

ApsaraDB for SelectDB のデータ型

数値

TINYINT

TINYINT

TINYINT UNSIGNED

SMALLINT

SMALLINT

SMALLINT

SMALLINT UNSIGNED

INT

MEDIUMINT

INT

MEDIUMINT UNSIGNED

BIGINT

INT

INT

INT UNSIGNED

BIGINT

BIGINT

BIGINT

BIGINT UNSIGNED

LARGEINT

BIT(M)

INT

DECIMAL

DECIMAL

説明

ZEROFILL はサポートされていません。

NUMERIC

DECIMAL

FLOAT

FLOAT

DOUBLE

DOUBLE

  • BOOL

  • BOOLEAN

BOOLEAN

日付と時刻

日付

DATEV2

DATETIME[(fsp)]

DATETIMEV2

TIMESTAMP[(fsp)]

DATETIMEV2

TIME[(fsp)]

VARCHAR

YEAR[(4)]

INT

文字列

  • CHAR

  • VARCHAR

VARCHAR

重要

データの損失を防ぐため、CHAR 型と VARCHAR(n) 型のデータは、ApsaraDB for SelectDB に同期された後、VARCHAR(3*n) 型に変換されます。

  • データの長さを指定しない場合、デフォルト値 VARCHAR(65533) が使用されます。

  • データの長さが 65533 文字を超える場合、データは ApsaraDB for SelectDB に同期された後に文字列に変換されます。

  • BINARY

  • VARBINARY

STRING

  • TINYTEXT

  • TEXT

  • MEDIUMTEXT

  • LONGTEXT

STRING

  • TINYBLOB

  • BLOB

  • MEDIUMBOLB

  • LONGBLOB

STRING

ENUM

STRING

SET

STRING

JSON

STRING

よくある質問

  • Q: DTS のデータ同期機能とデータ移行機能の違いは何ですか?

    A: 次の表に、データ移行機能とデータ同期機能の違いを示します。

    項目

    データ移行

    データ同期

    シナリオ

    データ移行機能は、オンプレミスデータベース、ECS インスタンスでホストされている自己管理データベース、およびサードパーティクラウド上のデータベースから Alibaba Cloud にデータを移行するために使用されます。

    データ同期機能は、2 つのデータソース間でデータをリアルタイムに同期するために使用されます。 この機能は、アクティブ地理的冗長性、ディザスタリカバリ、クロスボーダーデータ同期、レポート用のデータクエリとデータストリーミング、クラウドビジネスインテリジェンス (BI) システム、リアルタイムデータウェアハウスなどのシナリオに適しています。

    目的

    データ移行機能は、一般的に既存の履歴データを移行するために使用されます。

    データ同期機能は、一般的に既存のデータを移行し、増分データをリアルタイムに同期するために使用されます。

    課金方法

    従量課金方法のみがサポートされています。

    従量課金方法とサブスクリプション課金方法がサポートされています。

    課金ルール

    増分データ移行が一時停止されている期間を除き、増分データ移行の進行中にのみ課金されます。 スキーマ移行または完全データ移行については課金されません。

    • 従量課金方法を使用する場合、増分データ同期が一時停止されている期間を含め、増分データ同期の進行中にのみ課金されます。 スキーマ同期または完全データ同期については課金されません。

    • サブスクリプション課金方法を使用する場合、料金はデータ同期インスタンスの購入時に指定した数量と構成に基づいて差し引かれます。

    詳細については、「よくある質問」をご参照ください。

  • Q: ApsaraDB for SelectDB に同期されるソーステーブルにフィールドを追加できますか?

    A: フィールドに対して ADD COLUMN 操作と DROP COLUMN 操作を実行できます。 DTS はこれらの操作を自動的に同期します。 増分同期できる操作の詳細については、このトピックの増分同期できる SQL 操作セクションをご参照ください。

  • Q: DTS は、CREATE TABLE 操作を実行することによって作成された新しいテーブルを同期しますか?

    A: DTS は、次のシナリオで新しいテーブルを同期します。

    • 同期対象オブジェクトとしてデータベースを選択した場合、新しいテーブルは同期されません。ソースオブジェクト ただし、ソースデータベースの新しいテーブルに対応するテーブルをターゲット ApsaraDB for SelectDB インスタンスに手動で作成できます。 DTS は新しいテーブルのデータを自動的に同期します。

    • 同期対象オブジェクトとしてテーブルを選択した場合、新しいテーブルを同期対象オブジェクトとして選択できます。 同期対象オブジェクトを変更するには、DTS コンソールの [データ同期] ページでデータ同期タスクを見つけ、[操作] 列の [オブジェクトの再選択] をクリックします。ソースオブジェクト

  • Q: 同期するテーブルにプライマリキーまたは一意制約がない場合はどうすればよいですか?

    A:

    • MySQL データベースから同期されるテーブルには、プライマリキーまたは一意制約が必要です。また、すべてのフィールドが一意である必要があります。

    • 同期するデータベースを選択し、データベース内のテーブルにプライマリキーまたは一意制約がない場合は、次の操作を実行します。 [オブジェクトと詳細設定の構成] ステップで [スキーマ同期] を選択します。 [データベースとテーブルフィールドの構成] ステップで、テーブルに一意キーモデルを使用し、テーブルのプライマリキー列を手動で構成します。

関連情報