我们正在努力寻找一些有关使用 Kafka/Connect for CDC 的“最佳实践”。我们正在努力实现什么目标; 通过 Kafka Connect 从 Oracle 提取在线重做日志。 我们有大约 700 个不同的表,最大的表有几行到大约 40M 行。
我们想用什么:
更好的方法是什么?每张桌子 1 个连接器 ?这意味着我们最终将拥有 700 个连接器? (“database.server.name”中相关 DDL 为+700?)
因为如果我们只为所有表保留 1 个连接器,问题是它不会并行化。
我尝试添加 3 个 kafka 工作人员或 3 个 kafka 连接,但问题仍然相同,我只有 1 个表正在同时处理。
任何最佳实践或经验回报将不胜感激。
非常感谢,
对于初学者来说,您不希望每张桌子有一个连接器。 Debezium 是基于日志的复制,因此额外的连接器可能不会比具有许多表的单个连接器更快,并且可能会给您的数据库带来过度的压力。 性能中更重要的因素是您是否将使用 Log Miner 接口,或者您是否可以使用直接从重做日志中提取的方法。通过Logminer SQL接口会产生一些性能开销。 我认为现在有一个 OSS 工具可以与 Debezium 一起直接访问重做日志,但传统上这样做需要获得 Golden Gate 的许可。