All Products
Search
Document Center

Data Transmission Service:Synchronize PolarDB-X 2.0 to DataHub

Last Updated:Aug 26, 2026

You can use Data Transmission Service (DTS) to synchronize incremental data from PolarDB-X 2.0 to DataHub in real time.

Prerequisites

Limits

Type

Description

Source database limitations

  • Synchronized tables must have a primary key or a unique constraint. Otherwise, duplicate data may occur in the destination database.

  • DTS does not support Enterprise Edition PolarDB-X 2.0 read-only instances as the source database.

  • If you synchronize tables individually and perform edits, such as column name mapping, a single data synchronization task supports a maximum of 5,000 tables. To synchronize more than 5,000 tables, split them across multiple tasks or configure the task to synchronize the entire database. Otherwise, a request error may occur after you submit the task.

  • Binary log requirements:

    • You must enable the binary log feature in the PolarDB-X 2.0 console and set the binlog_row_image parameter to full. For more information, see Parameter settings. Otherwise, the precheck fails and the data synchronization task cannot start.

    • For an incremental data synchronization task, the binary logs of the source database must be retained for at least 24 hours. For a task that includes both schema synchronization and incremental data synchronization, the binary logs must be retained for at least 7 days. After schema synchronization is complete, you can reduce the retention period to a minimum of 24 hours. Otherwise, DTS may be unable to obtain the binary logs, causing the task to fail and potentially leading to data inconsistency or loss. Issues that arise because the binary log retention period is shorter than required are not covered by the DTS SLA.

  • DTS does not support synchronizing table groups (TABLEGROUP) or databases and tables that have the Locality attribute.

  • DTS does not support synchronizing tables whose names are reserved keywords, such as select.

  • During schema synchronization, do not perform any DDL operation to change the database or table schema. Otherwise, the data synchronization task will fail.

  • DTS cannot synchronize partitions of databases in DRDS mode on a PolarDB-X 2.0 instance.

Other limitations

  • Only table-level data synchronization is supported.

  • The maximum length for a single String field in the destination DataHub is 2 MB.

  • Do not use tools like pt-online-schema-change to perform online DDL operations on the objects being synchronized in the source database. Otherwise, the synchronization task fails.

  • During data synchronization, do not allow other applications or processes to write to the destination database. This prevents data inconsistencies and potential data loss. For example, if another process writes to the destination while DTS is synchronizing data, data loss may occur.

  • Full data synchronization is not supported. DTS does not synchronize historical data from the source PolarDB-X 2.0 instance to the destination DataHub instance.

  • If a task fails, DTS support staff will attempt to restore it within eight hours. During restoration, they may restart the task or adjust its parameters.

    Note

    Only DTS task parameters are modified—not database parameters. Parameters that may be adjusted include those listed in Modify instance parameters.

Other precautions

DTS periodically updates the dts_health_check`.`ha_health_check table in the source database to advance the binary log position.

Supported synchronization topologies

  • One-way one-to-one synchronization

  • One-way one-to-many synchronization

  • One-way many-to-one synchronization

  • One-way cascade synchronization

For more information about synchronization topologies and their considerations, see Synchronization topologies.

Supported SQL operations

Operation type

SQL statement

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN

Important

If you manually modify the table structure in the target database, restart the task: pause and then start the task.

Precautions

