MongoDB分片集群机制及原理

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

![]()

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

![]()

<br></br>    * 基于Hash<br></br>

![]()

<br></br>    * 基于zone / tag<br></br>

![]()

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

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。