[NoSQL]-mongodb-分片
第1章 分片的概念 1.有了副本集,为什么还需要分片? 副本集资源利用率不高 分片可以提高资源利用率 2.分片的缺点 理想情况下需要机器比较多 配置和运维变得复杂且困难 提前规划好特别重要,一旦建立后在想改变架构变得很困难 第2章 分片工作流程 1.路由服务mongos 路由服务,提供代理,替用户去向后请求shard分片的数据 2.数据节点shard 负责处理数据的节点,每个shard都是分片集群的一部分 3.分片配置信息服务器config 保存数据分配在哪个shard上 保存所有shard的配置信 提供给mongos查询服务 4.片键 数据存放到哪个shard的区分规则 片键就是索引 选择片键的依据: 能够被经常访问到的字段 索引字段基数够大 第3章 分片的分类 1.区间片键 id name host sex 1 zhang SH boy 2 ya BJ boy 3 yaya SZ girl 如果以id作为片键: id 1-100 shard1 100-200 shard2 200-300 shard3 300-+无穷 shard4 如果以host作为片键: SH shard1 BJ shard2 SZ shard3 2.hash片键: 特点:足够平均,足够随机 id name host sex 1 zhang SH boy 2 ya BJ boy 3 yaya SZ girl