In real-time synchronization scenarios, support for synchronization of data changes generated by data definition language (DDL) and data manipulation language (DML) operations on sources varies based on the destination type. This topic describes the support of different destination types for synchronization of such data changes.

Background information

Precautions

If new fields are added to a source table, the related real-time synchronization node works in the following ways:
  • If a field named DEFAULT VALUE is added to the source table, the field is also added to the related destination table after the real-time synchronization node is run. The value of the field in the destination table is NULL. If data is written to the field in the source table in subsequent operations, the real-time synchronization node synchronizes the data to the field in the destination table.
  • If a field named VIRTUAL is added to the source table, the field is also added to the related destination table after the real-time synchronization node is run. The value of the field in the destination table is NULL. If data is written to the field in the source table in subsequent operations, the real-time synchronization node synchronizes the data to the field in the destination table.
If you run a real-time synchronization node to synchronize data from a MySQL or PolarDB for MySQL data source and you want to add a field to a source table in the data source, we recommend that you add the field to the end rather than the middle of the source table. If a field must be added to the middle of a source table, you must take note of the following limits:
  • For a data synchronization solution used to synchronize both full and incremental data, do not add a field to the middle of a source table during synchronization of full data. Otherwise, a data exception occurs during synchronization of incremental data in real time.
  • During synchronization of incremental data in real time, if you want to reset the offset from which you start to synchronize incremental data and you want to perform a DDL operation to add a field to the middle of a source table, you must make sure that the time when you reset the offset is later than the time when you add the field to the middle of the source table. Otherwise, a data exception occurs during synchronization of incremental data in real time.
If a data exception occurs, you can perform data initialization again to restore data to the normal state. You need to only remove the table to the middle of which you add a field and perform data initialization. You do not need to initialize data in all tables.

Support for synchronization of data changes generated by DDL and DML operations

The following table lists the support of different types of destinations for synchronization of data changes generated by DDL and DML operations on sources in real-time synchronization scenarios.
Note The real-time synchronization feature and the one-time full synchronization and real-time incremental synchronization solution provided by the solution-based synchronization feature are used for real-time synchronization. For more information about how to configure a data synchronization solution or node by using the related feature, see Overview of the real-time synchronization feature and Overview of the solution-based synchronization feature.
Data source typeDML statementDDL statement for a tableDDL statement for a field
InsertUpdateDeleteCreate a tableDelete a tableRename a tableClear a tableAdd a fieldDelete a fieldRename a fieldModify the type of a field
AnalyticDB for MySQL 3.0SupportedSupportedSupported---SupportedSupported---
DataHubSupported----------
PolarDB-X 1.0SupportedSupportedSupported--------
ElasticsearchSupportedSupportedSupported----Supported---
HologresSupportedSupportedSupported---SupportedSupported---
KafkaSupported----------
MaxComputeSupported-----SupportedSupported---
MySQLSupportedSupportedSupported--------
Object Storage Service (OSS)Supported----------
OracleSupportedSupportedSupported--------