我们设立了一个MongoDB在 CentOS 6.3 上安装了开发服务器,并且能够使用单独的配置文件和 rc 脚本来分离不同的项目。现在我们正在考虑设置 MongoDB 生产环境。
我读到过,不建议在生产中在同一台服务器上托管多个 MongoDB 实例。 这是否意味着每个项目都需要自己的生产 MongoDB 环境?
这些项目并不是“很大”,因此不需要很多资源,因此我们给每个项目分配单独的主机似乎有些操之过急。也许我们只是需要摆脱 RDBMS 的世界。
我们将监控我们的开发服务器以了解其运行情况,但我正在寻找一些见解和一些您自己的个人经验来补充我所读的内容。
答案1
Mongo/10Gen 建议不要在同一系统上运行多个 Mongo 实例的原因与资源可用性假设有关。该过程假设它是系统的唯一主要租户,而并行运行两个这样的实例将导致总体性能比仅运行一个实例(仅包含两个数据库)mongod
更差。mongod
Mongo 完全有能力在单个mongod
进程下运行多个数据库。这些是离散的数据库,仅在单个主进程下。每个数据库处理自己的身份验证,从而为您提供分离。mongod
如果您需要不同的mongo 版本为您的产品提供
我不是一名 RDBMS DBA,无法了解通过离散数据库二进制过程分离产品的最佳实践论据,因此我无法反驳/缓和/淡化每个观点。但据我了解,Mongo 环境中公认的做法是每个产品都有一个单独的数据库。