同步mongodb数据库的两个副本

时间:2013-04-16 14:50:59

标签: mongodb amazon-ec2

我在amazon ec2 VM上运行了mongodb服务器。虚拟机拥有大约100GB的存储空间,而数据库的增长速度约为每天3GB。

我正在试图找出将数据库保留在外部服务器上的最佳方法,并且只有亚马逊虚拟机上的mongodb维护数据一到两天。然后,数据应同步到外部服务器并从VM上的DB中删除。

mongo有一个克隆方法,但看起来它不会起作用。有没有人试图做类似的事情?

谢谢!

1 个答案:

答案 0 :(得分:1)

MongoDB并没有真正做到这一点(至少现在还没有)。如果可以的话,你现在最好在应用层实现它。

如果那不是一个选项,你可以尝试使用分片......

实现这一点有点棘手,但可能最简单的方法是按日期进行分片,并且随着每一天的过去,你都要添加和删除VM mongo中的分片(例如,你可能会删除shard for 3天前,并在​​将来添加一个新的碎片1天)。然后,使用外部服务器作为主分片,这样当数据不在3天滚动分片中时,数据总是迁移到该服务器。

请查看Administer and Manage Shard Tags,了解如何设置分片代码,以便它们适用于每个日期。每晚,你需要一个cron作业来删除和添加这些碎片。这种方法的一个缺点可能是您需要每晚从VM移动3 GB数据到外部服务器。