我开始分析MongoDB如何在Amazon AWS上运行,我觉得我在这里缺少一些基本的东西。从我在亚马逊存储文档上看到的内容来看,亚马逊似乎会自动对其硬件磁盘进行一些备份。因此,如果他们能够透明地恢复每个磁盘(存储MongoDB数据),那么我还需要关心备份和恢复吗?
我最感兴趣的是灾难或故障恢复问题,但它与硬件故障有关,而且目前还不清楚亚马逊是否已经自动处理(使用磁盘镜像或预定义的备份计划),或者我们仍然需要手动执行(锁定,备份) ,然后恢复某一天)?如果没有那么当某些磁盘在AWS上出现故障时会发生什么数据是否被破坏(网站损坏且部分功能),我们在晚上收到来自AWS的电子邮件,然后我们需要在早上立即恢复(收到电子邮件后)数据库? :)
答案 0 :(得分:4)
我认为你的分析是基于错误的,即使不是危险的假设。一些基础知识:
我是这样做的。简化,详细分析需要了解用例,每小时停机时间的直接和间接成本以及其他一些因素。
上述备份方法之间的一个小比较:
一个漂亮的工具,它允许您创建远程机器的备份,这是一个优势,因为您不必手动从数据承载机器移动数据,并且您不需要额外配置该机器上的磁盘空间。它的缺点是恢复非常慢。 MongoDB建议只在小型数据库上使用mongodump,我只能说它。至于定义小,我个人画了大约1GB的行。
如果操作正确,此方法非常灵活 - 您可以对MongoDB数据和其他应用程序数据(如文件)进行一致备份,例如一步完成,从中创建压缩的tar
文件,通过非常简单的shell脚本将其存储在非现场位置。缺点是您需要过度配置磁盘,压缩需要时间和资源,您需要了解自己在做什么。
这是法拉利的MongoDB备份方法 - 它提供实时备份和按时间点恢复,设置和恢复非常简单......但是,它带有相当大的价格标签,甚至更多在AWS中,因为数据被发送(当然是加密的)到MMS,这应该算作外部流量。但是,我仍然建议在AWS上使用MMS:任何与金融交易(商业意义上的)或极其严格的SLA直接相关的内容都应使用MMS,因为它提供了真正的时间点恢复