You need to enable JavaScript to run this app.
Database Transmission Service

Database Transmission Service

Copy page
Download PDF
(Beta) Data verification
Configuring data verification
Copy page
Download PDF
Configuring data verification
This topic describes how to configure a data verification job in the Database Transmission Service Console to help you verify and check the different data between the source end and the destination without service interruption. This can help you identify data or schema inconsistencies in time.​
Background​
The data verification task supports three methods for checking data discrepancies between the source and target ends: full data verification, full row verification, and schema verification. The specific differences between the three verification methods are shown in the following table:​
​
Verification method​
Full verification​
​
​
Schema verification​
Increment verification​
​
Content verification​
Row verification​
Primary key verification​
​
​
Description​
This verification method can compare all or part of the data content between two databases or data entities. The full data verification process can ensure data consistency, and the accuracy and integrity of the data are guaranteed.​
The validation method can simply compare whether the total number of rows in the source database and the target database is the same. The verification method is fast and effective, and can quickly detect problems such as data loss or duplicate addition.​
This verification method can verify whether the primary keys are consistent between the source and target.​
This verification method can check the consistency of the data schema, such as whether the columns, data type, primary key, and index of the table are the same. This verification method ensures schema consistency between the source and target databases.​
This verification method can verify whether all increment data at the source and target are consistent after the incremental task is enabled.​
Limits​
  • If the table to be validated has no primary key and no unique index, DTS will not perform data validation.​
  • For MySQL-to-MySQL single-table data verification, DTS supports identifying up to 100,000 rows of differing data. If the number of differing rows exceeds 100,000, DTS will not perform data validation.​
  • For other types of databases, data validation for a single table supports identifying at most 100 rows of differing data; if the number of differing rows exceeds 100, DTS will not perform data validation.​
  • Data validation is not supported if ETL rules are configured in the data synchronization task.​
  • Do not perform DDL operations on the source during the validation process, as this may result in inconsistent validation task results.​
  • If the table to be validated has no primary key and no unique index, DTS will not perform data validation.​
  • Data validation is not supported if ETL rules are configured in the data synchronization task.​
  • Do not perform DDL operations on the source during the validation process, as this may result in inconsistent validation task results.​
  • A maximum of 100 rows of different data can be verified in a single table. If this limit is exceeded, Database Transmission Service (DTS) will not perform data verification.​
  • Do not perform DDL operations on the source during the validation process, as this may result in inconsistent validation task results.​
  • Data validation is not supported if ETL rules are configured in the data synchronization task.​
  • Do not perform DDL operations on the source during the validation process, as this may result in inconsistent validation task results.​
  • A maximum of 10,000 different data entries can be verified.​
  • Data validation is not supported if ETL rules are configured in the data synchronization task.​
  • GTID is enabled for both the source and target database instances.​
  • Verification of tables without a primary key is not supported.​
Supported database types​
  • MySQL​
  • veDB MySQL​
  • PostgreSQL​
  • MongoDB​
  • RDS for SQL Server​
  • Redis​
  • MySQL​
  • veDB MySQL​
  • MongoDB​
  • RDS for SQL Server​
  • MongoDB​
  • MySQL​
  • veDB MySQL​
  • MySQL​
  • veDB MySQL​
  • MongoDB​
​
Prerequisites​
  • A full migration task has been created, and its task status is in progress. For more information, refer to Migration solution overview.​
  • A full synchronization task has been created, and its task status is in progress. Refer to Overview for detailed operations.​
Precautions​
  • Data verification objects can only be selected from the migration/synchronization objects, meaning only DTS migration/synchronization objects support data verification.​
  • If synchronization objects are deleted, data verification will not be deleted automatically. At this point, modifying the validation object no longer supports verification for that object.​
  • After modifying the target instance of a migration or synchronization task, existing data verification tasks may no longer be reusable. If a data verification task reports an error, create a new data verification task.​
  • The verification task starts verifying data only when the task completes full migration or full initialization.​
  • During full data verification, if the data undergoes frequent changes, it may lead to inconsistent task results. A second data verification task can be initiated.​
  • Before performing the verification task, you need to evaluate the source database and target database performance. It is recommended that you perform data verification during off-peak hours (for example, the CPU load of the source database and target database is below 30%). Because DTS will occupy certain read resources of the source database and target database during data verification, which may cause the database load to increase. In the case of poor database performance, low specifications, or large business volume, it may increase the pressure on the database, or even cause the database service to be unavailable.​
  • For MySQL-to-MySQL single-table data verification, DTS supports identifying up to 100,000 rows of differing data. If the number of differing rows exceeds 100,000, DTS will not perform data validation. Console page does not display Diff data; to view it, download the data locally. For detailed steps, refer to Download verification result. This feature is available on an allowlist basis. To use it, Submit tickets.​
  • The single table data verification feature from MySQL to MySQL displays up to 2,000 rows of difference data by default; the overall verification limit per table is 100,000 rows. Beyond this threshold, verification will be skipped automatically (no Diff results generated). The console page shows only partial diff data. To view the complete verification result, download the local file. For detailed steps, refer to Download verification result. This feature is available on an allowlist basis. To use it, Submit tickets.​
  • In MongoDB data validation, the source database serves as the reference. The validation only checks whether the selected synchronized or migrated data from the source exists and is consistent in the target database; it cannot detect extra data present in the target database that is not in the source.​
Procedure​
  1. Log on to the DTS console.​
  1. On the top menu bar, select the project and region.​
  1. In the left navigation bar, click Data migration or Data synchronization.​
  1. On the Migration task list or Data synchronization list page, select a path to configure data verification in the following ways:​
  • ​
    Path 1: Configure a data verification task on the task list page
    Path 2: Configure a data verification task on the data verification tab of the target task
    ​
    1. In the upper-right corner of the target migration or synchronization task, select More operations > Create data verification task.​
    1. In the Create verification task dialog box, configure the relevant parameters.​
    ​
  • ​
    Name​
    Description​
    Task name​
    Custom task name. The length must be within 256 characters.​
    tip​
    If not set, the system generates a task name by default according to the naming rule, starting with dts-.​
    Validation type​
    Select the verification method as required. Currently, Full validation, Schema verification, and Increment validation are supported. For more information on the verification method, refer to Background.​
    Verification method​
    When the Validation type is Full validation, you can set the verification method. Currently, you can select Sample content validation, Row verification, and Primary key validation.​
    Sampling percentage​
    Set the data sampling percentage to be verified as needed. The default value is 100, and the value range is [1,100]. It helps to improve efficiency, save resources, quickly identify problems, and improve the user experience when verifying large amounts of data.​
    tip​
    • This parameter can be configured only when Validation type is Full validation and Verification method is Sample content validation.​
    • This feature is only applicable to MySQL data transmission tasks.​
    Verification mode​
    Select a verification mode from the drop-down list as needed. Currently, Compare key and value, Compare key only, and Compare the length of value only are supported.​
    tip​
    Only Redis data transmission tasks support configuring this parameter.​
    Validation object​
    Select the object to be verified. You can perform the following operations in the Selected object area:​
    • Rename databases: Click the pencil icon next to the target databases to rename them. If you select entire databases in the Validation object area, you can only modify the database name in the Selected object area, and can not expand the database.​
    • Filter and delete unnecessary targets: The search box in the Selected object area supports fuzzy search to batch delete unwanted databases and tables.​
    tip​
    • Data verification objects can only be selected from the migration/synchronization objects, meaning only DTS migration/synchronization objects support data verification.​
    • If new synchronization objects are added, data verification will not automatically add verification for the new objects by default. You can add validation objects manually if needed; if synchronization objects are deleted, data verification will not automatically delete them by default.​
    Batch Count​
    ​
    Set the number of keys to process per batch as needed. The value range is 1 to 10,000, and the default value is 300.​
    tip​
    Only Redis data transmission tasks support configuring this parameter.​
    Billing type​
    Currently, only Pay-as-you-go is supported and can not be modified.​
    Error retry time​
    If a data verification task fails due to a disconnection between the source and target databases, the system immediately retries connecting to them multiple times within the specified time. Value range: 600 - 86,400, in seconds (s). The default value is 600 seconds.​
    Full read rate​
    ​
    If the read rate is too high, it may affect the performance of the source database. You can appropriately adjust the migration rate based on the read and write pressure of the source and target databases.​
    • Rows read per second: Enable and set rows read per second as needed to prevent excessive read rate from affecting the performance of the source database. You can adjust the number based on the read and write pressure of the source and target databases. The default value is 100,000, and the value range is 1 to 100,000.​
    • Verification task concurrency: Set the concurrency of the data verification task as needed. This concurrency can improve the performance and efficiency of the data verification task, ensuring it completes quickly and stably. The default value is 8, and the valid range is 1 to 64.​
    tip​
    • Only tasks with instance types of MySQL, MongoDB, and PostgreSQL support setting the full read rate.​
    • The full read rate can only be adjusted when the data verification has progressed to full validation.​
    ​
  1. Click Pre-check.​
  1. On the create verification task page, perform the following actions based on the pre-check result:​
  • Click Details in the Actions column of the pre-check results to view detailed alert and failure messages. After modifying the databases and tables accordingly, click Retry.​
  • Click Ignore in the Actions column to ignore the alert and continue starting the verification task. You can also click Ignore all to ignore all alert messages with one click.​
