データ同期機能は、複数のタイプの同期トポロジをサポートします。 ビジネス要件に基づいてデータ同期インスタンスを計画できます。 このトピックでは、Data Transmission Service (DTS) でサポートされている同期トポロジと、これらのトポロジの使用方法について説明します。
一方向同期
一方向同期のデータの一貫性を確保するために、ターゲットインスタンスのオブジェクトに対して読み取り操作のみを実行することを推奨します。 オブジェクトに対して書き込み操作を実行しないでください。
トポロジタイプ | トポロジ | 説明 |
一方向の 1 対 1 の同期 | なし | |
一方向の 1 対多の同期 | 一方向の1対多同期を実装するには、複数のデータ同期インスタンスを購入する必要があります。 たとえば、インスタンスAからインスタンスB、インスタンスC、およびインスタンスDにデータを同期する場合は、3つのデータ同期インスタンスを購入する必要があります。 | |
一方向のカスケード同期 | 一方向カスケード同期を実装するには、複数のデータ同期インスタンスを購入する必要があります。 たとえば、インスタンスAからインスタンスBに、次にインスタンスBからインスタンスCにデータを同期する場合は、2つのデータ同期インスタンスを購入する必要があります。 | |
一方向の多対 1 の同期 | 一方向多対1同期を実装するには、複数のデータ同期インスタンスを購入する必要があります。 たとえば、インスタンスB、インスタンスC、およびインスタンスDのデータをインスタンスAに同期する場合、3つのデータ同期インスタンスを購入する必要があります。 説明 マルチテーブルマージなどの特定のシナリオでは、ソースインスタンス内の異なるオブジェクトの複数のデータレコードに対して変更操作を実行し、そのデータレコードをターゲットインスタンス内の同じデータ行に同期する場合、DTSはターゲットインスタンスに対して変更操作を同時に実行します。 これにより、データの不一致が発生する可能性があります。 |
双方向同期
ソースインスタンス | 宛先インスタンス |
MySQL |
|
PolarDB for MySQL |
|
PostgreSQL |
|
POLARDB for PostgreSQL |
説明 PolarDB for PostgreSQLクラスターとPostgreSQLデータベースまたはPolarDB for PostgreSQLクラスター間の双方向同期を設定する前に、データ同期インスタンスを購入する必要があります。 DTSインスタンスの購入方法の詳細については、「DTSインスタンスの購入」をご参照ください。 |
TairまたはRedis | TairまたはRedis |
MongoDB | MongoDB |
DTSは、2つのデータベース間の双方向同期のみをサポートします。 DTSは、複数のデータベース間の双方向同期をサポートしていません。
双方向同期の設定方法の詳細については、「MySQLデータベース間の双方向同期の設定」をご参照ください。
データ同期タスクの同期トポロジを一方向から双方向にアップグレードできます。 詳細については、「同期トポロジの一方向から双方向へのアップグレード」をご参照ください。
トポロジタイプ | トポロジ | 説明 |
双方向の 1 対 1 の同期 | データの一貫性を確保するために、同じプライマリキー、ビジネスプライマリキー、または一意のキーを持つデータレコードが、ソースインスタンスとターゲットインスタンスのいずれかで更新されるようにします。 説明 ソースインスタンスとターゲットインスタンスの両方でデータレコードが更新された場合、DTSはデータ同期タスクに指定した競合解決ポリシーに基づいて競合に応答します。 |