基于现有 postgresql 的用于 Redshift 的 Debezium 连接器

Debezium connector for Redshift based on the existing postgresql one

我已成功使用 Postgresql Debezium plugin for Kafka connect. This connector hooks up directly to the relational database's Write Ahead Log(WAL),与普通的 JDBC 连接器相比,它极大地提高了性能,后者通过 sql 查询连续轮询数据库。

使用 Redshift 而不是 Postgresql 是否可以做类似的事情?我知道 Redshift 和 Postgresql 之间存在主要区别,因为 Redshift 是基于列的、基于集群的,没有二级索引,而且它有不同的用例。如果 Redshift 与预写日志有任何相似之处,或者它使用完全不同的方法,我找不到确定的信息。

是否有基于预写日志的方法通过 debezium 或其他方式将数据更改从 redshift table 直接流式传输到 kafka,或者这在技术上是不可能的?如果没有,是否有一些替代方案可以达到同样的效果?

一句话回答你的问题 - 不,它不受支持,我敢肯定 AWS(或任何现代 DW)永远不会考虑启用此功能。

从我的角度来看,有两个重要的原因:

  • RedShift 本身从不同的数据库(如您的 Postgres)获取数据,主要目的是读取而不是写入(因此并发写入较少)。
  • 出于分析目的,我们将所有数据放入 DW 中。从那里它会转到 BI 工具或任何 ML 相关的作品。但是我从来没有见过DW数据会实时或接近实时地转到另一个数据库的任何地方。

(您可能已经知道这个选项)如果您仍然需要这样做,那么您正在从某些来源获取数据,对吗?使用相同的来源将数据发送到您要从 RedShift CDC 使用的位置。