V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qq316107934
V2EX  ›  问与答

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

  •  
  •   qq316107934 · 2018-01-14 20:17:19 +08:00 · 2444 次点击
    这是一个创建于 2491 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    谢谢~

    第 1 条附言  ·  2018-01-14 21:16:40 +08:00
    加 fsync 锁解决了= =谢谢大家
    4 条回复    2018-01-14 21:38:36 +08:00
    h4lbhg1G
        1
    h4lbhg1G  
       2018-01-14 20:24:48 +08:00   ❤️ 1
    两个表,如果日期是奇数使用 A 表,日期是偶数使用 B 表,那么你有一天的时间来导出同步表。

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


    其实是我 YY 的,我完全不懂 MongoDB
    qq316107934
        2
    qq316107934  
    OP
       2018-01-14 20:37:44 +08:00
    @h4lbhg1G #1 感谢回答,这样要在爬虫里做判定,还可以一天一个 collection,但是其实是有多个 collection 存在的,这样做可能不方便管理,我想从数据库层面解决这个问题。
    just1
        3
    just1  
       2018-01-14 20:42:45 +08:00 via Android   ❤️ 1
    b 定时从 a 获取数据,入库,导入成功把后把这边已经入库的 id 返回去 a,让 a 删除。这样或许可行?
    ray8888
        4
    ray8888  
       2018-01-14 21:38:36 +08:00
    mongo 有个 oplog,就是操作日志,可以重放所有操作,基于 oplog 好像可以实现增量备份,也可以防止 dump 过程中的数据操作丢失,lz 查查这个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:37 · PVG 19:37 · LAX 03:37 · JFK 06:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.