10gen 发布 MongoDB 增量备份服务

  • Roopesh Shenoy
  • 李彬

2013 年 5 月 17 日

话题:DevOps

10gen 最近宣布限量发行其MongoDB 备份服务,该服务提供了增量备份和指定时间点的恢复功能。

为了备份或恢复 MongoDB,我们一般会使用mongodumpmongorestore工具。我们也可以选择使用--oplog获取指定时间点的快照。然而,每次备份整个数据库将消耗更多的时间和硬盘空间。10gen 的新服务正是由此切入——提供支持按照指定时间点恢复的持续增量备份功能。同时,作为一个基于云的备份服务,用户可以按需支付,而不必提前规划存储容量。

它的关键特性包括:

  • 用于数据传输的 SSL 加密
  • 高可用性
  • 指定时间点恢复
  • 支持分片集群
  • 较低的开销

预计今年晚些时候该服务将全面可用。

10gen 从技术角度阐述了该解决方案的工作原理:

这是一个轻量级代理,它从所有正在备份的副本集合中收集 oplog,将其压缩并加密,然后通过 SSL 发送到运行备份服务的数据中心。此方法拥有许多好处,包括:1)数据是增量备份的,因此传输的数据相对较小;2)备份服务中的数据与主系统中的数据在时间上非常接近;3)对主系统的影响不会比向副本集合中添加另一个副本大(后者非常缓慢);4)oplog 支持将副本集合恢复到任意时间点。

有两个备份选项:快照和自定义快照。备份服务依据一套策略创建和维持备份快照。这些快照中的任何一个都可以用于恢复。同样的,用户也可以指定一个自己希望使用的精确时间点创建一份快照。在这种情况下,将使用该时间点之前最新的快照,并会根据用户指定的时间点应用 oplog。

与 MMS 类似,10gen 或许会对大型企业以本地模式开放此服务。该公司已经决定,目前不会将支撑此服务的软件开源。

来自于EqualExperts开源项目Tayra也是使用副本集合的 oplog 创建增量备份。我们可以查看其文档以了解它所提供的全部特性——包括选择性恢复和指定时间点恢复。不过它不支持分片系统。

查看英文原文10gen Introduces Incremental Backup Service For MongoDB


感谢孙镜涛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

DevOps