kvcdc_servers和cdc_servers有什么区别

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】社区版8.5.4
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
部署配置文件中有kvcdc_servers和cdc_servers两个配置,都是用于ticdc的功能吗?两者有什么区别?
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

kvcdc_servers集成在 TiKV 内部的 KV CDC,通常用在TiDB 内部组件间的通信,或者在特定的“新架构”下替代部分独立 TiCDC 的功能。cdc_servers 同步到 Kafka 或另一个 DB

这个应该是同步的数据结构不同吧

当只有kv的时候用kvcdc,一般用ticdc。

属性 kvcdc_servers cdc_servers
数据捕获层级 存储层(TiKV 的 Raft 层) SQL 层(TiDB 表级别)
适用场景 直接消费 TiKV 数据变化 同步 SQL 数据到外部系统
数据粒度 Key-Value 粒度 表级粒度
目标系统支持 自定义处理或消费 TiKV 数据 Kafka、MySQL、文件等外部系统
性能 更低延迟,直接从 TiKV 捕获数据 支持复杂的同步规则和目标系统
部署复杂度 较低 较高(需要配置同步任务)

cdc_servers是 TiCDC 的标准生产级配置,kvcdc_servers是旧版兼容配置,8.5.4 版本只需关注cdc_servers

tikv-cdc应该说的是这里,单独只部署tikv的场景。

kvcdc就是直接从kv层获取数据变更的

cdc_servers 是标准 TiCDC(SQL 层),kvcdc_servers 是 TiKV-CDC(RawKV 层)。

核心区别(一句话)
cdc_servers → 部署 TiCDC:面向 TiDB SQL 表的增量同步(DML/DDL),输出行级变更(MySQL 协议、Kafka 等)。
kvcdc_servers → 部署 TiKV-CDC:面向 TiKV RawKV(无 SQL 层)的 KV 键值变更同步,只输出 Raw KV 日志。

  • cdc_serversSQL 事务级 CDC,面向 TiDB 全功能同步
  • kvcdc_serversRawKV 级 CDC,面向纯 TiKV KV 复制

CDC是SQL层上的级别,二KV是存储引擎RAFT层的级别吧