博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【MongoDB】在windows平台mongodb切片集群(三)
阅读量:5828 次
发布时间:2019-06-18

本文共 3056 字,大约阅读时间需要 10 分钟。

在过去的两年我们博客详细阐述了零碎工作集群和打造过程。在这篇博客中,我们主要分析测试结果一起支离破碎集群。

首先来看看碎片集群的每个状态。你可以看出来复制集AB都是正常的:

一、开启分片集合

开启一个数据库上的分片。这是对不论什么集合进行分片的先决条件。 如果測试数据库为slidetest. 

 

分片集合定义注意:它看起来和索引定义有几分相似之处,尤其是有那个unique键。

在对一个空集合进行分片时候。mongodb会在每一个分片上创建一个与分片相应的索引。

能够直接连上分片。执行getIndexs()进行验证。能够登陆到3000进行查看。

 

 

二、写入分片集群

一旦完毕集合的分片,分片集群就准备就绪了。如今能够向集群写入数据。数据将分布到各个分片上。

 

4000上初始化数据:

for(var i = 0; i < 200; i++){db.spreadsheets.insert({"filename": "sheet-"+i,"updatedate": new Date(),"username":"albertshao","data":"abcde"*1000 })}

查看结果:

 

 接下来我们检查整个块发生了什么,能够看到有两块。而且他们的最大值不一样。

备注:作为BSON类型的边界。$minKey和$maxkey经常使用于比較操作之中。

$minkey总是小雨全部BSON类型。而$maxKey总是大于全部BSON类型。

MongoDB使用这两个类型来比較块的端点

继续插入数据,如果插入20万条记录,

mongos> sh.status()--- Sharding Status ---  sharding version: {        "_id" : 1,        "version" : 4,        "minCompatibleVersion" : 4,        "currentVersion" : 5,        "clusterId" : ObjectId("545d9af5340aec0c2272afda")}  shards:        {  "_id" : "shard-a",  "host" : "shard-a/WIN--20141018KO:3000,WIN--20141018KO:3001" }        {  "_id" : "shard-b",  "host" : "shard-b/WIN--20141018KO:30100,WIN--20141018KO:30101" }  databases:        {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }        {  "_id" : "slidetest",  "partitioned" : true,  "primary" : "shard-a" }                slidetest.spreadsheets                        shard key: { "username" : 1, "_id" : 1 }                        chunks:                                shard-b 1                                shard-a 2                        { "username" : { "$minKey" : 1 }, "_id" : { "$minKey" : 1 } } -->> { "username" : "albertshao", "_id" : ObjectId("545df80537216b1577de0251") } on : shard-b Timestamp(2, 0)                        { "username" : "albertshao", "_id" : ObjectId("545df80537216b1577de0251") } -->> { "username" : "albertshao", "_id" : ObjectId("545e062437216b1577de1802") } on : shard-a Timestamp(2, 2)                        { "username" : "albertshao", "_id" : ObjectId("545e062437216b1577de1802") } -->> { "username" : { "$maxKey" : 1 }, "_id" : { "$maxKey" : 1 } } on : shard-a Timestamp(2, 3)mongos>

通过上面能够看的出。是利用usename作为块划分键。

同一时候也能够看的出上面总有3块。当中shard-a有两块,shard-b有一块。

我们通过changelog能够看到数据库的迁移:

mongos> db.changelog.count({what:"split"})2mongos> db.changelog.count({what:"moveChunk.commit"}).count()2014-11-08T20:12:09.618+0800 TypeError: Object 1 has no method 'count'mongos> db.changelog.find({what:"moveChunk.commit"}).count()1mongos> db.changelog.find({what:"moveChunk.commit"}){ "_id" : "WIN--20141018KO-2014-11-08T11:01:40-545df8141603dfc967d0fdcd", "server" : "WIN--20141018KO", "clientAddr" : "127.0.0.1:50644", "time" : ISODate("2014-11-08T11:01:40.826Z"), "what" : "moveChunk.commit", "ns" : "slidetest.spreadsheets", "details" : { "min" : { "username" : { "$minKey" : 1 }, "_id" : { "$minKey" : 1 } }, "max" : { "username" : "albertshao", "_id" : ObjectId("545df80537216b1577de0251") }, "from" : "shard-a", "to" : "shard-b", "cloned" : NumberLong(0), "clonedBytes" : NumberLong(0), "catchup" : NumberLong(0), "steady" : NumberLong(0) } }mongos>

版权声明:本文博客原创文章。博客,未经同意,不得转载。

你可能感兴趣的文章
Binary Search Tree Iterator leetcode
查看>>
uva-317-找规律
查看>>
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
华为OJ 名字美丽度
查看>>
微信公众号与APP微信第三方登录账号打通
查看>>
onchange()事件的应用
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>
软件工程师成长为架构师必备的十项技能
查看>>
python 异常
查看>>
百度账号注销
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>