美文网首页我爱编程
MongoDB中的分片(Sharding)

MongoDB中的分片(Sharding)

作者: 何甜甜在吗 | 来源:发表于2018-03-25 22:34 被阅读0次

    1.Sharding的作用:将数据通过一定的算法分散到不同的机器上,实现高扩展。MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。

    2.Sharding的架构


    sharding架构.png

    1)mongos:特殊的mongod实例(不存储数据)作为路由
    2)config servers存储集群的配置信息
    3)shard存储集合分片数据,并且分片数据可以在构成一个集群

    1. shard key
      将集合中的数据分片
      shard集合之前选择一个合适的shard key,shard key的选择会影响分片以后的高扩展性、效率,也会影响集群,shard之后不能更改shard key,并且分片集合只能有一个shard key
      如果对一个非空集合进行分片,必须有一个索引是以shard key开始的,不如shard key为a,则必须有一个索引{"a":1,"x":1...},x为文本中的字段。如果对一个空集合进行分区,如果没有合适的索引,则mongodb将会创建一个索引,比如你的shard key为b,但是没有索引是以b开始的,则将会自行创建一个

    4.Sharding的优势
    1)读写
    2)存储大数据的能力
    3)高可用
    高可用是因为集群

    5.分片策略
    1)hashed sharding
    优点:
    分散均匀
    缺点:
    不适合范围查找,只适合精确查找
    2)range sharding

    
    

    相关文章

      网友评论

        本文标题:MongoDB中的分片(Sharding)

        本文链接:https://www.haomeiwen.com/subject/ycbccftx.html