第 1 章 Debezium 的高级别概述


Debezium 是一组分布式服务,用于捕获数据库中的更改。您的应用程序可以消耗并响应这些更改。Debezium 在更改事件记录中捕获每个数据库表中的每行级别更改,并将这些记录流传输到 Kafka 主题。应用程序读取这些流,其按生成顺序提供更改事件记录。

在以下部分中提供了更多详细信息:

1.1. Debezium 功能

Debezium 是 Apache Kafka Connect 的一组源连接器。每个连接器都使用该数据库的功能更改数据捕获(CDC),从不同数据库更改更改。与其他方法不同,如轮询或双写,基于日志的 CDC (如 Debezium 实施):

  • 确保 捕获所有数据更改。
  • 生成具有 非常低延迟的 更改事件,同时避免增加频繁轮询所需的 CPU 用量。例如,对于 MySQL 或 PostgreSQL,延迟位于毫秒范围内。
  • 不需要更改数据模型,如"Last Updated"列。
  • 可以捕获 删除
  • 可以捕获旧的记录状态和其他元数据,如事务 ID,并导致查询,具体取决于数据库的功能和配置。

基于 Log-Based Change Data Capture 的五个 Advantages 是一个博客文章,它提供更多详细信息。

Debezium 连接器使用各种相关功能和选项捕获数据更改:

  • 快照: 如果连接器启动且并非所有日志仍然存在,则可以生成数据库当前状态的初始快照。通常,当数据库一段时间运行时,这是这种情况,并丢弃了事务恢复或复制不再需要的事务日志。执行快照的方式有不同的模式,包括对 增量 快照的支持,这些快照可以在连接器运行时触发。如需了解更多详细信息,请参阅您使用的连接器文档。
  • 过滤器: 您可以使用 include/exclude 列表过滤器配置捕获的模式、表和列的集合。
  • 屏蔽: 特定列中的值可以屏蔽,例如当它们包含敏感数据时。
  • 监控 : 大多数连接器可以使用 JMX 监控。
  • 随时使用的单个消息 转换(SMT) 用于消息路由、过滤、事件扁平化等。有关 Debezium 提供的 SMT 的更多信息,请参阅 应用转换来修改与 Apache Kafka 交换的消息

每个连接器的文档提供了有关连接器功能和配置选项的详细信息。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.