当新的 Cassandra 节点引导并从启用了更改数据捕获 (CDC) 的现有表接收数据时,旧的插入是否会被视为新的 CDC 事件?我在 Debezium Kafka 连接器的文档中没有看到任何对此行为的引用,也没有看到任何描述引导阶段期间 Cassandra 的提交日志文件与其 cdc_raw 目录之间的连接的内容。我预计,但如果不深入 Cassandra 内部结构,就无法确认流数据不会最终出现在 cdc_raw/ 中。
当新的 Cassandra 节点引导并从启用了更改数据捕获 (CDC) 的现有表接收数据时,旧的插入是否会被视为新的 CDC 事件?我在 Debezium Kafka 连接器的文档中没有看到任何对此行为的引用,也没有看到任何描述引导阶段期间 Cassandra 的提交日志文件与其 cdc_raw 目录之间的连接的内容。我预计,但如果不深入 Cassandra 内部结构,就无法确认流数据不会最终出现在 cdc_raw/ 中。
当节点引导时,部分 SSTable 会从其他副本流式传输到该节点。换句话说,SSTable 中分区键映射到令牌范围的范围分区将被传输到加入节点。
副本不会将数据作为
INSERT
,UPDATE
或DELETE
语句的重构突变进行流式传输,而是磁盘上 SSTable 的实际片段。根据定义,CDC 仅捕获已更改的数据,而不是磁盘上已存在的数据,因此只有新的写入才会进入 CDC 流。干杯!