10gen 最近宣布限量发行其 MongoDB 备份服务,该服务提供了增量备份和指定时间点的恢复功能。
为了备份或恢复 MongoDB,我们一般会使用 mongodump 和 mongorestore 工具。我们也可以选择使用–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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论