MySQL数据迁移工具的设计与实现
作者:互联网
MySQL作为最流行的关系型数据库产品之一,当数据规模增大遭遇性能瓶颈时,最容易想到的解决方案就是分库分表。无论是进行水平拆分还是垂直拆分,第一步必然需要数据迁移与同步。由此可以衍生出一系列数据迁移过程中的需求:
1.原本一张表迁移到单库多表(或多库多表),这是最基本的需求;
2.原本单库多表(或多库多表)迁移到新的多库多表(因表设计不合理、数据规模增大等原因导致需要再次分库分表)
3.新表与旧表的表结构可能不一致,如:类型表更(自增主键id由int改为bigint)、字段数量不一致(删减、增加)、字段名称变更等
4.字段映射,如:旧表中的多个字段映射为新表的一个字段,或旧表中的一个字段映射为新表的多个字段
5.增量数据的实时同步,以及当涉及表结构转换时增量部分(binlog)如何方便地实现同样的转换
6.如何支持垂直拆分的数据迁移
7.MySQL到NewSQL的迁移(如:TiDB、CockroachDB)
8.异构数据源的实时迁移,如:MySQL到HBase、MongoDB(关于异构数据源的实时同步设计不在本文内容范围,后续将专题介绍)
9.迁移前后的数据一致性校验
为满足以上需求,下面将从全量迁移和增量同步两部分来说明MySQL数据迁移同步工具的设计与实现。
标签:同步,多表,MySQL,新表,迁移,数据,工具 来源: https://www.cnblogs.com/SyncNavigator8-4-1/p/11021096.html