Debezium 博客
SQL Server 通过 更改表 提供变更数据捕获 (CDC) - 这些是记录选定“普通”表修改的特殊系统表集。如果您想实时监控更改,可以定期查询这些更改表。这正是 Debezium 目前的工作方式:它以配置好的间隔轮询 SQL Server 的更改表,并将结果转换为连续的 CDC 记录流。这种方法效果很好,但我们可以做得更好吗?
捕获的表由 SQL Server Agent 填充,该代理读取事务日志,提取更改,并将它们存储在更改表中。理论上,我们可以跳过中间人,直接解析事务日志。像 OpenLogReplicator 这样的工具就是这样为 Oracle 数据库处理 CDC 的。让我们深入了解 SQL Server 的内部机制,并稍微探索一下它是如何工作的以及如何存储记录的。
在本文中,我们将
-
准备一个本地 SQL Server 实例用于实验
-
探索 SQL Server 事务日志的内部结构
-
了解记录是如何存储在磁盘上的