我可以使用具有不同RAM量的服务器在MongoDB 1.8中设置副本集吗?
如果是,有什么优点和缺点?
答案 0 :(得分:5)
不,你不需要相同的RAM。 (是的,您可以按照描述设置副本集。)
MongoDB使用内存映射文件进行所有缓存,这意味着缓存分页由操作系统处理。具有更多内存的副本将使更多的数据库保留在内存中;较少的人会将更多内容分页到磁盘。
如果可以,MongoDB最终会将整个数据库带入内存。如果您使用两个副本进行读取而另一个用于写入,则可能需要使用5gb和4gb计算机进行读取,因此它们更有可能触及RAM。
答案 1 :(得分:3)
是的,您可以这样配置副本集。
如果是,有什么优点和缺点?
Here's a doc解释副本集的主要功能。让我们根据RAM差异来看看这些。
<强>优点:强>
<强>缺点:强>
所以,这里的大问题,实际上是表现之一。如果您只是为开发设置执行此操作,那么它基本上可以正常工作。但在生产环境中,您可能会面临完全陷入困境的风险。如果您的应用程序习惯于使用4GB + RAM,然后突然降至2GB,则可能无法使用。
大多数生产设置都希望故障转移到另一台“同等功率”的计算机上。