托管和扩展mongodb

时间:2014-01-15 17:43:26

标签: mongodb hosting scale scaling database

我正在寻找托管服务来托管我的mongodb数据库,例如MongoLab-MongoHQ-Heroku-AWS EBS等。 我需要的是找到一个提供自动扩展我的存储大小的服务(或其他)。 有没有办法(服务)自动缩放mongodb?怎么样?

1 个答案:

答案 0 :(得分:1)

有许多hosting providers for MongoDB提供了扩展解决方案。

存储大小只是缩放的一个维度;还有其他资源可以监视内存,CPU和I / O吞吐量。

您可以使用几种不同的方法来扩展MongoDB存储大小:

1)部署MongoDB replica set并垂直扩展

您需要的最小占用空间是两个数据承载节点(主节点和次节点)以及第三个节点,它是另一个数据节点(辅助节点)或没有数据的投票节点(仲裁器)。

随着存储需求的变化,您可以通过暂时停止mongod服务并执行O / S更改来调整{2}上的存储配置,从而调整辅助存储。调整每个辅助辅助后,您将重新启动dbpath,并在更改下一个辅助辅助之前允许该辅助辅助catch up on replication sync。最后,您将降级并升级主数据库。

2)部署MongoDB sharded cluster并水平扩展。

分片群集允许您跨多个分片对数据库进行分区,这些分片通常由副本集支持(尽管从技术上讲,分片可以是独立的mongod)。在这种情况下,您可以根据您的要求添加(或删除)分片。由于chunk migration across shards,更改分片数量可能会对性能产生显着影响,因此这不是您反应过度的事情(即每天或每周更有可能而不是每小时)。

3)让托管数据库即服务提供商为您处理细节:)

副本集和分片是基本构建块,但托管提供商通常可以为您处理细节。有了这个术语,您应该能够接近托管服务提供商并向他们询问可用的计划选项和成本核算。