更改流
概述
在本指南中,您可以了解 更改流 以及它们如何在 MongoDB Kafka 源连接器中使用。
变更流
变更流是MongoDB的一个功能,允许您实时接收数据变更更新。变更流返回 变更事件文档。
变更事件文档包含幂等指令,用于描述在您的MongoDB部署中发生的变化以及与该变化相关的元数据。变更事件文档是从操作日志.
重要
变更流只能在MongoDB副本集和分片集群上运行
独立的MongoDB实例无法生成变更流。
要查看变更流的全部配置选项,请参阅变更流属性页面。
要了解更多关于变更流的信息,请参阅以下资源
要了解更多关于操作日志的信息,请参阅MongoDB手册中关于 副本集操作日志 的条目。
聚合
使用聚合管道配置源连接器的变更流。您可以配置连接器变更流以使用聚合管道执行以下操作的任务
根据操作类型过滤变更事件
投影特定字段
更新字段的值
添加字段
减少变更流生成的数据量
要了解可用于变更流的聚合运算符,请参阅MongoDB手册中关于 修改变更流输出 的指南。
要查看使用聚合管道修改变更流的示例,请参阅以下页面
自定义管道以过滤变更事件 用例
复制现有数据 用例
变更事件结构
查找变更事件文档的完整结构,包括所有字段的描述,请参阅MongoDB 手册。
性能
oplog是一个特殊的 capped 集合,无法使用索引。有关此限制的更多信息,请参阅变更流生产推荐。
如果您想提高变更流性能,请为您的MongoDB集群使用更快的磁盘,并增加WiredTiger缓存的容量。有关如何设置WiredTiger缓存的指南,请参阅WiredTiger 存储引擎。
源连接器
源连接器通过打开一个与MongoDB的单个更改流,并将该更改流中的数据发送到Kafka Connect来工作。您的源连接器在其运行期间保持其更改流,并在您停止它时关闭其更改流。
要查看配置源连接器更改流的可用选项,请参阅更改流属性页面。
恢复令牌
您的连接器使用一个恢复令牌作为其偏移量。偏移量是您的连接器存储在Apache Kafka主题中的值,用于跟踪它已处理哪些源数据。您的连接器在需要从重启或崩溃中恢复时使用其偏移量值。恢复令牌是引用您MongoDB oplog中更改事件文档的_id
字段的份数据。
如果您的源连接器没有偏移量,例如您第一次启动连接器时,您的连接器将启动一个新的更改流。一旦您的连接器接收到第一个更改事件文档并将其发布到Apache Kafka,您的连接器将存储该文档的恢复令牌作为其偏移量。
如果您的源连接器偏移量的恢复令牌值与MongoDB部署的oplog中的任何条目不对应,则您的连接器有一个无效的恢复令牌。有关如何从无效恢复令牌中恢复的说明,请参阅无效令牌故障排除指南。
有关恢复令牌的更多信息,请参阅以下资源
有关偏移量的更多信息,请参阅以下资源