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

Data Transmission Service:RDS for PostgreSQL インスタンスから SelectDB インスタンスへのデータ同期

最終更新日:Jan 18, 2026

Data Transmission Service (DTS) は、自主管理 PostgreSQL データベースや RDS for PostgreSQL インスタンスなどの PostgreSQL データベースから、大規模データ分析のための SelectDB インスタンスへのデータ同期をサポートしています。このトピックでは、ソースの RDS for PostgreSQL インスタンスを例に、その手順を説明します。

前提条件

  • ターゲットの SelectDB インスタンスが作成済みであること。ターゲットインスタンスのストレージ領域は、ソースの RDS for PostgreSQL インスタンスが使用するストレージ領域よりも大きい必要があります。詳細については、「インスタンスの作成」をご参照ください。

  • ソースの RDS for PostgreSQL インスタンスの wal_level パラメーターが logical に設定されていること。詳細については、「インスタンスパラメーターの設定」をご参照ください。

注意事項

タイプ

説明

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

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

    • 同期するすべてのテーブルにプライマリキーまたは一意制約がある場合:

      テーブルのフィールドが一意であることを確認してください。そうでない場合、ターゲットデータベースに重複データが発生する可能性があります。

      説明

      ターゲットテーブルが DTS によって作成されなかった場合 (つまり、同期タイプスキーマ同期 を選択しなかった場合)、ターゲットテーブルには、ソースデータベースで同期するテーブルと同じプライマリキーまたは空でない一意制約が必要です。そうでない場合、ターゲットデータベースで重複データが発生する可能性があります。

    • 同期オブジェクトにプライマリキーも一意制約もないテーブルが含まれる場合:

      インスタンスを設定する際、同期タイプスキーマ同期 を選択します。テーブル・列設定 ステップで、対象テーブルの エンジンの選択[duplicate] に設定します。そうしないと、インスタンスが失敗したり、データが失われたりする可能性があります。

      説明

      初期スキーマ同期中に、DTS はターゲットテーブルに列を追加します。詳細については、「追加列情報」をご参照ください。

    • 同期するデータベースの名前にハイフン (-) を含めることはできません (例:dts-testdata)。

  • テーブルレベルでデータを同期し、列名のマッピングなどのオブジェクトを編集する必要があり、単一の同期タスク内のテーブル数が 5,000 を超える場合は、テーブルを複数のタスクに分割するか、データベース全体を同期するタスクを設定してください。そうしないと、タスクを送信した後にリクエストエラーが報告される可能性があります。

  • 先行書き込みログ (WAL):

    • WAL を有効にする必要があります。wal_level パラメーターを logical に設定します。

    • 増分同期タスクの場合、DTS はソースデータベースの WAL ログを 24 時間以上保持することを要求します。完全同期と増分同期の両方を実行するタスクの場合、DTS は WAL ログを少なくとも 7 日間保持することを要求します。初期完全データ同期が完了した後、ログ保持期間を 24 時間以上に変更できます。DTS が必要な WAL ログを取得できないためにタスクが失敗した場合、または極端なケースでデータの不整合やデータ損失が発生した場合、指定されたログ保持期間が必要な期間より短いため、この問題は DTS のサービスレベルアグリーメント (SLA) の対象外となります。

  • ソースデータベースの操作制限:

    • ソースが自主管理 PostgreSQL データベースでフェールオーバーが発生した場合、データ同期は失敗します。

    • ソースデータベースの論理サブスクリプションの制限により、増分変更後に同期される単一のデータが 256 MB を超えると、同期インスタンスが失敗し、回復できなくなる可能性があります。同期インスタンスを再設定する必要があります。

    • スキーマ同期および完全データ同期中は、データベースまたはテーブルのスキーマを変更するデータ定義言語 (DDL) 操作を実行しないでください。そうしないと、データ同期タスクは失敗します。

      説明

      完全同期フェーズ中、DTS はソースデータベースをクエリし、メタデータロックを取得します。これにより、ソースデータベースでの DDL 操作がブロックされる可能性があります。

  • ソースデータベースに長時間トランザクションがあり、インスタンスに増分同期タスクが含まれている場合、長時間トランザクションがコミットされる前に生成された先行書き込みログ (WAL) はクリアできず、蓄積される可能性があります。これにより、ソースデータベースのディスク領域が不足する可能性があります。

  • 同期インスタンスの実行中にソースデータベースでメジャーエンジンバージョンのアップグレードを実行すると、インスタンスは失敗し、回復できなくなります。同期インスタンスを再設定する必要があります。

