有没有这样的数据库中间件(代理?)

2016-07-05 09:57:30 +08:00
 loading
在数据库和 直连 数据库的业务软件之间,记录所有操作,用于实现任何时间段的数据回滚。


因为,数据库备份时间不定,业务软件是手工操作的,无法撤销,业务软件的逻辑还没摸透(复杂)。

小企业场景,每天操作未达万条数据。
1905 次点击
所在节点    问与答
9 条回复
monsterxx03
2016-07-05 10:02:25 +08:00
直接在数据库的机器上用 tcpdump 之类的抓包工具把访问数据库端口的请求都录下来吧
alex321
2016-07-05 10:04:38 +08:00
MySQL 和 MSSQL 都自带日志回滚或者恢复功能?
sun1991
2016-07-05 10:20:27 +08:00
所有主流数据库系统都带日志回滚 /恢复功能吧, 据我所知, Oracle 可以做到秒级回滚 /恢复.
不过这个只是针对数据库操作的回滚. 如果需要针对具体业务逻辑回滚, 这个恐怕就得自己写了.
loading
2016-07-05 10:22:58 +08:00
@monsterxx03
@alex321
@sun1991

哦,可能我没说明白!

我需要就是剔除中间某条错误的操作,后续的操作有效…
sun1991
2016-07-05 10:35:02 +08:00
@loading 除非所有的操作都很简单, 不然, 针对具体业务逻辑的回滚, 要确保撤销这个操作不会对其他已经提交的操作产生影响. 这个自动化我觉得比较难.
AntonChen
2016-07-05 11:40:06 +08:00
@loading 过滤符合规则的 SQL 拦截掉? SQL 防火墙?
ytmsdy
2016-07-05 15:20:09 +08:00
tuxdeo....
domty
2016-07-05 16:11:50 +08:00
很麻烦啊,你这个做法就好像每次操作都给数据做一次快照,然后当你想撤销数据的时候可以随时随地的返回快照的状态。

但是有些数据之间的变化可能是有关联的,除非你是按某个时间点为准回复所有数据,否则极可能有数据不一致的情况。
des
2016-07-05 16:14:57 +08:00
@loading 试试 bin-log ??

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290320

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX