手动预先分片

简介:
复制代码
手动预先分片:(每个片上的数据是不一样的,是分开存,不是做备份)

自动分片有可能短期内某个片的数据过大,硬盘不够用了。能否100000-20000就到0号片,200000-30000就到1号片。


//以shop.user表为例,先声明shop库下的user表做分片,并且片建是userid
sh.shardCollection('shop.goods',{userid:1});

sh.status()  //查看分片信息

//800万用户,分2个服务器,每个服务器400万,每个服务器100个片,每个片4万数据。


//40个块,每个块1000条,2个片,每个片20个块,每个片20条数据
use shop
for(var i=1;i<=40;i++) { //对shop.user表切割,碰到1000,20003000,...40000就切。预先在1K 2K...40K这样的界限切好chunk(虽然chunk是空的), 这些chunk将会均匀移动到各片上.每1000个数据一个块。
    sh.splitAt('shop.user',{userid:i*1000}) 
}
sh.status()//查看块


3: 通过mongos添加user数据. 数据会添加到预先分配好的chunk上, chunk就不会来回移动了.
for(var i=1;i<=40000;i++) {
    db.user.insert({userid:i,name:"kitty"})  //40000个用户分层了40个块,并且40个块在2个片上也分割完毕。每个片20000条。
}
   连接到不同的片上去看,也可以看status。
//预先分片要预先规划好,后面增加片,移动片时就会拖垮服务器。
复制代码


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8176116.html,如需转载请自行联系原作者

相关文章
|
11月前
|
NoSQL Cloud Native MongoDB
分片集群中的分片集合
分片集群中的分片集合
|
3月前
|
存储 负载均衡 定位技术
现代数据库系统中的数据分片策略与优化
数据分片在现代数据库系统中扮演着关键角色,特别是在面对海量数据和高并发访问的情况下。本文探讨了数据分片的基本概念、常见的分片策略(如水平分片与垂直分片)、以及如何通过优化和选择合适的分片策略来提升数据库系统的性能和可扩展性。
|
5月前
|
网络架构
IP数据报的分片的相关计算
IP数据报的分片的相关计算
90 4
|
5月前
|
存储 缓存 负载均衡
软件体系结构 - 数据分片(2)一致性哈希分片
【4月更文挑战第20天】软件体系结构 - 数据分片(2)一致性哈希分片
132 21
|
5月前
|
存储 缓存 NoSQL
软件体系结构 - 数据分片(1)哈希分片
【4月更文挑战第20天】软件体系结构 - 数据分片(1)哈希分片
115 8
|
12月前
|
数据处理 数据库
08MyCat - 概念 - 分片节点、分片规则、全局序列号
08MyCat - 概念 - 分片节点、分片规则、全局序列号
47 0
|
12月前
38MyCat - 分片规则(自然月分片)
38MyCat - 分片规则(自然月分片)
47 0
|
12月前
|
算法
29MyCat - 分片规则(固定分片hash算法)
29MyCat - 分片规则(固定分片hash算法)
45 0
|
存储 缓存 算法
三种常用的数据分片方式:Hash分片,一致性Hash分片和按照数据范围分片
三种常用的数据分片方式:Hash分片,一致性Hash分片和按照数据范围分片
434 0
三种常用的数据分片方式:Hash分片,一致性Hash分片和按照数据范围分片
|
NoSQL 关系型数据库 MongoDB