0

我了解 MongoDB 可以设置为非分片副本集或分片。Sharded 用于非常大的数据集的可扩展性。

问题是,我什么时候知道我应该使用 Sharded 与 3 个 mongodb 节点的基本副本集?

4

3 回答 3

1

一如既往,这取决于。当您的数据库太大而无法在单台机器上完全保存在 RAM 中时,请考虑分片。与往常一样,确定的最佳方法是在您的特定情况/架构/使用模式中进行测试,并亲自查看。

于 2012-09-13T15:43:14.667 回答
0

正如@gkamal 所提到的,当您的数据存储开始达到单个盒子大小的 60-70% 并且负载主要是写入繁重时,您需要考虑分片。

无阴影的 3 个副本集与副本集不会扩展写入负载的分片实例之间的主要区别。由于锁定开销,主服务器将成为写入主服务器的瓶颈。另一方面,如果分片正确完成,它将减轻写入/读取的负载,因为每个分片都拆分为多个孤立的实例。

于 2013-11-01T01:51:06.010 回答
0

除了数据集大小之外,还可以考虑更多参数。

  1. 写负载。副本集将允许读取扩展(1 个主 - 许多从属),但如果应用程序写入繁重,则分片是分配写入负载的一种方式。但是为了使数据在集群中分布的方式有效,应该与并发写入模式相匹配。
  2. 多数据中心部署。如果应用程序需要地理分布标签感知分片(在 2.2 中引入)允许您保持
于 2012-09-14T15:48:37.667 回答