Procedure

  1. Go to the data synchronization task list page in the destination region. You can do this in one of two ways.

    DTS console

    1. Log on to the DTS console.

    2. In the navigation pane on the left, click Data Synchronization.

    3. In the upper-left corner of the page, select the region where the synchronization instance is located.

    DMS console

    Note

    The actual steps may vary depending on the mode and layout of the DMS console. For more information, see Simple mode console and Customize DMS console layout and style.

    1. Log on to the DMS console.

    2. In the top menu bar, choose Data + AI > DTS (DTS) > Data Synchronization.

    3. To the right of Data Synchronization Tasks, select the region of the synchronization instance.

  2. Click Create Task to navigate to the task configuration page.

  3. Configure the source and destination databases.

    Category

    Parameter

    Description

    N/A

    Task Name

    DTS automatically generates a task name. We recommend that you specify a descriptive name for easy identification. The name does not need to be unique.

    Source Database

    Select Existing Connection

    • Select the registered database instance with DTS from the drop-down list. The database information below is automatically configured.

      Note

      In the DMS console, this configuration item is Select a DMS database instance.

    • If you have not registered the database instance or do not need to use a registered instance, manually configure the database information below.

    Database Type

    Select PolarDB-X 2.0.

    Connection Type

    Select Alibaba Cloud Instance.

    Instance Region

    Select the region where the source PolarDB-X 2.0 instance is located.

    Replicate Data Across Alibaba Cloud Accounts

    This example synchronizes data within the same Alibaba Cloud account. Select No.

    Instance ID

    Select the ID of the source PolarDB-X 2.0 instance.

    Database Account

    Enter the database account of the source PolarDB-X 2.0 instance. The account must have the REPLICATION SLAVE, REPLICATION CLIENT, and SELECT permissions on the objects you are synchronizing.

    Note

    For information on how to grant permissions, see Account permission issues during data synchronization.

    Database Password

    Enter the password for the specified database account.

    Destination Database

    Select Existing Connection

    • Select the registered database instance with DTS from the drop-down list. The database information below is automatically configured.

      Note

      In the DMS console, this configuration item is Select a DMS database instance.

    • If you have not registered the database instance or do not need to use a registered instance, manually configure the database information below.

    Database Type

    Select DataHub.

    Connection Type

    Select Alibaba Cloud Instance.

    Instance Region

    Select the region where the destination DataHub instance is located.

    Project

    Select the destination DataHub Project.

  4. After you complete the configuration, click Test Connectivity and Proceed at the bottom of the page.

    Note

    Ensure that the IP address blocks of the DTS service are added to the security settings of the source and destination databases, either automatically or manually, to allow access from DTS servers. For more information, see Add the IP address whitelist of DTS servers.

  5. Configure the task objects.

    1. On the Configure Objects page, specify the objects to synchronize.

      Parameter

      Description

      Synchronization Types

      By default, Incremental Synchronization is selected. This option supports Schema Synchronization but not Full Data Synchronization.

      Note

      During the initialization phase of the data synchronization task, DTS synchronizes the schema definitions, such as table schemas, of the synchronization objects to the destination DataHub instance.

      Naming Rules of Additional Columns

      DTS adds additional columns to the destination topic during synchronization. If these column names conflict with existing columns in the destination topic, the synchronization task fails. Set Naming Rules of Additional Columns to New Rule or Previous Rule based on your business requirements.

      Warning

      Before you select a rule, evaluate whether the additional column names conflict with existing columns in the destination topic. Otherwise, the task may fail or data may be lost. For more information, see Names and definitions of additional columns.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Checks for tables with the same names in the destination database. If any tables with the same names are found, an error is reported during the precheck and the data synchronization task does not start. Otherwise, the precheck is successful.

        Note

        If you cannot delete or rename the table with the same name in the destination database, you can map it to a different name in the destination. For more information, see Object name mapping.

      • Ignore Errors and Proceed: Skips the check for tables with the same name in the destination database.

        Warning

        Selecting Ignore Errors and Proceed may cause data inconsistency and put your business at risk. For example:

        • If the table schemas are consistent and a record in the destination database has the same primary key or unique key value as a record in the source database:

          • During full data synchronization, DTS retains the destination record and skips the source record.

          • During incremental synchronization, DTS overwrites the destination record with the source record.

        • If the table schemas are inconsistent, data initialization may fail. This can result in only partial data synchronization or a complete synchronization failure. Use with caution.

      Capitalization of Object Names in Destination Instance

      Configure the case-sensitivity policy for database, table, and column names in the destination instance. By default, the DTS default policy is selected. You can also choose to use the default policy of the source or destination database. For more information, see Case policy for destination object names.

      Source Objects

      In the Source Objects box, click the objects, and then click 向右 to move them to the Selected Objects box.

      Note

      You can select only tables as the objects to be synchronized.

      Selected Objects

      • To rename a single object in the destination instance, right-click the object in the Selected Objects box. For more information, see Map a single object name.

      • To rename multiple objects in bulk, click Batch Edit in the upper-right corner of the Selected Objects box. For more information, see Map multiple object names in bulk.

      Note

      To filter data by using a WHERE clause, right-click the table that you want to synchronize in the Selected Objects pane. In the dialog box that appears, specify the filter condition. For more information, see Filter synchronized data by using SQL conditions.

    2. Click Next: Advanced Settings.

      Parameter

      Description

      Dedicated Cluster for Task Scheduling

      By default, DTS uses a shared cluster for tasks, so you do not need to make a selection. For greater task stability, you can purchase a dedicated cluster to run the DTS synchronization task. For more information, see What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      If the connection to the source or destination database fails after the synchronization task starts, DTS reports an error and immediately begins to retry the connection. The default retry duration is 720 minutes. You can customize the retry time to a value from 10 to 1,440 minutes. We recommend a duration of 30 minutes or more. If the connection is restored within this period, the task resumes automatically. Otherwise, the task fails.

      Note
      • If multiple DTS instances (e.g., Instance A and B) share a source or destination, DTS uses the shortest configured retry duration (e.g., 30 minutes for A, 60 for B, so 30 minutes is used) for all instances.

      • DTS charges for task runtime during connection retries. Set a custom duration based on your business needs, or release the DTS instance promptly after you release the source/destination instances.

      Retry Time for Other Issues

      If a non-connection issue (e.g., a DDL or DML execution error) occurs, DTS reports an error and immediately retries the operation. The default retry duration is 10 minutes. You can also customize the retry time to a value from 1 to 1,440 minutes. We recommend a duration of 10 minutes or more. If the related operations succeed within the set retry time, the synchronization task automatically resumes. Otherwise, the task fails.

      Important

      The value of Retry Time for Other Issues must be less than that of Retry Time for Failed Connections.

      Enable Throttling for Incremental Data Synchronization

      You can also limit the incremental synchronization rate to reduce pressure on the destination database by setting RPS of Incremental Data Synchronization and Data synchronization speed for incremental synchronization (MB/s).

      Whether to delete SQL operations on heartbeat tables of forward and reverse tasks

      Choose whether DTS writes heartbeat SQL information to the source database while the instance is running.

      • Yes: Does not write heartbeat SQL information to the source database. The DTS instance may display latency.

      • No: Writes heartbeat SQL information to the source database. This may interfere with source database operations like physical backups and cloning.

      Environment Tag

      Select an environment tag to identify the instance. In this example, this parameter is not required.

      Configure ETL

      Choose whether to enable the extract, transform, and load (ETL) feature. For more information, see What is ETL? Valid values:

      Monitoring and Alerting

      Choose whether to set up alerts. If the synchronization fails or the latency exceeds the specified threshold, DTS sends a notification to the alert contacts.

  6. Save the task and perform a precheck.

    • To view the parameters for configuring this instance via an API operation, hover over the Next: Save Task Settings and Precheck button and click Preview OpenAPI parameters in the tooltip.

    • If you have finished viewing the API parameters, click Next: Save Task Settings and Precheck at the bottom of the page.

    Note
    • Before a synchronization task starts, DTS performs a precheck. You can start the task only if the precheck passes.

    • If the precheck fails, click View Details next to the failed item, fix the issue as prompted, and then rerun the precheck.

    • If the precheck generates warnings:

      • For non-ignorable warning, click View Details next to the item, fix the issue as prompted, and run the precheck again.

      • For ignorable warnings, you can bypass them by clicking Confirm Alert Details, then Ignore, and then OK. Finally, click Precheck Again to skip the warning and run the precheck again. Ignoring precheck warnings may lead to data inconsistencies and other business risks. Proceed with caution.

  7. Purchase the instance.

    1. When the Success Rate reaches 100%, click Next: Purchase Instance.

    2. On the Purchase page, select the billing method and link specifications for the data synchronization instance. For more information, see the following table.

      Category

      Parameter

      Description

      New Instance Class

      Billing Method

      • Subscription: You pay upfront for a specific duration. This is cost-effective for long-term, continuous tasks.

      • Pay-as-you-go: You are billed hourly for actual usage. This is ideal for short-term or test tasks, as you can release the instance at any time to save costs.

      Resource Group Settings

      The resource group to which the instance belongs. The default is default resource group. For more information, see What is resource management?.

      Instance Class

      DTS offers synchronization specifications at different performance levels that affect the synchronization rate. Select a specification based on your business requirements. For more information, see Data synchronization link specifications.

      Subscription Duration

      In subscription mode, select the duration and quantity of the instance. Monthly options range from 1 to 9 months. Yearly options include 1, 2, 3, or 5 years.

      Note

      This option appears only when the billing method is Subscription.

    3. Read and select the checkbox for Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Click Buy and Start, and then click OK in the OK dialog box.

      You can monitor the task progress on the data synchronization page.

