Database Transmission Service
Topology type | Topology diagram | Features |
Single-write and multi-read | | The key features for the single-write and multi-read architecture are as follows.
|
Multi-write and multi-read | | The key features for the multi-write and multi-read architecture are as follows.
The overall data latency is related to the complexity of the topology. The more complex the topology, the greater the latency.
tip The multi-write and multi-read topology requires unitization transformation of businesses. For more information, refer to Business unit splitting. |
Conflict resolution strategy | Description | Recommendation level |
Conflict overwrite | When source end data conflicts with destination data, the data from the source end overwrites the data from the destination. tip In most cases, the data obtained by selecting conflict overwrite is the data that the business wants, but there are also special cases. For example, in the bidirectional synchronization scenario of A and B, if the time A writes data is t1, and the time B writes data is t2 (t1 is later than t2), in the reverse link scenario of A, when the data of B is transmitted to A, it will overwrite the data written by A after t1. | Recommended first |
Ignore on conflict | When the source end data conflicts with the destination data, ignore the conflict, and the source end and the destination write data respectively. tip Conflict ignore will cause data inconsistency between the source end and the destination. | Not recommended |
Abort on conflict | When data conflicts occur between the source and target ends, you need to manually modify the conflict data; otherwise, the migration or synchronization task will pause and report an error. tip
| Recommended only in the test environment |
Source database type | Source database version | Synchronization type | Target database type | Configuration documents |
Volcano Engine RDS for MySQL |
|
| MySQL | |
Volcano Engine veDB for MySQL | MySQL 8.0 | | MySQL | |
MySQL connected over public network |
| | MySQL | |
MySQL connected over express network |
| | MySQL |
Normal cutover process | Abnormal cutover process |
|
|
Normal cutover process | Abnormal cutover process |
|
|
Existing pain points | After business unitization |
Database connection bottleneck | Database connections are extremely valuable resources. After business unitization, data reads and writes within each unit form an internal closed loop, which helps reduce database connections. |
Computer room latency | If unitization is well implemented, meaning that business access is strictly confined within its own unit. Data read/write in each unit is an intranet self-closed loop, without cross-computer room calls. |
Traffic entry | Users are routed by the routing gateway, and each time they request the data center where they are located. For example, if a user is in center A, after unitization, user A's requests will be routed to center A and not to center B. The entire link, from ingress traffic to distributed services, eliminates single points of failure. |
Data conflict | Users are grouped according to a rule, and each group of users can only write data to the specified data center. This is equivalent to binding users to the data center, which ensures that data from different user groups does not conflict before bidirectional synchronization. |
Solution | Business scenario | Business unitization analysis |
Solution 1 | A customer is a logistics provider that provides logistics services for multiple e-commerce platforms such as taobao and jd.com. The key table, order table, and outline fields of its business are as follows.
| The customer stores orders from Taobao in Database A and orders from JD.com in Database B. In this case, a bidirectional synchronization link can be established between Database A and Database B. Since order changes (INSERT/UPDATE/DELETE) from Taobao originate solely from Database A, and order changes from JD.com originate solely from Database B, the data is naturally partitioned by "order source," preventing data conflicts. |
Solution 2 | A customer is a C‑end fitness app. Due to its massive user base, the customer uses Database A and Database B to store user data. The key fields of its User table are shown below.
|
|
Solution 3 | A customer, an international B2B SaaS provider, writes data for domestic tenants to the CN database and data for international tenants to the US database. The tenant table is roughly as follows.
|
|