我们开始在工作中使用 MongoDB。 到目前为止一切顺利,但我被要求评估 MongoDB 是否可以同时进行副本集和分片。搜索了一段时间后,我发现可以,但除非真的有必要,否则应该避免分片。
我读过 somewhere使用 MongoDB 你真的需要有很多文档(比如数十亿)才能开始考虑分片,但是我无法理解这一点,因为那些“统计数据”中没有提到平均文档的组织和大小。
我们现在的标准是 RAM 应该大于完成请求所需的内存负载。
这让我想到了那些问题: MongoDB 和 SQL Server 知道请求的 RAM 中使用了什么的指令是什么?
在 MongoDB 中使用分片的关键要求是什么?
当有人解释他们为什么将 Sharding 与 MongoDB 一起使用时,有人可以指点我一篇文章、帖子或任何东西吗?
MongoDB 如何处理自动分片?
谢谢。
最佳答案
据我了解,您的工作集(您访问最频繁的数据)必须适合 RAM 才能获得良好的性能。如果没有,则可以选择分片。
副本集允许在整个集合中分配读取,而分片也可以用于分配写入。
O'Reilly 有一本名为“缩放 mongodb”的书,解释了如何以及何时使用副本集和分片。
你也可以看看这个页面:http://www.mongodb.org/display/DOCS/Sharding+Introduction
关于sql-server - 为什么要对 MongoDB 使用分片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7724129/