MongoDB分片集群机制及原理 4年前

1. MongoDB常见的部署架构    * 单机版    * 复制集    * 分片集群    2. 为什么要使用分片集群    * 数据容量日益增大,访问性能日渐下降,怎么破?    * 新品上线异常火爆,如何支撑更多用户并发?    * 单库已有10TB数据,恢复需要1-2天,如何加速?    * 地理分布数据3. 分片如何解决问题?    银行交易表单内10亿笔资料超负荷运转,交易号 0-1,000,000,000        把数据分成两两半,放到两个库里。        交易号:0-500,000,000        交易号:500,000,001-1,000,000,000        mongodb 最多可以分成1024片    4. 完整的分片集群

        

5. 分片集群解剖:路由节点mongos    * 提供集群单一入口    * 转发应用端请求    * 选择合适数据节点进行读写    * 合并多个数据节点的返回    * 无状态    * 建议至少两个6. 分片集群解剖:配置节点mongod    * 提供集群元数据存储    * 分片数据分布的映射        普通复制集架构    | Lower | Upper | Shard |    |-------|-------|-------|    | 0     | 1000  | Shard0 |    | 1001  | 2000  | Shard1 |    7. 分片集群解剖:数据节点mongod    * 以复制集为单位    * 横向扩展    * 最大1024分片    * 分片之间数据不重复    * 所有分片在一起才可以完整工作8. MongoDB分片集群特点    * 应用全透明,无特殊处理    * 数据自动均衡    * 动态扩容,无须下线    * 提供三种分片方式9. 分片集群数据分布方式    * 基于范围

        

* 基于Hash

        

* 基于zone / tag

        

10. 小结    * 分盘集群可以有效解决性能瓶颈及系统扩容问题    * 分片额外消耗较多,管理复杂,尽量不要分片
V
VGC
You Are (Not) Alone;You Can (Not) Advance;You Can (Not) Redo
3
发布数
1
关注者
2128
累计阅读

热门教程文档

Spring Cloud
8小节
Golang
23小节
CSS
33小节
Swift
54小节
Dart
35小节
广告