第 8 章 SQL Server 的 Debezium 连接器


Debezium SQL Server 连接器捕获 SQL Server 数据库架构中发生的行级更改。

有关与此连接器兼容的 SQL Server 版本的详情,请参考 Debezium 支持的配置页面

有关 Debezium SQL Server 连接器及其用法的详情,请查看以下主题:

Debezium SQL Server 连接器第一次连接到 SQL Server 数据库或集群时,它会对数据库中的架构进行一致的快照。完成初始快照后,连接器持续捕获到为 CDC 启用的 SQL Server 数据库的 INSERTUPDATEDELETE 操作的行级更改。连接器为每个数据更改操作生成事件,并将其流传输到 Kafka 主题。连接器将表的所有事件流传输到专用 Kafka 主题。然后,应用程序和服务可能会消耗该主题中的数据更改事件记录。

8.1. Debezium SQL Server 连接器概述

Debezium SQL Server 连接器基于 SQL Server 2016 Service Pack 1 (SP1)以及后续 标准版本或企业版本 中的更改数据捕获 功能。SQL Server 捕获进程监控指定的数据库和表,并将更改存储在特定创建的 change tables 中。

要启用 Debezium SQL Server 连接器来捕获数据库操作的更改事件记录,您必须首先在 SQL Server 数据库上启用更改数据捕获。在数据库和您要捕获的每个表中都必须启用 CDC。在源数据库上设置 CDC 后,连接器可以捕获数据库中发生的行级 INSERTUPDATEDELETE 操作。连接器将每个源表的事件记录写入特定于该表的 Kafka 主题。每个捕获的表都有一个主题。客户端应用程序读取它们遵循的数据库表的 Kafka 主题,并可响应他们从这些主题使用的行级事件。

连接器第一次连接到 SQL Server 数据库或集群时,它会为它配置的所有表生成一致的快照来捕获更改,并将此状态流传输到 Kafka。快照完成后,连接器会持续捕获发生的后续行级更改。通过首先建立所有数据的一致性视图,连接器可以继续读取,而不会丢失快照发生时所做的任何更改。

Debezium SQL Server 连接器容错失败。当连接器读取更改并生成事件时,它会定期记录数据库日志中事件的位置(LSN / Log Sequence Number)。如果连接器因任何原因而停止(包括通信失败、网络问题或崩溃),在重启连接器从它读取的最后一个时间点上读取 SQL Server CDC 表。

注意

偏移会定期提交。它们不会在发生更改事件时提交。因此,可能会在中断后生成重复的事件。

容错也适用于快照。也就是说,如果连接器在快照过程中停止,连接器会在重启时开始新的快照。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.