Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.Original topic: tidb实时同步到tidb

Are there any other methods to synchronize TiDB to TiDB in real-time without using binlog and TiCDC?
Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.Original topic: tidb实时同步到tidb
Are there any other methods to synchronize TiDB to TiDB in real-time without using binlog and TiCDC?
dm
You can try any third-party synchronization tools that are compatible with the MySQL protocol
A low-end version can use ETL tools like Kettle, but it can’t achieve real-time processing.
DM sources can only be MySQL or MariaDB, which are databases compatible with the MySQL protocol, right? Between TiDB and TiDB, only binlog and TiCDC can be used; other third-party synchronization tools should not work.
If the volume is small, try DataX, but it is not real-time.
The above statement is incorrect, it should be TiCDC. But you don’t want to use TiCDC? Why is that?
Since there is CDC, why not use it and instead create trouble for yourself?
If you don’t use TiCDC and still need real-time estimation, you can only use dual writing.
TiCDC requires tables to have primary keys for synchronization, but once a table is created in TiDB, you can’t add an auto-increment primary key.
It seems that before the official introduction of auto_random, in order to scatter regions and avoid using auto-increment primary keys, this becomes a constraint on the TiCDC side.
If you need real-time, there probably isn’t any other good solution.
They said there’s no need for binlog This is a pseudo-requirement, just making things difficult for themselves.
The upstream of Canal cannot be TiDB, but the downstream can be TiDB. Canal is based on the slave role and binlog parsing.