その他の制限

  • 現在、SelectDB インスタンスでは Unique または Duplicate エンジンを使用するテーブルにのみデータを同期できます。

    ターゲットテーブルが Unique エンジンを使用する場合

    ターゲットテーブルが Unique エンジンを使用する場合、ターゲットテーブル内のすべての一意キーがソーステーブルにも存在し、同期オブジェクトに含まれていることを確認してください。そうしないと、データの不整合が発生する可能性があります。

    ターゲットテーブルが Duplicate エンジンを使用する場合

    ターゲットテーブルが Duplicate エンジンを使用する場合、以下のケースでターゲットデータベースに重複データが発生する可能性があります。追加列 (_is_deleted、_version、および _record_id) に基づいて重複を削除できます:

    • 同期インスタンスは再試行されました。

    • 同期インスタンスは再起動されました。

    • 同期インスタンスが開始された後、同じデータレコードに対して 2 つ以上の DML 操作が実行された場合。

      説明

      ターゲットテーブルが Duplicate エンジンを使用する場合、DTS は UPDATE または DELETE 文を INSERT 文に変換します。

  • 選択中のオブジェクト ボックスでパラメーターを設定する場合、bucket_count パラメーターのみ設定できます。

    説明

    bucket_count の値は正の整数である必要があります。デフォルト値は [auto] です。

  • SelectDB インスタンスは、文字で始まるデータベース名とテーブル名のみをサポートします。同期するデータベースまたはテーブルの名前が文字で始まらない場合は、マッピング機能を使用して名前を変更する必要があります。

  • 同期オブジェクト (データベース、テーブル、または列) の名前に中国語の文字が含まれている場合は、マッピング機能を使用して名前を英語名などに変更する必要があります。そうしないと、タスクが失敗する可能性があります。

  • 一度に複数の列を変更する DDL 操作や、同じテーブルに対する連続した DDL 操作はサポートされていません。

  • 1 つの同期インスタンスで同期できるデータベースは 1 つだけです。複数のデータベースを同期するには、データベースごとに同期インスタンスを設定する必要があります。

  • DTS は、TimescaleDB 拡張テーブル、スキーマをまたいで継承するテーブル、または式ベースの一意なインデックスを含むテーブルを同期しません。

  • 以下の 3 つのシナリオでは、データを書き込む前に、同期するテーブルに対して ALTER TABLE schema.table REPLICA IDENTITY FULL; コマンドを実行する必要があります。これにより、データの整合性が確保されます。このコマンドの実行中にテーブルロック操作を実行しないでください。そうしないと、テーブルがロックされる可能性があります。事前チェックで関連するチェック項目をスキップした場合、DTS はインスタンスの初期化中にこのコマンドを自動的に実行します。

    • インスタンスが初めて実行されるとき。

    • 同期の粒度がスキーマであり、同期するスキーマに新しいテーブルが作成されるか、RENAME コマンドを使用して同期するテーブルが再構築されるとき。

    • オブジェクトの変更機能を使用するとき。

    説明
    • コマンドで、schematable を、同期するデータが属するスキーマとテーブルの名前に置き換えてください。

    • この操作はオフピーク時に実行してください。

  • 初期完全データ同期中、DTS はソースおよびターゲットデータベースで読み取りおよび書き込みリソースを消費するため、データベースの負荷が増加する可能性があります。したがって、データを同期する前にソースおよびターゲットデータベースのパフォーマンスを評価し、オフピーク時に同期を実行してください (たとえば、ソースおよびターゲットデータベースの CPU 負荷が 30% 未満の場合)。

  • データ同期中に、SelectDB データベースにバックエンド (BE) ノードを追加しないでください。そうしないと、タスクは失敗します。同期インスタンスを再起動して、失敗したタスクを再開することができます。

  • 複数のソーステーブルから単一のターゲットテーブルにデータを同期する複数テーブルのマージシナリオでは、ソーステーブルが同じスキーマを持っていることを確認してください。そうしないと、データの不整合やタスクの失敗が発生する可能性があります。

  • データ同期中に、ターゲットの SelectDB インスタンスに新しいクラスターを作成しないでください。そうしないと、タスクは失敗します。同期インスタンスを再起動して、失敗したタスクを再開することができます。

  • DTS はデータの内容を検証しますが、シーケンスなどのメタデータは検証しません。メタデータはご自身で検証する必要があります。

  • DTS は、増分データの DDL 文、増分テーブルの構造、およびハートビート情報を取得するために、ソースデータベースに以下の一時テーブルを作成します。同期中は、これらの一時テーブルを削除しないでください。そうしないと、DTS タスクが異常になります。一時テーブルは、DTS インスタンスがリリースされた後に自動的に削除されます。

    public.dts_pg_classpublic.dts_pg_attributepublic.dts_pg_typepublic.dts_pg_enumpublic.dts_postgres_heartbeatpublic.dts_ddl_commandpublic.dts_args_session、および public.aliyun_dts_instance

  • データ同期中、DTS はデータをレプリケーションするために、ソースデータベースに dts_sync_ というプレフィックスを持つレプリケーションスロットを作成します。DTS はこのレプリケーションスロットを使用して、15 分以内にソースデータベースから増分ログを取得します。データ同期が失敗した場合や同期インスタンスがリリースされた場合、DTS はこのレプリケーションスロットを自動的にクリアしようとします。

    説明
    • データ同期中にタスクが使用するデータベースアカウントのパスワードを変更したり、ソースデータベースから DTS の IP アドレスホワイトリストを削除したりすると、レプリケーションスロットは自動的にクリアされません。この場合、ソースデータベースで手動でレプリケーションスロットをクリアして、それが蓄積されてディスク領域を占有し、ソースデータベースが利用できなくなるのを防ぐ必要があります。

    • ソースデータベースでフェールオーバーが発生した場合は、セカンダリデータベースにログインして手動でレプリケーションスロットをクリアする必要があります。

    Amazon slot查询信息

  • パーティションテーブルを同期する場合、親テーブルとその子テーブルの両方を同期オブジェクトとして含める必要があります。そうしないと、パーティションテーブルでデータの不整合が発生する可能性があります。

    説明

    PostgreSQL のパーティションテーブルの親テーブルは直接データを保存しません。すべてのデータは子テーブルに保存されます。同期タスクには、親テーブルとそのすべての子テーブルを含める必要があります。そうしないと、子テーブルのデータが同期されず、ソースとターゲット間でデータの不整合が発生する可能性があります。

  • タスクが失敗した場合、DTS の技術サポートは 8 時間以内に回復を試みます。回復プロセス中に、タスクの再起動やパラメーターの調整などの操作が実行される場合があります。

    説明

    パラメーターが調整される場合、DTS タスクのパラメーターのみが変更され、データベースのパラメーターは変更されません。変更される可能性のあるパラメーターには、「インスタンスパラメーターの変更」で説明されているものが含まれますが、これらに限定されません。

