我们在CentOS 6.3上设置了一个
MongoDB开发服务器,并且能够通过使用单独的配置文件和rc脚本来分离不同的项目.现在我们正在考虑建立一个MongoDB生产环境.
我已经读过,不建议在生产中的同一台服务器上托管多个MongoDB实例.这是否意味着每个项目都需要自己的生产MongoDB环境?
这些项目不是很“大”,所以不需要很多资源,所以感觉就像我们通过给每个人自己的东道主而开枪.也许我们只需要脱离RDBMS世界.
我们将监控我们的开发服务器以了解其运行情况,但我正在寻找一些见解和一些您自己的个人经验来补充我所阅读的内容.
解决方法
Mongo / 10Gen建议不要在同一系统上运行多个Mongo实例的原因与资源可用性假设有关. mongod进程假设它是系统中唯一的主要租户,并且运行两个这样的并排将导致总体上比仅使用两个数据库运行一个mongod更糟糕的性能.
Mongo能够在单个mongod进程下运行多个数据库.这些是离散数据库,只是在一个主进程下.每个数据库都处理自己的身份验证,这使您可以分离.如果您的产品需要不同的mongo版本,您将运行多个mongod进程.
我不足以了解RDBMS DBA以了解通过离散数据库二进制进程分离产品背后的最佳实践论点,因此我不能反驳/缓和/减少每个点.但据我了解,Mongo环境中的公认实践是每个产品都有一个单独的数据库.