TiCDC 新架构试用启程
作者: ShawnYan 原文来源:https://tidb.net/blog/389872e6
TiCDC 作为一款 TiDB 增量数据同步工具,在数据处理流程中扮演着关键角色,且在 TiDB 生态中占据重要地位。TiCDC 通过拉取上游 TiKV 的数据变更日志,可以将数据解析为有序的行级变更数据,然后输出到下游。从 v4.0.6 版本开始,TiCDC 正式 GA,可用于生产环境。到了 v6.5 版本,TiCDC 功能进一步完善,并取代 TiDB Binlog 成为了 TiDB 首选的增量同步工具。TiCDC 主要面向同构数据库迁移或同步,如需从其他异构数据库,如 Oracle、Db2、SQL Server 等,迁移或同步数据到 TiDB,推荐选择 TMS 企业版工具,或选用 OGG 及其他 CDC 软件。

图 - TiCDC 的系统架构
时光荏苒,TiCDC 从诞生到成熟已走过了四年时间,为众多企业和项目提供了可靠的数据同步服务。然鹅,随着企业业务规模的持续扩张,数据规模指数级的膨胀增长,TiCDC 在性能、稳定性、可扩展性等方面,也逐渐显露出一些瓶颈。为了给大家带来更好的产品体验,PingCAP 研发团队为 TiCDC 设计了全新的架构,预计今年会正式发布。
Why TiCDC 新架构
TiCDC 新架构在保持现有功能基础之上,针对性能、稳定性和扩展性等方面进行了大刀阔斧的改进与提升。
更强。一个 CDC 节点最高可以支持 50 万张表(0.5M)、最多可以同步 200MiB/s 流量(宽表场景)。当前 CDC 只能支持每个 changefeed 每秒大约 3 个 DDL,新架构将支持较高频次 DDL 作业。
更大。当前 CDC 无法稳定扩容超过 10 个 CDC 节点,新架构预计可以扩展到 100 个节点以上;当前一个 CDC 集群只能支持同步大约 10 万张表,400 个 changefeed,新架构将支持超过 10000 个 changefeed;一个 changefeed 可以放几百万张表。
更稳。在高流量下更稳定的延迟 Lag;扩、缩容,添加、删除等操作对其他 changefeed 的影响更小。
更省。用更少的资源跑同样的流量,CPU、内存效率在典型场景有最多一个数量级的提升。
TiCDC “新”架构的主要体现在:新的核心处理模式、更低的代码复杂度、新代码仓库。
新架构使用事件驱动 Event Driven 模式,取代老架构定时器驱动 Timer Driven 模式。

新架构对代码功能模块进行重构,并梳理了逻辑依赖,代码复杂度由 N x N 下降到 N x 1,并大幅提升代码可维护性。

TiCDC 代码仓库 pingcap/ticdc 独立维护,从 pingcap/tiflow 剥离,不再与 DM 共用一个代码仓。

目前,TiCDC 新架构仍处于紧张的开发阶段,尚未 GA。不过,对于 TiDBer 探索者们,已经可以抢鲜试用新架构 TiCDC。通过对 TiDB v7.5 及以上版本的集群打 TiCDC 补丁,或者直接安装 TiCDC v9.0 nightly 版本,便可体验到新架构带来的极速性能。
How TiCDC 新架构
对于初次接触 TiCDC 或者没有现成 TiDB 集群环境的用户,可以使用 TiUP Playground 来快速体验 TiCDC 新架构。
官方建议体验 TiCDC 新架构需要安装 TiDB v7.5.0 及以上版本。为能够快速开启新架构体验之旅,我们可以使用 TiUP 拉取最新 TiDB v9.0.0 alpha 测试版本。
启动上游 TiDB 集群。

启动下游 TiDB 集群。

创建 changefeed 同步任务,将上游集群的表同步到下游 TiDB 集群。创建 changefeed 时,如果不指定 --changefeed-id
,TiCDC 会自动生成一个 UUID(version 4 格式)作为 ID。

至此,新架构已基本配置完成,我们可以使用 TiUP bench 压测工具对上游集群进行数据写入和读写操作。
验证数据正确性。
运行测试。
目前,TiCDC 新架构监控面板已集成到 Grafana 页面中,其名称为 ${集群名}-TiCDC-New-Arch
。

可以通过该面板查看新架构相关监控指标,并观测 TiCDC 的运行状态。


2.13 - 3.14,TiCDC 新架构试用活动
TiCDC 新架构试用活动已开启。🎉
无论你是正在使用 TiCDC,希望评估新架构 TiCDC 的提升是否可以解决当前痛点,助力突破业务瓶颈;还是对 TiCDC 产生兴趣,想要探索最新的发展动态的小伙伴,都能在本次 TiCDC 新架构试用活动中收获满满,充分参与 TiCDC 的技术升级进程!
活动参与奖励
活动报名奖励:点击[此处]报名活动即可获得 TiCDC 新架构试用活动参与者电子纪念徽章 + 100 积分 & 经验值奖励(可在兑换中心兑换你喜欢的 TiDB 周边 & 课程等)

参与反馈奖励:参与 TiCDC 新架构试用,点击此处进行新架构使用体验、优化建议、Bug 反馈,奖励 200 积分 & 经验值
优质反馈奖励:若反馈的 Bug 被成功复现 & 定位,将授予 TiCDC 新架构试用达人电子纪念徽章,根据反馈情况,额外奖励 100-500 积分 & 经验值不等,同时抽 5 位优质反馈的小伙伴送 TiDB 社区 2025 年新款双肩背包一个
输出文章奖励:在 TiDB 社区专栏发布 TiCDC 新架构试用体验、最佳实践的优质文章,如在新架构 TiCDC 上业务有什么变化等, 每篇文章成功发布将奖励 100-600 积分,并额外奖励 300 积分 & 经验值 / 篇 + TiDB 定制秋冬款冲锋衣一件

具体参见活动贴:https://asktug.com/t/topic/1039027
2.26 晚 7 点,TiCDC 新架构介绍分享会
2025 年 2 月 26 日(周三) 19:00-20:00,由 TiCDC 研发负责人 韦万 分享《全面了解 TiCDC 新架构带来了哪些优化?》,欢迎预约直播。

具体参见活动贴:https://asktug.com/t/topic/1039478
Have a nice day ~ ☕
🌻 往期精彩 ▼
-- / END / –
👉 这里可以找到我
微信公众号:@少安事务所
TiDB 专栏:@ShawnYan
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)感兴趣,可以加群一起聊聊。关注微信公众号:少安事务所,后台回复[群],即可看到入口。
如果这篇文章为你带来了灵感或启发,请帮忙『三连』吧,感谢!ღ( ´・ᴗ・` )~
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/15e67e7f0ba4bbc39f93c2a65】。文章转载请联系作者。
评论