如何使用kafka connect for sybase ase数据库实现变更数据捕获(cdc)?

sxpgvts3  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(805)

我有一个要求,我必须流到Kafka主题实时数据库更新。所以基本上,每当在数据库中添加、更新或删除某个内容时,我都希望在kafka主题中推送该更新。我看到了一些关于如何使用debezium实现mysql和postgresql的文章。但我要监视的数据库是sybase ase。debezium支持sybase ase吗?
如果是的话,有人能给我好的文件吗?我在网上找不到。
如果没有,还有什么方法可以为sybase ase数据库实现此更改数据捕获(cdc)功能?

rjjhvcjd

rjjhvcjd1#

注意:虽然我有很好的经验 Sybase(SAP) ASE and Repserver 产品方面,我的经验很少 SQL Server 也没有经验 debezium ,所以我。。。
根据debezium文件:连接器, Sybase (SAP) ASE 不支持。
ASE 以及 (MS)SQL Server 有一个共同的历史,似乎2x产品并没有提供相同的日志读取功能(这并不奇怪,因为2x产品在 Sybase Repserver 产品可用);根据 debezium 文档: SQL Server 提供cdc“表” debezium 从中读出;跳转到SQLServerCDC解释,看起来日志被读取(隐藏),dml操作被转储到这些cdc“表”中 ASE 具有用于读取日志的未记录api;此api将日志项转换为 Log Transfer Language (LTL) 然后传递给 (Sybase/SAP) Repserver (或其他能够模仿服务器的软件)
缺少联系 debezium 支持团队并请求他们为 Sybase (SAP) ASE ,在我看来,你可能需要另找一种产品。
虽然这可能是一个'有趣'的小项目,看看你是否可以模仿 SQL Server's cdc表格,这将是一项重大任务,例如,
你会发现必须在所有( ASE )兴趣表
触发器需要将大多数(全部?)dml操作复制到新的“cdc”表中
那些“cdc”表上的卷可能会变得相当大(与基表的大小相比),这。。。
“cdc”说,管理(和删减)表格需要很好的基础设施
你需要弄清楚如何模仿程序 SQL Server 用于管理“cdc”表
即使你走到了这一步,你是否能 debezium 连接到 ASE 另一个想法是:推出自己的解决方案。。。
这个 Sybase(SAP) ASE SDK (根据 ASE 以及 Repserver 产品)可以用来设计一个模块来连接 RepserverKafka ,但这是一个完全不同的(冗长的)讨论,更适合于有兴趣的人 SDK 编程。。。
至于“其他产品”。。。在这一点上,谷歌可能是一个良好的开端。
我所熟悉的唯一一个使用(未记录的)api从 ASE's 日志,并声称与 Kafka ,是qlik复制产品。

k3fezbri

k3fezbri2#

理想情况下,cdc应该通过读取数据库日志(即。oracle的redo log、mysql的binlog、cassandra的sstable等)。
对于专有数据库,供应商通常提供一个api或工具来读取日志。例如,甲骨文提供了金门。我在sybase没见过类似的东西。
sybase的一个可能选项是jdbc。如果您使用的是kafka connect,那么可以查看jdbc连接器。但是,如果数据量很大,我认为这可能不是一个好的解决方案。
另一种选择是,写入db的进程也会生成一条到kafka主题的消息。这不是真正意义上的疾病控制中心,但它可以是一个可行的解决办法。但您需要处理这样的场景:向db写入成功,但向kafka生成消息失败。

相关问题