Debezium 博客
历史正在被书写,Debezium 开始冲刺其 1.0 里程碑。我很高兴地宣布 Debezium 1.0.0.Beta1 的发布!
此新 Debezium 版本包含一些值得注意的新功能、增强功能和修复。
让我们谈谈 TOAST。吐司?不,TOAST!
那是什么?TOAST (The Oversized-Attribute Storage Technique,超大属性存储技术) 是 Postgres 中的一种机制,它将大型列值存储在多个物理行中,从而绕过了 8 KB 的页面大小限制。
通常,TOAST 存储对用户是透明的,所以您真的不必关心它。但是有一个例外:如果表行已更改,则使用 TOAST 机制存储的任何*未更改*值都不会包含在 Debezium 从数据库收到的消息中,除非它们是表复制身份的一部分。因此,这种未更改的 TOAST 列值将不会包含在发送到 Apache Kafka 的 Debezium 数据变更事件中。在本文中,我们将讨论处理这种情况的不同策略。
业务应用程序通常需要维护某种形式的审计日志,即应用程序数据所有更改的持久化跟踪。如果仔细看,带有 Debezium 数据更改事件的 Kafka 主题与之非常相似:它源自数据库事务日志,描述了应用程序记录的所有更改。所缺少的只是一些元数据:数据为何、何时以及由谁更改?在本博文中,我们将探讨如何通过变更数据捕获 (CDC) 提供和公开这些元数据,以及如何使用流处理来丰富实际的数据更改事件以包含此类元数据。