本文为 TiCDC 源码解读第七期 - TiCDC Sorter 模块揭秘 的分享 Q&A 整理以及视频回顾、分享资料下载合集。对于本期分享内容有更多想要交流的,也欢迎在本帖下留言。
- 视频回放:TiCDC 源码解读#7 TiCDC Sorter 模块揭秘_哔哩哔哩_bilibili
- 分享资料下载:TiCDC 源码解读#7 TiCDC Sorter 模块揭秘.pdf (2.0 MB)
- TiCDC 源码解读全系列详细回顾:【资源汇总】TiCDC 源码解读系列最全资源!!!
本期 Q&A 回顾
以下是本期 《TiCDC Sorter 模块揭秘》的 Q&A 回顾:
Q1:大事务拆分这块能再详细分享一下吗?64kb 是跨表还是同一表的要求呢?
A:这期讲到事件的 key 编码是以 CommitTs 和 StartTs 作为比 Record 更高的前缀,所以在从 SortEngine 中扫描出事件时,它们是以 CommitTs 和 StartTs 排序的,因此来自同一事务的事件被聚合在一起。当开启大事务拆分功能时,对于每个表上生成的一个任务,每隔 64KB 就会对事务进行一次切割,将部分事件写入到下游。但是大事务拆分之后,仍然需要等待整个事务写入到下游之后,才能推进 Checkpoint。
Q2:哪个版本能限制 cdc 或 sorter 内存大小了?
A:5.4 及之后的版本都可以,通过 max-memory-percentage 限制了排序引擎本身的内存占用。changefeed 的内存占用在 6.5 及之后的版本可以通过 changefeed 配置中的 memory-quota 项来限制。
Q3:提到的控制 ticdc 或 sorter 内存的问题是哪个参数,目前只找到 per-table-memory-quota。
A:per-table-memory-quota 在 6.4 及更早的版本中限制每个表上等待发送到下游的数据量大小,默认 10MB。这个选线在 6.5 中被 memory-quota 取代了,后者可以在每个 changefeed 上设制。限制 TiCDC 进程内排序引擎的总内存占用的参数是 max-memory-percentage。
直播互动获奖用户公示
恭喜以下参与互动的获奖用户~可以获得 100 TiDB 社区积分/题
以下用户可以在2023年3月10日前,添加 微信号:Oneandtwii,回复:您的视频号昵称 + TiDB 社区昵称,即可进行积分兑换
序号 | 视频号用户 |
---|---|
1 | 俨-zen |
2 | xz |
3 | 冯老爷 |
对于本期分享内容有更多想要交流的,也欢迎在本帖下留言。