特殊なケース

    • ソースインスタンスが ApsaraDB RDS for PostgreSQL インスタンスの場合

      同期中に、ApsaraDB RDS for PostgreSQL インスタンスのエンドポイントまたはゾーンを変更しないでください。そうしないと、同期は失敗します。

    • ソースインスタンスが自主管理 PostgreSQL データベースの場合

      max_wal_senders および max_replication_slots パラメーターの値が、使用中のレプリケーションスロットの数と、この自主管理 PostgreSQL データベースをソースとして作成される DTS インスタンスの数の合計よりも大きいことを確認してください。

    • ソースインスタンスが Google Cloud Platform Cloud SQL for PostgreSQL の場合、ソースデータベースの データベースアカウント は `cloudsqlsuperuser` 権限を持っている必要があります。同期オブジェクトを選択する際には、このアカウントが管理を許可されているオブジェクトを選択するか、同期するオブジェクトの Owner 権限をこのアカウントに付与する必要があります (たとえば、GRANT <owner_of_the_object_to_be_synchronized> TO <source_database_account_used_by_the_task> コマンドを実行して、このアカウントがオブジェクト所有者として関連操作を実行できるようにします)。

      説明

      cloudsqlsuperuser 権限を持つアカウントは、所有者が別の cloudsqlsuperuser 権限を持つアカウントであるデータを管理することはできません。

