sql-server - 为什么要对 MongoDB 使用分片?

标签 sql-server mongodb mongodb-.net-driver nosql

我们开始在工作中使用 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/

相关文章:

mongodb - 检查是否插入成功(MongoDB C#驱动)

sql-server - SQL Server Container Linux - 用户 'sa' 登录失败

SQL Server : how to add new identity column and populate column with ids?

java - JDBC MS SQL Server Kerberos 身份验证

sql - 如何在存储过程中传递列表作为参数?

mongodb - 卡在 Mavericks OSX 10.9 brew install 上安装 MongoDB 在 scons 线上挂起

javascript - 为 mongodb REST API 编写通用查询函数

c# - 如何取消 tailable 游标上的 MoveNext 操作

c# - 如何将 IndexOf 与 mongodb c# 中的 Builders 过滤器一起使用

c# - 无法使用 C# 驱动程序过滤 MongoDB 中的日期字段