提供了用例:
流处理体系结构;事件进入Kafka,然后通过MongoDB接收器进行处理。
数据库名称:myWebsite
集合:users
和作业下沉的user
记录users
集合中的记录。
- 因此,Debezium将监视
users
收集以进行更改,并且在每次更改时,都会在Kafka中就主题dbserver1.myWebsite.users
产生事件?假设dbserver1
是连接器的名称。 - 如果是这样,那么我可以有一个会消耗
dbserver1.myWebsite.users
主题并对这些事件做出反应的Kafka消费者? - 据我了解,Debezium所产生的事件还包含数据库记录的值?如果它的更改包含旧值?如果创建了DB记录,则旧的是null?
我希望到目前为止对我的理解进行某种确认。谢谢!
答案很简单
- 是
- 是的,它可以是任意的Kafka消费者或Kafka流,也可以使用KSQL查询
- 是的,Debezium Records不仅由(不仅)旧值(
before
)和新值(after
)值组成。如果INSERT
仅存在after
,则在UPDATE
中存在before
和after
(Postgres需要特殊设置),而对于DELETE
,仅存在before
。