如果要在外部读取TiDB的数据变化,官方推荐用哪种技术:CDC还是Binlog到kafka?

如果要在外部读取TiDB的数据变化,官方推荐用哪种技术:CDC还是Binlog到kafka?

你好,

目前 ticdc 有替换 tidb-binlog 的计划,如果参与测试可以私信我们

目前这两种都可以,主要是输出到 kafka。

我看CDC的文档,删除和修改记录时原记录各字段的值没有输出,在一些情况下不是很方便,想问一下Binlog中删除和修改记录时原记录各字段的值是输出的吗?~

不区分 insert 和 update event,只输出 replace event。

delete event 只包含 primary key/unique key 的 value,不包含完整的 row value。

目前也是在优化

不能参照MySQL Binlog(基于ROW)那样删除和修改时把老记录的字段值也输出吗?因为TiDB是不支持触发器的,很多时候需要根据老记录的值去作一些额外的处理,如果把这个处理写到程序中(程序可能会多个地方生成数据,像我们有Java的和.NET的),会很麻烦~

CDC或Binlog很重要,这样一旦数据有变化,可以异步做一些处理

上述限制只是针对 cdc ,在后续版本中将会提供,可以持续关注下,tidb-binlog 可以输出详细的 event