关于对另一个数据库的数据抓取,如何保持数据一致性

2016-11-08 10:55:37 +08:00
 Buffer2Disk

如题,现在有这么个需求,对另一个数据库的订单数据抓取到本地数据库,每半小时抓取一次。采取的是增量抓取的方式,就是抓取这半个小时的数据。现在的问题是,如何保证数据的一致性,比如抓取过程中,产生了订单,这样就可能会漏掉了该订单

1737 次点击
所在节点    程序员
4 条回复
benatsh
2016-11-08 11:23:58 +08:00
自己抓取开始的时候,记住抓取动作开始的时间,因此抓取的记录就是开始时间往前推半小时产生的记录,数据库系统有自己的时间戳,这个不难的吧。落库的时候再做主键比对,避免重复抓取
Mirana
2016-11-08 18:46:33 +08:00
订单 id 不是自增的?
qile1
2016-11-08 23:45:10 +08:00
代码可以参考一下不,一种是在源数据表加同步字段,更新,另一种我感觉可以时间排序,然后取最后时间为下次同步时候的开始时间,设置和更新频率不能太快,另外 oracle 和 mssql 都有表快速复制语句,如果不是两个不同数据库,那个最快
crytis
2016-11-09 01:06:19 +08:00
解析 binlog

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

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

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

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

© 2021 V2EX