tip​
  • Selecting Ignore the alert and starting the verification task may result in verification failure.​
  1. Click Confirm order.​
Subsequent operations​
Modify a data verification task​
After a data verification task is created, you can configure the data verification task.​
tip​
The data verification tasks in the following states support configuration.​
  • Increment validation task: The execution status of the verification task is To be started or In progress.​
  • Other verification task types: The execution status of the verification task is To be started.​
  1. Log on to the DTS console.​
  1. On the top menu bar, select the project and region.​
  1. In the left-side navigation pane, click Data verification.​
  1. On the Data verification list page, click Configure in the Actions column for the target data verification task.​
  1. On the Modify verification task page, configure Task name and Validation object.​
  • ​
    Name​
    Description​
    Task name​
    Custom task name. The length must be within 256 characters.​
    tip​
    If not set, the system generates a task name by default according to the naming rule, starting with dts-.​
    Sampling percentage​
    ​
    Set the data sampling percentage to be verified as needed. The default value is 100, and the value range is [1,100]. It helps to improve efficiency, save resources, quickly identify problems, and improve the user experience when verifying large amounts of data.​
    tip​
    • This parameter can be configured only when Validation type is Full validation and Verification method is Sample content validation.​
    • This feature is only applicable to MySQL and Redis data transmission tasks.​
    Verification mode​
    Select a verification mode from the drop-down list as needed. Currently, Compare key and value, Compare key only, and Compare the length of value only are supported.​
    Validation object​
    Select the object to be verified. You can perform the following operations in the Selected object area:​
    • Rename databases: Click the pencil icon next to the target databases to rename them. If you select entire databases in the Validation object area, you can only modify the database name in the Selected object area, and can not expand the database.​
    • Filter and delete unnecessary targets: The search box in the Selected object area supports fuzzy search to batch delete unwanted databases and tables.​
    tip​
    • Data verification objects can only be selected from the migration/synchronization objects, meaning only DTS migration/synchronization objects support data verification.​
    • If new synchronization objects are added, data verification does not automatically increase verification for the new objects by default; manual addition of verification objects is required if needed. If synchronization objects are deleted, data verification does not automatically delete them; when modifying verification objects, verification for those objects is no longer supported.​
    Batch Count​
    ​
    Set the number of keys to process per batch as needed. The value range is 1 to 10,000, and the default value is 300.​
    tip​
    Only Redis data transmission tasks support configuring this parameter.​
    Full read rate​
    ​
    If the read rate is too high, it may affect the performance of the source database. You can appropriately adjust the migration rate based on the read and write pressure of the source and target databases.​
    • Rows read per second: Enable and set rows read per second as needed to prevent excessive read rate from affecting the performance of the source database. You can adjust the number based on the read and write pressure of the source and target databases. The default value is 100,000, and the value range is 1 to 100,000.​
    • Verification task concurrency: Set the concurrency of the data verification task as needed. This concurrency can improve the performance and efficiency of the data verification task, ensuring it completes quickly and stably. The default value is 8, and the valid range is 1 to 64.​
    tip​
    • Only tasks with instance types of MySQL, MongoDB, and PostgreSQL support setting the full read rate.​
    • The full read rate can only be adjusted when the data verification has progressed to full validation.​
    ​
  1. Click Pre-check.​
  1. Optional. If a pre-check has been performed for the created task, you can confirm whether to restart the pre-check based on the prompts. If you need to restart, click OK in the Whether to restart the pre-check dialog box.​
  • If the instances of the source and target databases are not modified, there is no need to restart the pre-check.​
  • If you modify the source and target database instance information or the verification task parameters, it is recommended to restart the pre-check to avoid task startup failures or interruptions.​
  1. On the create verification task page, perform the following actions based on the check result:​
  • Click Details in the Actions column of the pre-check results to view detailed alert and failure messages. After modifying the databases and tables accordingly, click Retry.​
  • Click Ignore in the Actions column to ignore the alert and continue starting the verification task. You can also click Ignore all to ignore all alert messages with one click.​
tip​
  • Selecting Ignore the alert and starting the verification task may result in verification failure.​
  1. Click Confirm order.​
Last updated: 2026.09.02 16:10:46