我知道 MongoDB 可以垂直扩展。如果我的磁盘用完了怎么办?
我目前正在将 EC2 与 EBS 一起使用。如您所知,我必须为固定大小分配 EBS。
如果 MongoDB 增长大于 EBS 大小怎么办?我是否必须创建更大的 EBS 并复制和粘贴文件?
或者我们应该启动更多的 MongoDB 实例并且每个连接到不同的 EBS 磁盘?在这种情况下,我可以为不同的数据库连接到不同的实例。
我知道 MongoDB 可以垂直扩展。如果我的磁盘用完了怎么办?
我目前正在将 EC2 与 EBS 一起使用。如您所知,我必须为固定大小分配 EBS。
如果 MongoDB 增长大于 EBS 大小怎么办?我是否必须创建更大的 EBS 并复制和粘贴文件?
或者我们应该启动更多的 MongoDB 实例并且每个连接到不同的 EBS 磁盘?在这种情况下,我可以为不同的数据库连接到不同的实例。
如果你的磁盘用完了,你显然需要一个更大的磁盘。
有几种方法可以迁移数据,这实际上取决于您需要的正常运行时间类型。第一步当然包括捆绑机器和创建新卷。
这些技巧从最简单到最难。
如果是这样,请执行此操作(通过复制迁移):
如果是这样,请执行此操作(从属和切换):
正确完成最后三个步骤可以在几分钟甚至几秒钟内完成。
如果是这样,请执行此操作(master-master):
我知道看起来最后一个版本实际上是最好的,但它可能有点冒险(在撰写本文时)。原因很简单,老实说,我在“Master-Master”复制方面遇到了很多问题,特别是如果你不从两者都激活开始。
如果您打算使用此方法,我强烈建议您先进行较小的练习。如果这里发生了爆炸,Mongo 可能会简单地擦除您的所有数据文件,这将产生删除更多内容的效果。
如果你得到一个好的版本,请发布命令,我想看看它的实际效果。
EBS 中的E不代表弹性,意思是动态调整大小吗?
目前,MongoDB 团队正在努力完成分片,这将允许您通过在不同服务器上单独分区数据来进行水平扩展。给它一两个月,它会正常工作的。开发人员非常善于信守承诺。
http://api.mongodb.org/wiki/current/Sharding%20Introduction.html http://api.mongodb.org/wiki/current/Sharding%20Limits.html
您可以将较大的磁盘从较小的磁盘上奴隶,直到它赶上
或者
fsync+lock 并拍摄文件系统快照并将其复制到更大的磁盘上。
好吧,我现在正在使用 Mongo DB。我对它产生的性能感到非常惊讶,尤其是在一些简单的排序上。
我相信它是简单的 Web 应用程序逻辑的好工具。剩下的问题是如何扩展和备份。我会继续探索。
我唯一的缺点是我没有任何好的工具来揭示其中存储的数据。例如,我也想将我的日志记录从 MYSQL 放到 Mongo 中。但是,我很难查看日志。以前,我可以使用 MYSQL 查询轻松获取我想要的内容。
无论如何,这是一个很好的工具,我会继续使用它。