在网上做了很多阅读之后,我终于接触到了这个论坛。我的挑战是在将数据库中通过CDC来源的事务性数据写到NoSQL数据库(本例中是Cassandra)之前,先将其去正常化到Kafka中。将事务性数据与主表的查找连接起来的最佳方式是什么?我的问题是每个事务表大概有5到10个查找表。
在使用KSQL的概念验证中尝试做这件事时,我了解到A)将查找表加载为KT表,B)将事务流重新分区,最后C)执行连接并写入一个新的主题。按照这种方法,如果我有5个或10个查找表,会产生很多很多的数据在集群中发送。我知道Streams DSL可以使用GlobalKTable的概念,但那只有在查找表比较小的时候才会有效,另外我更喜欢像KSQL这样的高级语言。有没有更好的方法?
你需要的是让ksqlDB支持非键连接。所以你应该上票这个跟踪该功能的问题。https:/github.comconfluentincksqlissues4424。
在这之前,你的方法是重新分区事务流,以匹配查找表的键,这是唯一可行的解决方案。