mongodb_Mongo3.2.4框架及角色介绍

来源:互联网 发布:广播电台软件哪个好 编辑:程序博客网 时间:2024/06/06 08:37

 个人理解

  mongoDB的框架,是我使用的所有数据库中最特别的一个,或者说是比较特殊的一种。

  首先,框架相比hadoop,hbase之类的大数据库来说,构造比较简单。

  其次,维持数据库使用的角色只有2中,mongod和mongos。

  最后,shard分片中,依据结果导向,是去中心化的,即人人为我,我为人人,没有主从的概念,比较和谐偷笑


mongoDB3.2.4 框架

构造如下所示:

 


角色

mongos

  • 从config server中获取元数据,为用户的增删改查提供寻址服务。
  • 解析用户的请求后,解析,获取对应的shard和chunk地址,进行检索和更新。
  • write操作的时候,会检查对应的chunk数据块是否超出预定的大小(默认64M),如果超过,进行split.
  • 解析用户的请求后,数据分散在多个shard时,向所属的所有shard发送请求,完后会根据各个shard反馈的结果进行合并最终的数据。
  • 一般chunk split后,根据内部数据平衡的策略,会做chunk的负载均衡。

mongod:config server

        存储所有数据的metadata数据。

  • shard与chunk range key的对应关系。
  • shard key与chunk的对应关系。

mongod:shard

  •  存储数据,提供数据的高可用性和一致性。
  • 根据存储引擎的不同,可以使用master-slave模型或者replica-set模型。mongodb3.0开始,默认的存储引擎是wireTiger,对应的就是副本集。


   第一次研究调查,理解不对的地方,还请大家指摘。

0 0
原创粉丝点击