您的位置:首页 > 数据库 > Mongodb

mongoDB系列之(三):mongoDB 分片

2016-01-07 12:46 597 查看

http://www.cnblogs.com/ee900222/p/mongodb_3.html

1. monogDB的分片(Sharding)

分片是mongoDB针对TB级别以上的数据量,采用的一种数据存储方式。
mongoDB采用将集合进行拆分,然后将拆分的数据均摊到几个mongoDB实例上的一种解决方案。



分片模式下,mongoDB实例分为三种:
shards: 存储数据的mongoDB
config: 保存设定的monogDB
routing(mongos): 负责分片处理的mongoDB

2. 配置分片

2.1 试验环境

1 mongos, 1 config, 2 shard

mongoDB都是单台构成,没有使用副本集

2.2 启动config

在test166上启动config实例,端口27019

2.3 启动 mongos

在test166上启动routing实例,端口27020

2.4 启动 shards

在test166和test167上分别启动shards

2.5 添加shards

连接monogs

添加shards

确认



2.6 开启分片

对指定的库开启sharding

指定分片的片键
片键有两种模式:hash模式,range模式

2.6.1 使用hash模式分片

插入数据确认



使用hash模式,记录在各片上的分布比较平均

2.6.2 使用range模式分片

插入数据确认

2.7 确认分片情况



在各shard上确认数据分布情况(hash模式)

test166:27017上的数据分布情况



test167:27017上的数据分布情况



2.8 其他

要分片的库原来有数据的情况下,先建index,然后再指定片键

3. 后记

本次测试环境使用mongoDB单台构成,没有使用副本集,使用副本集时的分片配置和上面类似,在此不详述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: