cloudcanal-zycgit
TiDB 是国内非常火热的一款分布式数据库,参考 Google Percolator 和 Spanner 模型进行构建,具备很好的扩展性,并且支持强一致事务和一定的计算能力,应用广泛。
CloudCanal 提供了从传统关系型数据库实时同步到 TiDB 的能力,并且附带数据迁移、数据校验、数据订正等能力。此文章简要介绍如何快速构建一条长期稳定运行的 MySQL->TiDB 数据链路。
TiDB 对于 MySQL 协议兼容做得不错(4.X 版本),但是其中也有瑕疵点,对于数据迁移同步来说,关注 3 个方面的信息:元数据、数据类型、DDL 支持。
元数据层面, 特别 information_schema 的支持,比较完整。数据类型层面,如果不涉及 GIS 等类型,基本兼容(可能我们还没测试全面)。
DDL 支持层面,比较明显的是不支持同时做多次 DDL action , 比如: alter table add column col1 varchar(255), add col2 bigint(20) not null, modify col3 datetime 。而往往这种 SQL 在数据库运维中非常常见(提高 DDL 效率)。
针对差异点,CloudCanal 都做了兼容,特别是 DDL 同步的兼容,加上库、表、列映射,存在一定的工作量。
任务分为 3 个阶段:
结构迁移、数据初始化、数据同步,每一个阶段完成时,状态自动流转,直到同步稳态
除了 MySQL 到 TiDB 之外,截止社区版 1.0.2 版本,还支持 Oracle -> TiDB 链路,更多的链路如果有需求,可以按需添加,请到我们需求贴反馈
本文简单介绍了如何使用 CloudCanal 快速构建 MySQL->TiDB 数据迁移同步链路,更多的源端和目标端陆续开放。各位小伙伴,如果觉得还不错,请点赞、评论加转发吧。
我们创建 CloudCanal 微信粉丝群啦,在里面,你可以得到最新版本发布信息和资源链接,你能看到其他用户一手评测、使用情况,你更能得到热情的问题解答,当然你还可以给我们提需求和问题。快快加入吧。
5分钟搞定 MySQL 到 TiDB 的数据同步 - CloudCanal实战
原文:https://www.cnblogs.com/clougence/p/15193523.html