cdc应该通过阅读DB日志(即Oracle的重做日志,Mysql的Binlog,Cassandra等)来完成cdc。
对于专有DBS,通常供应商提供读取日志的API或工具。例如甲骨文提供金门。我还没有看到Sybase类似的东西。 Sybase可能的选项之一是JDBC。如果您使用的是Kafka Connect,则可以查看JDBC连接器。但是,如果数据量很大,我认为这可能不是一个好的解决方案。 其他替代方法可能是将写入数据库的过程还会给Kafka主题产生信息。从真正意义上讲,这不是CDC,但可以是一个可行的解决方案。但是您需要处理为DB写作成功的方案,但消息生产给Kafka失败。注:虽然我在
SQL Server
根据
Debezium文档:不支持连接器,
debezium
不支持。
虽然有一个共同的历史,但似乎没有2倍产品具有相同的日志阅读功能(毫不奇怪,因为2x产品在ASE
文档:
(MS)SQL Server
提供cdc的“表”。跳到SQLServer CDC说明看起来好像是读取的日志(封面下),并且将DML操作倾倒到这些CDC'TATC'ING
Sybase Repserver
有一个无证件的API来读取日志;此API将日志条目转换为debezium
记录,然后将其传递给
SQL Server
(或其他能够模仿Repserver的软件)与支持团队联系并要求他们增加对
debezium
的支持,似乎(对我来说)您可能需要寻找另一种产品。
虽然这可能是一个“有趣”的小项目,看看您是否可以模仿ASE
cdc表,这将是一项重大的工作,例如,
Log Transfer Language (LTL)
)的(
(Sybase/SAP) Repserver
)表中添加触发器触发器将需要将大多数(全部?)DML操作复制到新的“ CDC”表
将需要大量的基础设施来管理(和修剪)“ CDC”表您需要弄清楚如何模拟Procs
debezium
提供用于管理“ CDC”表即使您走了这么远,还有一个问题,即您是否可以得到Sybase (SAP) ASE
SQL Server's
另一个想法回复:滚动自己的解决方案...(构建了
ASE
和
SQL Server
产品)可以用来设计一个从debezium
ASE
连接的模块,但这是一个整体的“ nother”(冗长)讨论更适合对于正在进行编程的人...
Sybase(SAP) ASE SDK