首页 > 解决方案 > 实时查询 RDBMS 事务日志

问题描述

这是一个变更数据捕获方案。但是,我不想在表上启用 CDC,而是想读取数据库事务日志并为某些表过滤它。

例如,我想知道某个表上的所有更新、删除和所有 DDL,然后在找到时将该日志行流式传输到 ElasticSearch。

有哪些解决方案可以让我实时监控数据库日志并流式传输到 ElasticSearch?

感谢任何反馈

标签: databasechange-data-capture

解决方案


每个 RDBM 都有自己的专有事务日志格式,有时取决于版本。有一些记录在案,大多数没有。有些是直观的,大多数不是。

有些公司销售 CDC 工具,这些工具知道如何解释这些日志,并且他们花费了数年的时间来正确、一致地解释事务日志。Attunity就是这样的公司。他们的“复制”产品现在可以通过 Qlik 获得。

对于 SQLserver,您可以调用 FN_DBLOG(用于实时日志)和 FN_DUMP_DBLOG(用于存档日志)来轻松获取 RAW 事务行数据。接下来,您需要弄清楚如何解释它。谷歌(鸭鸭去)是你的朋友。也许从这里开始:https ://www.sqlserverlogexplorer.com/reading-sql-server-transaction-logs/

您只能对非常有限的 RDBMS 集以及非常有限的行和列数据类型集自行执行此操作。一旦您尝试制定通用解决方案,它就会变成职业!

祝你好运!海因。


推荐阅读