如何使用SYBASE ASE数据库的Kafka Connect实现更改数据捕获(CDC)? 我有一个要求,我必须将实时数据库更新流式传输到Kafka主题。因此,基本上,只要在数据库中添加,更新或删除某些内容时,我希望将该更新推入

问题描述 投票:0回答:2

cdc应该通过阅读DB日志(即Oracle的重做日志,Mysql的Binlog,Cassandra等)来完成cdc。

对于专有DBS,通常供应商提供读取日志的API或工具。例如甲骨文提供金门。我还没有看到Sybase类似的东西。 Sybase可能的选项之一是JDBC。如果您使用的是Kafka Connect,则可以查看JDBC连接器。但是,如果数据量很大,我认为这可能不是一个好的解决方案。 其他替代方法可能是将写入数据库的过程还会给Kafka主题产生信息。从真正意义上讲,这不是CDC,但可以是一个可行的解决方案。但是您需要处理为DB写作成功的方案,但消息生产给Kafka失败。

注:虽然我在
apache-kafka sybase sap-ase debezium cdc
2个回答
1
投票
产品方面有丰富的经验,但我对

SQL Server

的经验很少,没有经验,所以fwiw ...

根据

Debezium文档:不支持连接器

debezium

不支持。

虽然有一个共同的历史,但似乎没有2倍产品具有相同的日志阅读功能(毫不奇怪,因为2x产品在

1
投票
产品可用的时间内采取了单独的方式) ;根据

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”表上的卷可能会变得很大(与基于表的尺寸相比),这是...
  • 将需要大量的基础设施来管理(和修剪)“ CDC”表
    您需要弄清楚如何模拟Procs
    debezium
    提供用于管理“ CDC”表
    即使您走了这么远,还有一个问题,即您是否可以得到
  • Sybase (SAP) ASE
连接到

SQL Server's


另一个想法回复:滚动自己的解决方案...

(构建了
ASE

SQL Server
产品)可以用来设计一个从

debezium
  • ASE
    连接的模块,但这是一个整体的“ nother”(冗长)讨论更适合对于正在进行编程的人...
  • 为“其他产品” ... Google先生在这一点上可能是一个良好的开端。
  • 我熟悉的唯一产品利用了(未记录的)API用于log log读取,并且声称与
  • Sybase(SAP) ASE SDK
  • 相互作用的是
  • qlik replicateproduct.
  • 
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.