課金

同期タイプ

料金

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

無料です。

増分データ同期

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

同期でサポートされる SQL 操作

操作タイプ

SQL 文

DML

INSERT、UPDATE、DELETE

DDL

ADD COLUMN、DROP COLUMN

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

データベース

必要な権限

作成と権限付与の方法

ソースの RDS for PostgreSQL インスタンス

同期するデータベースの Owner である特権アカウント (権限付与済みアカウント)。

アカウントの作成 および データベースの作成

ターゲットの SelectDB インスタンス

クラスターアクセス権限 (Usage_priv) およびデータベースの読み書き権限 (Select_priv、Load_priv、Alter_priv、Create_priv、Drop_priv)。

クラスター権限管理 および 基本権限管理

操作手順

  1. ターゲットリージョンの同期タスクのリストに移動します。以下のいずれかの方法を使用できます:

    DTS コンソールからページに移動する

    1. Data Transmission Service (DTS) コンソールにログインします。

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

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

    DMS コンソールからページに移動する

    説明

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

    1. Data Management (DMS) にログインします。

    2. トップメニューバーで、[データ + AI] > [データ転送 (DTS)] > [データ同期] を選択します。

    3. データ同期タスク の右側で、同期インスタンスが配置されているリージョンを選択します。

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

  3. ソースデータベースとターゲットデータベースを設定します。

    カテゴリ

    構成

    説明

    なし

    タスク名

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

    移行元データベース

    既存の接続情報の選択

    • システムに追加された (新規作成または保存された) データベースインスタンスを使用したい場合は、ドロップダウンリストからデータベースインスタンスを選択します。データベース情報は自動的に設定されます。

      説明

      DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 という名前です。

    • データベースインスタンスをシステムに追加していない場合、または既に追加されているインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定する必要があります。

    データベースタイプ

    PostgreSQL を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

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

    ソースの RDS for PostgreSQL インスタンスが存在するリージョンを選択します。

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

    この例では、現在の Alibaba Cloud アカウントに属するデータベースインスタンスが使用されます。× を選択します。

    インスタンス ID

    ソースの RDS for PostgreSQL インスタンスの ID を選択します。

    データベース名

    ソースの RDS for PostgreSQL インスタンスで同期するオブジェクトを含むデータベースの名前を入力します。

    データベースアカウント

    ソースの RDS for PostgreSQL インスタンスのデータベースアカウントを入力します。必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

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

    データベースアカウントに対応するパスワードを入力します。

    移行先データベース

    既存の接続情報の選択

    • システムに追加された (新規作成または保存された) データベースインスタンスを使用したい場合は、ドロップダウンリストからデータベースインスタンスを選択します。データベース情報は自動的に設定されます。

      説明

      DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 という名前です。

    • データベースインスタンスをシステムに追加していない場合、または既に追加されているインスタンスを使用する必要がない場合は、以下のデータベース情報を手動で設定する必要があります。

    データベースタイプ

    [SelectDB] を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

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

    ターゲットの SelectDB インスタンスが存在するリージョンを選択します。

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

    この例では、現在の Alibaba Cloud アカウントに属するデータベースインスタンスが使用されます。× を選択します。

    インスタンス ID

    ターゲットの SelectDB インスタンスの ID を選択します。

    データベースアカウント

    ターゲットの SelectDB インスタンスのデータベースアカウントを入力します。必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

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

    データベースアカウントに対応するパスワードを入力します。

  4. 設定が完了したら、ページ下部の 接続をテストして続行 をクリックします。

    説明
    • DTS サーバーからのアクセスを許可するために、DTS サーバーの IP アドレスブロックがソースおよびターゲットデータベースのセキュリティ設定に追加されていることを確認してください。これは自動または手動で行うことができます。詳細については、「DTS サーバーの IP アドレスブロックをホワイトリストに追加する」をご参照ください。

    • ソースまたはターゲットデータベースが自己管理データベースである場合 (アクセス方法Alibaba Cloud インスタンス ではない場合)、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックする必要もあります。

  5. タスクオブジェクトを設定します。

    1. オブジェクト設定 ページで、同期するオブジェクトを設定できます。

      構成

      説明

      同期タイプ

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

      重要

      PostgreSQL データベースから SelectDB インスタンスにデータを同期する場合、データ型が変換されます。スキーマ同期 チェックボックスを選択しない場合は、事前にターゲットの SelectDB インスタンスに適切なスキーマを持つ Unique または Duplicate モデルのテーブルを作成する必要があります。詳細については、「データ型のマッピング」、「」、および「データモデル」をご参照ください。

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

      • エラーの事前チェックと報告:ターゲットデータベースに同じ名前のテーブルが存在するかどうかをチェックします。同じ名前のテーブルが存在しない場合、チェックは成功します。同じ名前のテーブルが存在する場合、事前チェックは失敗し、データ同期タスクは開始されません。

        説明

        ターゲットデータベースで同じ名前のテーブルを削除または名前変更できない場合は、ターゲットデータベースで別のテーブル名にマッピングできます。詳細については、「スキーマ、テーブル、列のマッピング」をご参照ください。

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

        警告

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

        • テーブルスキーマが同じで、ターゲットデータベースのレコードがソースデータベースのレコードと同じプライマリキーまたは一意キーの値を持つ場合、ソースデータベースのレコードがターゲットデータベースのレコードを上書きします。

        • テーブルスキーマが異なる場合、データの初期化に失敗したり、一部の列のデータしか同期できなかったり、同期が失敗したりする可能性があります。注意して進めてください。

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

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

      ソースオブジェクト

      ソースオブジェクト ボックスで、同期するオブジェクトをクリックし、向右 をクリックして 選択中のオブジェクト ボックスに移動します。

      説明

      スキーマまたはテーブルレベルでオブジェクトを選択できます。

      選択中のオブジェクト

      • ターゲットインスタンスでの同期オブジェクトの名前を設定したり、データを受信するオブジェクトを指定したりするには、選択中のオブジェクト ボックスで同期オブジェクトを右クリックして変更します。詳細については、「テーブル名と列名のマッピング」をご参照ください。

      • 同期オブジェクトを削除するには、選択中のオブジェクト ボックスでオブジェクトをクリックし、image をクリックして ソースオブジェクト ボックスに移動します。

      • 同期タイプスキーマ同期 チェックボックスを選択し、テーブルレベルでオブジェクトを選択した場合、バケット数 (bucket_count パラメーター) を設定できます。これを行うには、選択中のオブジェクト ボックスでテーブルを右クリックします。パラメーター設定 セクションで、パラメーター設定の有効化 に設定し、パラメーター値 を指定して、[OK] をクリックします。

      説明
      • オブジェクト名マッピング機能を使用すると、マッピングされたオブジェクトに依存する他のオブジェクトの同期が失敗する可能性があります。

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

      • 増分同期の SQL 操作を選択するには、選択中のオブジェクト ボックスで同期オブジェクトを右クリックし、表示されるダイアログボックスから目的の操作を選択します。

    2. 詳細設定へ をクリックします。

      構成

      説明

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

      デフォルトでは、DTS は共有クラスターでタスクをスケジュールするため、クラスターを選択する必要はありません。より安定したパフォーマンスを得るために、DTS 同期タスクを実行するための専用クラスターを購入できます。詳細については、「DTS 専用クラスターとは」をご参照ください。

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

      同期タスクが開始された後、ソースまたはターゲットデータベースへの接続が失敗した場合、DTS はエラーを報告し、すぐに接続のリトライを開始します。デフォルトのリトライ時間は 720 分です。10 分から 1,440 分の範囲でカスタムのリトライ時間を指定することもできます。30 分以上に設定することを推奨します。指定された時間内に DTS がデータベースに正常に再接続した場合、同期タスクは自動的に再開されます。そうでない場合、タスクは失敗します。

      説明
      • 同じソースまたはターゲットを共有する複数の DTS インスタンス (たとえば、インスタンス A とインスタンス B) があり、インスタンス A のネットワークリトライ時間を 30 分、インスタンス B を 60 分に設定した場合、両方に短い方の 30 分が使用されます。

      • DTS は接続リトライ期間中のタスク実行時間に対して課金するため、ビジネスニーズに基づいてリトライ時間をカスタマイズするか、ソースおよびターゲットデータベースインスタンスがリリースされた後できるだけ早く DTS インスタンスをリリースすることを推奨します。

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

      同期タスクが開始された後、ソースまたはターゲットデータベースで接続以外の問題 (DDL または DML 実行例外など) が発生した場合、DTS はエラーを報告し、すぐに連続的なリトライ操作を開始します。デフォルトのリトライ時間は 10 分です。1 分から 1,440 分の範囲でカスタムのリトライ時間を指定することもできます。10 分以上に設定することを推奨します。設定されたリトライ時間内に関連操作が成功した場合、同期タスクは自動的に再開されます。そうでない場合、タスクは失敗します。

      重要

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

      完全同期レートを制限するかどうか

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

      説明
      • この設定項目は、同期タイプ完全データ同期 に設定されている場合にのみ利用可能です。

      • 同期インスタンスの実行後に 完全同期レートを調整する こともできます。

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

      増分同期タスクにもレート制限を設定できます。ターゲットデータベースへの圧力を軽減するために、1 秒あたりの増分同期の行数 RPS1 秒あたりの増分同期データ量 (MB) BPS を設定します。

      環境タグ

      インスタンスを識別するために環境タグを選択できます。この設定はオプションです。

      ETL 機能の設定

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

      監視アラート

      アラートを設定するかどうかを指定します。同期が失敗した場合や、レイテンシが指定されたしきい値を超えた場合に、アラート連絡先に通知が送信されます。

    3. オプション:上記の設定を完了した後、次:データベースおよびテーブルのフィールド設定 をクリックして、ターゲットテーブルの プライマリキー列の追加配布キー、および エンジンの選択 を設定します。

      説明
      • このステップは、同期タイプスキーマ同期 チェックボックスを選択した場合にのみ利用可能です。定義ステータスすべて に設定して設定を変更できます。

      • プライマリキー列の追加 に複合プライマリキーを形成するために複数の列を選択できます。プライマリキー列の追加 から 1 つ以上の列を 配布キー として選択する必要があります。

      • プライマリキーまたは一意制約のないテーブルの場合、エンジンの選択[duplicate] に設定する必要があります。そうしないと、同期タスクが失敗したり、データが失われたりする可能性があります。

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

    • このインスタンスを設定するための API パラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにカーソルを合わせ、バブル内の OpenAPI パラメーターのプレビュー をクリックします。

    • API パラメーターの表示が完了したら、ページ下部の 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • 同期ジョブが開始される前に、DTS は事前チェックを実行します。ジョブは、すべての事前チェック項目が合格した後にのみ開始できます。

    • 事前チェックが失敗した場合は、失敗した項目の 詳細を表示 をクリックします。プロンプトに従って問題を修正し、再度事前チェックを実行します。

    • 事前チェックで警告が生成された場合:

      • チェック項目が失敗し、無視できない場合は、項目の横にある 詳細を表示 をクリックします。指示に従って問題を修正し、再度事前チェックを実行します。

      • 無視できるチェック項目については、アラートの詳細を確認無視OK再度事前チェックを実行 を順にクリックして警告をスキップし、事前チェックを再実行できます。警告項目を無視することを選択した場合、データの不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。

  7. インスタンスを購入します。

    1. 成功率 が 100% になったら、次:インスタンスの購入 をクリックします。

    2. 購入 ページで、データ同期インスタンスの課金方法とリンク仕様を選択します。次の表で、これらのオプションについて詳しく説明します。

      カテゴリ

      パラメーター

      説明

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

      課金方法

      • サブスクリプション:インスタンス作成時にお支払いいただきます。長期的なニーズに適しており、従量課金よりもコスト効率が高いです。サブスクリプション期間が長いほど、割引率が高くなります。

      • 従量課金:時間単位で課金されます。短期的なニーズに適しています。使用後すぐにインスタンスをリリースしてコストを節約できます。

      リソースグループ設定

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

      リンク仕様

      DTS は、異なるパフォーマンスレベルの同期仕様を提供します。同期リンク仕様は同期レートに影響します。ビジネスシナリオに基づいて仕様を選択できます。詳細については、「データ同期リンク仕様」をご参照ください。

      サブスクリプション期間

      サブスクリプションモードでは、サブスクリプションインスタンスの期間と数量を選択します。1 か月から 9 か月までの月次サブスクリプション、または 1 年、2 年、3 年、5 年の年次サブスクリプションを選択できます。

      説明

      このオプションは、課金方法が サブスクリプション の場合にのみ表示されます。

    3. 設定が完了したら、Data Transmission Service (従量課金) 利用規約 を読んで確認します。

    4. 購入して起動 をクリックします。OK ダイアログボックスで、[OK] をクリックします。

      [データ同期] ページでタスクの進捗状況を確認できます。