DataHub topic schema

When DTS synchronizes incremental data to a DataHub topic, it adds metadata columns to the topic.

In this example, id, name, and address are data fields. When the previous naming rules are used, DTS adds the dts_ prefix to all fields, including the original fields from the source. When the new naming rules are used, DTS does not add a prefix to the original source fields.

Topic定义

Previous column name

New column name

Type

Description

dts_record_id

new_dts_sync_dts_record_id

String

Unique ID of the incremental log entry. Auto-increments for each new entry. In disaster recovery scenarios, rollback may cause ID duplication. For UPDATE operations, both log entries (pre-update and post-update) share the same dts_record_id.

dts_operation_flag

new_dts_sync_dts_operation_flag

String

The operation type. Valid values: I (INSERT), D (DELETE), U (UPDATE), F (full data synchronization).

dts_instance_id

new_dts_sync_dts_instance_id

String

The server ID of the database.

dts_db_name

new_dts_sync_dts_db_name

String

The database name.

dts_table_name

new_dts_sync_dts_table_name

String

The table name.

dts_utc_timestamp

new_dts_sync_dts_utc_timestamp

String

The operation timestamp in UTC. This is also the timestamp of the log file.

dts_before_flag

new_dts_sync_dts_before_flag

String

Indicates whether the row values are pre-update values. Valid values: Y, N. See the before and after flag values table.

dts_after_flag

new_dts_sync_dts_after_flag

String

Indicates whether the row values are post-update values. Valid values: Y, N. See the before and after flag values table.

Before and after flag values

The dts_before_flag and dts_after_flag columns indicate whether a row in the topic represents the state before or after a data change.

Operation

Log entries generated

dts_before_flag

dts_after_flag

Row content

INSERT

1

N

Y

The newly inserted values.

DELETE

1

Y

N

The deleted values.

UPDATE (first entry)

2 (same dts_record_id)

Y

N

Pre-update values.

UPDATE (second entry)

2 (same dts_record_id)

N

Y

Post-update values.

INSERT operation

The log entry contains the newly inserted values. dts_before_flag is N and dts_after_flag is Y.

UPDATE operation

DTS generates two log entries with the same dts_record_id, dts_operation_flag, and dts_utc_timestamp values. The first entry captures the pre-update values (dts_before_flag=Y, dts_after_flag=N). The second entry captures the post-update values (dts_before_flag=N, dts_after_flag=Y).

UPDATE操作

DELETE operation

The log entry contains the deleted values. dts_before_flag is Y and dts_after_flag is N.

DELETE操作