有没有能使 MongoDB 定期增量备份到远程服务器并清除已备份数据的方案?

2018-01-14 20:17:19 +08:00
 qq316107934

在某云上写了一个爬虫监控某个系统的实时数据,每天有 3GB 的数据量,但云硬盘很小,剩余空间只够三天的用量。

请问有没有什么方案能够将这段时间产生的数据全部导出并移除,或者直接远程同步(异步)到另一个 MongoDB 服务器上。想过直接 dump+remove,但是在执行操作的时候爬虫产生的数据可能没被 dump 就 remove 了。

谢谢~

2288 次点击
所在节点    问与答
4 条回复
h4lbhg1G
2018-01-14 20:24:48 +08:00
两个表,如果日期是奇数使用 A 表,日期是偶数使用 B 表,那么你有一天的时间来导出同步表。

日期切换做在最后一次采集完成后。然后切表,同时触发同步操作。


其实是我 YY 的,我完全不懂 MongoDB
qq316107934
2018-01-14 20:37:44 +08:00
@h4lbhg1G #1 感谢回答,这样要在爬虫里做判定,还可以一天一个 collection,但是其实是有多个 collection 存在的,这样做可能不方便管理,我想从数据库层面解决这个问题。
just1
2018-01-14 20:42:45 +08:00
b 定时从 a 获取数据,入库,导入成功把后把这边已经入库的 id 返回去 a,让 a 删除。这样或许可行?
ray8888
2018-01-14 21:38:36 +08:00
mongo 有个 oplog,就是操作日志,可以重放所有操作,基于 oplog 好像可以实现增量备份,也可以防止 dump 过程中的数据操作丢失,lz 查查这个

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

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

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

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

© 2021 V2EX