データ型のマッピング

カテゴリ

PostgreSQL データ型

SelectDB データ型

NUMERIC

SMALLINT

SMALLINT

INTEGER

INT

BIGINT

BIGINT

DECIMAL

DECIMAL

NUMERIC

DECIMAL

REAL

DOUBLE

DOUBLE

DOUBLE

SMALLSERIAL

SMALLINT

SERIAL

INT

BIGSERIAL

BIGINT

MONETARY

MONEY

STRING

CHARACTER

  • CHAR(n)

  • VARCHAR(n)

VARCHAR

重要

データ損失を防ぐため、CHAR(n) および VARCHAR(n) 型のデータは、SelectDB インスタンスに同期される際に VARCHAR(4*n) に変換されます。

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

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

TEXT

STRING

BINARY

BYTEA

STRING

DATE AND TIME

TIMESTAMP [(P)] [WITHOUT TIME ZONE]

DATETIMEV2

TIMESTAMP [(P)] WITH TIME ZONE

DATETIMEV2

DATE

DATEV2

TIME [(P)] [WITHOUT TIME ZONE]

VARCHAR(50)

TIME [(P)] WITH TIME ZONE

VARCHAR(50)

INTERVAL [FIELDS] [(P)]

STRING

BOOLEAN

BOOLEAN

BOOLEAN

GEOMETRIC

  • POINT

  • LINE

  • LSEG

  • BOX

  • PATH

  • POLYGON

  • CIRCLE

STRING

NETWORK ADDRESS

  • CIDR

  • INET

  • MACADDR

  • MACADDR8

STRING

TEXT SEARCH

TSVECTOR

STRING

XML

XML

STRING

JSON

JSON

JSON

追加列情報

説明

次の表は、DTS が自動的に追加するか、Duplicate モデルを使用するターゲットテーブルに手動で追加する必要がある追加列について説明しています。

名前

データ型

デフォルト値

説明

_is_deleted

Int

0

データが削除されたかどうかを示します。

  • Insert:値は 0 です。

  • Update:値は 0 です。

  • Delete:値は 1 です。

_version

Bigint

0

  • 完全データ同期の場合、値は 0 です。

  • 増分データ同期の場合、値はソースデータベースのバイナリログに対応するタイムスタンプ (秒単位) です。

_record_id

Bigint

0

  • 完全データ同期の場合、値は 0 です。

  • 増分データ同期の場合、値は増分ログのレコード ID です。この ID はログの一意の識別子です。

    説明

    ID 値は一意であり、増加します。