我了解 MongoDB 可以设置为非分片副本集或分片。Sharded 用于非常大的数据集的可扩展性。
问题是,我什么时候知道我应该使用 Sharded 与 3 个 mongodb 节点的基本副本集?
我了解 MongoDB 可以设置为非分片副本集或分片。Sharded 用于非常大的数据集的可扩展性。
问题是,我什么时候知道我应该使用 Sharded 与 3 个 mongodb 节点的基本副本集?
一如既往,这取决于。当您的数据库太大而无法在单台机器上完全保存在 RAM 中时,请考虑分片。与往常一样,确定的最佳方法是在您的特定情况/架构/使用模式中进行测试,并亲自查看。
正如@gkamal 所提到的,当您的数据存储开始达到单个盒子大小的 60-70% 并且负载主要是写入繁重时,您需要考虑分片。
无阴影的 3 个副本集与副本集不会扩展写入负载的分片实例之间的主要区别。由于锁定开销,主服务器将成为写入主服务器的瓶颈。另一方面,如果分片正确完成,它将减轻写入/读取的负载,因为每个分片都拆分为多个孤立的实例。
除了数据集大小之外,还可以考虑更多参数。