python - 更改数据库中的数据捕获 - 手动方法
问题描述
如果历史数据有变化,就会得到通知。
我们现有的 oracle 数据库不支持 CDC。寻找其他选项来实现 CDC
假设我有一个事实表 A,其中包含从 2019 年 1 月 1 日到当前期间的数据。在任何时候,当我从今天开始运行查询时,一月/二月的数据都不应该改变。
我正在考虑创建一个具有快照日期的表,该表将从 2019 年 1 月 1 日到现在每周捕获事实 A 的数据(如订单总和或 $ 数据)。将此表视为日志。
如果给定快照日期与先前快照日期的日志表发生变化,应该有其他机制/表会发出警报。这是一些事情,我仍在考虑如何设计
我的工具是 python 和 Oracle。如果有更好的方法,请告诉我
解决方案
Oracle 捕获更改并将更改写入重做日志文件(除了数据库本身之外,还有一些使用重做日志文件的产品),但是,阅读您的问题,我想您会想查看物化视图
对于 Oracle 12c,您可以在此处获取物化视图的文档 https://docs.oracle.com/database/121/SQLRF/statements_6002.htm#SQLRF01302
和物化视图日志在这里 https://docs.oracle.com/database/121/SQLRF/statements_6003.htm#SQLRF01303
推荐阅读
- c# - 使用存储队列和服务总线时,Azure 死信队列和毒药队列有什么区别?
- dataframe - 错误:org.apache.spark.sql.execution.datasources.FileFormatWriter$.write
- lua - 尝试理解 self 关键字以及如何在函数链中使用它 - LUA
- css - CSS - 帮助我理解“构造样式表”和#shadow-root
- c++ - 迭代一个字符串直到 int 或 char
- javascript - 浏览器扩展:禁用或绕过服务人员
- javascript - 由于未清除 fetch 处理程序中的超时而导致的内存泄漏混淆
- algorithm - 红黑树的性质
- electron - 无法将 http 请求中的 post 变量从 Electron 传递到 Yii API
- android - 为什么 DragableScrollableSheet 在开始时会留下空间?-扑