- MongoDB 教程
- MongoDB - 首页
- MongoDB - 概述
- MongoDB - 优势
- MongoDB - 环境
- MongoDB - 数据建模
- MongoDB - 创建数据库
- MongoDB - 删除数据库
- MongoDB - 创建集合
- MongoDB - 删除集合
- MongoDB - 数据类型
- MongoDB - 插入文档
- MongoDB - 查询文档
- MongoDB - 更新文档
- MongoDB - 删除文档
- MongoDB - 投影
- MongoDB - 限制记录
- MongoDB - 排序记录
- MongoDB - 索引
- MongoDB - 聚合
- MongoDB - 复制
- MongoDB - 分片
- MongoDB - 创建备份
- MongoDB - 部署
- MongoDB - Java
- MongoDB - PHP
- 高级 MongoDB
- MongoDB - 关系
- MongoDB - 数据库引用
- MongoDB - 覆盖查询
- MongoDB - 分析查询
- MongoDB - 原子操作
- MongoDB - 高级索引
- MongoDB - 索引限制
- MongoDB - ObjectId
- MongoDB - MapReduce
- MongoDB - 文本搜索
- MongoDB - 正则表达式
- 使用 Rockmongo
- MongoDB - GridFS
- MongoDB - 封顶集合
- 自动递增序列
- MongoDB 有用资源
- MongoDB - 常见问题解答
- MongoDB - 快速指南
- MongoDB - 有用资源
- MongoDB - 讨论
MongoDB - 分片
分片是将数据记录存储在多台机器上的过程,它是 MongoDB 满足数据增长需求的方法。随着数据量的增加,单台机器可能无法存储数据,也无法提供可接受的读写吞吐量。分片通过水平扩展解决了这个问题。使用分片,您可以添加更多机器来支持数据增长以及读写操作的需求。
为什么选择分片?
在复制中,所有写入都发送到主节点
延迟敏感的查询仍然发送到主节点
单个副本集最多只能包含 12 个节点
当活动数据集很大时,内存可能不够大
本地磁盘空间不足
垂直扩展成本太高
MongoDB 中的分片
下图显示了使用分片集群的 MongoDB 中的分片。
在下图中,有三个主要组件:
分片 - 分片用于存储数据。它们提供高可用性和数据一致性。在生产环境中,每个分片都是一个单独的副本集。
配置服务器 - 配置服务器存储集群的元数据。此数据包含集群数据集到分片的映射。查询路由器使用此元数据将操作定向到特定分片。在生产环境中,分片集群恰好有 3 个配置服务器。
查询路由器 - 查询路由器基本上是 mongo 实例,它们与客户端应用程序交互并将操作定向到相应的分片。查询路由器处理并将操作定向到分片,然后将结果返回给客户端。分片集群可以包含多个查询路由器以划分客户端请求负载。客户端将请求发送到一个查询路由器。通常,分片集群有很多查询路由器。
广告