假设我想拥有一台机器上有5个分片的MongoDB服务器,每个分片都有3台服务器的副本.
这会提高性能吗?这有什么缺点?
解决方法
正面:
>如果数据被散列到不同的分片,您将能够进行并发写入. MongoDB在执行写操作时锁定该实例上的整个数据库,因此即使非分片副本集也只能一次写入一个东西
>这是学习分片/副本集/管理员的好方法,但如果你只想这样做,你可以用更少的实例实现这一点
>复制会很快:)
缺点:
>你需要一台功能强大的机器(多个cpu,但也要尽可能多的内存和快速磁盘)才能真正从性能中受益–Mongo渴望RAM!为了获得最佳性能,您的总索引大小应该适合RAM,这意味着如果每个分片有2个gig索引,则需要5 * 3 * 2 = 30 gig的ram,以及OS等的内存>您可能无法从slaveOK查询选项中获益>你没有防止硬件故障的保护 – 如果盒子去了,你的所有分片和你的副本集都会消失