MongoDB分片集群机制及原理

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. 完整的分片集群

        MongoDB分片集群机制及原理

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

        MongoDB分片集群机制及原理

* 基于Hash

        MongoDB分片集群机制及原理

* 基于zone / tag

        MongoDB分片集群机制及原理

10. 小结    * 分盘集群可以有效解决性能瓶颈及系统扩容问题    * 分片额外消耗较多,管理复杂,尽量不要分片

相关推荐