我有一个要求,我必须流到Kafka主题实时数据库更新。所以基本上,每当在数据库中添加、更新或删除某个内容时,我都希望在kafka主题中推送该更新。我看到了一些关于如何使用debezium实现mysql和postgresql的文章。但我要监视的数据库是sybase ase。debezium支持sybase ase吗?如果是的话,有人能给我好的文件吗?我在网上找不到。如果没有,还有什么方法可以为sybase ase数据库实现此更改数据捕获(cdc)功能?
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 产品)可以用来设计一个模块来连接 Repserver 至 Kafka ,但这是一个完全不同的(冗长的)讨论,更适合于有兴趣的人 SDK 编程。。。至于“其他产品”。。。在这一点上,谷歌可能是一个良好的开端。我所熟悉的唯一一个使用(未记录的)api从 ASE's 日志,并声称与 Kafka ,是qlik复制产品。
Sybase(SAP) ASE and Repserver
SQL Server
debezium
Sybase (SAP) ASE
ASE
(MS)SQL Server
Sybase Repserver
Log Transfer Language (LTL)
(Sybase/SAP) Repserver
SQL Server's
Sybase(SAP) ASE SDK
Repserver
Kafka
SDK
ASE's
k3fezbri2#
理想情况下,cdc应该通过读取数据库日志(即。oracle的redo log、mysql的binlog、cassandra的sstable等)。对于专有数据库,供应商通常提供一个api或工具来读取日志。例如,甲骨文提供了金门。我在sybase没见过类似的东西。sybase的一个可能选项是jdbc。如果您使用的是kafka connect,那么可以查看jdbc连接器。但是,如果数据量很大,我认为这可能不是一个好的解决方案。另一种选择是,写入db的进程也会生成一条到kafka主题的消息。这不是真正意义上的疾病控制中心,但它可以是一个可行的解决办法。但您需要处理这样的场景:向db写入成功,但向kafka生成消息失败。
2条答案
按热度按时间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
产品)可以用来设计一个模块来连接Repserver
至Kafka
,但这是一个完全不同的(冗长的)讨论,更适合于有兴趣的人SDK
编程。。。至于“其他产品”。。。在这一点上,谷歌可能是一个良好的开端。
我所熟悉的唯一一个使用(未记录的)api从
ASE's
日志,并声称与Kafka
,是qlik复制产品。k3fezbri2#
理想情况下,cdc应该通过读取数据库日志(即。oracle的redo log、mysql的binlog、cassandra的sstable等)。
对于专有数据库,供应商通常提供一个api或工具来读取日志。例如,甲骨文提供了金门。我在sybase没见过类似的东西。
sybase的一个可能选项是jdbc。如果您使用的是kafka connect,那么可以查看jdbc连接器。但是,如果数据量很大,我认为这可能不是一个好的解决方案。
另一种选择是,写入db的进程也会生成一条到kafka主题的消息。这不是真正意义上的疾病控制中心,但它可以是一个可行的解决办法。但您需要处理这样的场景:向db写入成功,但向kafka生成消息失败。