【问题标题】:Querying RDBMS transaction logs live实时查询 RDBMS 事务日志
【发布时间】:2021-10-03 19:22:53
【问题描述】:

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

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

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

感谢任何反馈

【问题讨论】:

  • 您要跟踪什么样的源数据库?小贩?版本?
  • 我有 MySQL、Sql Server(本地和 RDS)。但我很想知道是否有一种工具/方法可以读取所有流行 RDBMS 的事务日志

标签: database change-data-capture


【解决方案1】:

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

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

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

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

祝你好运! 海因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    相关资源
    最近更新 更多