Updated on 2024-01-23 GMT+08:00

General Usage Suggestions

Before using DRS, you need to understand the following:

  • The destination database version must be the same as or later than the source database version.
  • The success of database synchronization depends on environment and manual operations. To ensure a smooth synchronization, perform a synchronization trial before you start the synchronization to help you detect and resolve problems in advance.
  • To maintain data consistency before and after the synchronization, ensure that no data is written to your source and destination databases during a full synchronization. In the full+incremental synchronization mode, you can continue the synchronization while data is still being written to the source database.
  • When a task is being started or in the full synchronization phase, do not perform DDL operations on the source database. Otherwise, the task may be abnormal.
  • If you read a table, especially a large table, during the full migration, the exclusive lock on that table may be blocked.
  • To ensure data consistency, tables to be synchronized without a primary key may be locked for 3s.
  • The data being synchronized may be locked by other transactions for a long period of time, resulting in read timeout.
  • Due to the inherent characteristics of MySQL, in certain scenarios the performance may be negatively affected. For example, if the CPU resources are insufficient and the storage engine is TokuDB, the read speed on tables may be decreased by 10%.
  • When DRS concurrently reads data from a database, it will use about 6 to 10 sessions. The impact of the connections on services must be considered.
  • If network bandwidth is not limited, the query rate of the source database increases by about 50 MB/s during full synchronization, and two to four CPUs are occupied.
  • For more information about the impact of DRS on databases, see How Does DRS Affect the Source and Destination Databases?
  • You are advised to start your synchronization task during off-peak hours by setting Start Time to Start at a specified time. A less active database is easier to be synchronized successfully. If the data is fairly static, there is less likely to be any severe performance impacts during the synchronization. If you have to synchronize data during peak hours, you can select Yes for Flow Control to adjust the synchronization speed.
  • Data-Level Comparison

    To obtain accurate comparison results, compare data at a specified time point during off-peak hours. If it is needed, select Start at a specified time for Comparison Time. Due to slight time difference and continuous operations on data, data inconsistency may occur, reducing the reliability and validity of the comparison results.

  • If many-to-one synchronization is involved, you need to understand the following:
    • If you create a many-to-one synchronization task, refer to Constraints and Operation Suggestions on Many-to-One Scenario.
    • For many-to-one synchronization tasks that involve the synchronization of the same table, DDL operations cannot be performed on source databases. Otherwise, all synchronization tasks fail.
  • After data synchronization is complete, you need to understand the following:
    • To obtain accurate comparison results, compare data at a specified time point during off-peak hours. If it is needed, select Start at a specified time for Comparison Time. Due to slight time difference and continuous operations on data, data inconsistency may occur, reducing the reliability and validity of the comparison results.