软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 数据库 -> MongoDB分片测试 -> 正文阅读

[数据库]MongoDB分片测试


 ReplicaSet+Sharding部署:http://blog.csdn.net/lichangzai/article/details/50927588

MongoDB分片测试

1. 连接到mongos可查看系统相关信息


configsvr> show dbs 

configsvr> use config 

configsvr> show collections

onfigsvr> db.mongos.find()

{ "_id" :"racdb:28885", "ping" :ISODate("2016-03-21T09:23:05.106Z"), "up" :NumberLong(1436), "waiting" : true, "mongoVersion" :"3.2.3" }

{ "_id" :"host8.localdomain:28885", "ping" :ISODate("2016-03-21T09:23:07.960Z"), "up" :NumberLong(1427), "waiting" : true, "mongoVersion" :"3.2.3" }

{ "_id" :"host9.localdomain:28885", "ping" :ISODate("2016-03-21T09:23:03.521Z"), "up" :NumberLong(1407), "waiting" : true, "mongoVersion" :"3.2.3" }

configsvr> db.shards.find()

{ "_id" : "shard1","host" : "shard1/host8:28017,racdb:28017" }

{ "_id" : "shard2","host" : "shard2/host8:28018,racdb:28018" }

configsvr> db.databases.find()

{ "_id" :"im_offline_msg", "primary" : "shard1","partitioned" : true }

{ "_id" : "testdb","primary" : "shard2", "partitioned" : true }

{ "_id" : "test","primary" : "shard1", "partitioned" : true }

{ "_id" : "blogdb","primary" : "shard2", "partitioned" : false }

 

2. 对数据库启用分片


2.1 当前可连接到 mongos 查看数据库或者集合的分片情况(没有分片):

[plain] view plain copy CODE上查看代码片派生到我的代码片

mongos> db.stats() 

mongos> db.tab.stats() 

 

2.2 对数据库激活分片功能:

[plain] view plain copy CODE上查看代码片派生到我的代码片

# mongo racdb:28885 

mongos>sh.enableSharding("test") 

 

#或者 

 

# mongo racdb:28885 

mongos> use admin 

mongos> db.runCommand( { enableSharding:"blogdb"} )

 

2.3 此时查看数据库分区情况,partitioned变为 true”。

configsvr> use config 

switched to db config 

configsvr> db.databases.find()

{ "_id" :"im_offline_msg", "primary" : "shard1","partitioned" : true }

{ "_id" : "testdb","primary" : "shard2", "partitioned" : true }

{ "_id" : "test","primary" : "shard1", "partitioned" : true }

{ "_id" : "blogdb","primary" : "shard2", "partitioned" : true }

 

 

启用数据库分片并没有将数据进行分开,还需要对 collection 进行分片。

 

3. 对集合启用分片


启用前,有几个问题需要考虑的:

  • 选择哪个键列作为shard key  。(更多参考:Considerations for Selecting Shard Keys

  • 如果集合中已经存在数据,在选定作为shard key 的键列必须创建索引;如果集合为空,mongodb 将在激活集合分片(sh.shardCollection)时创建索引。

  • 集合分片函数sh.shardCollection

 

sh.shardCollection("<database>.<collection>",shard-key-pattern)

 

mongos>sh.shardCollection("test.tab", { "_id": "hashed"})

 

 

测试插入数据:


--使用python命令

#创建python文件

$ vi batch_insert.py

#-*- coding: UTF-8 -*-

import pymongo

client = pymongo.MongoClient("racdb", 28885)

db = client.testdb

#查看testdb数据库中集合信息

print (db.collection_names())

#连接到my_collection集合

print (db.my_collection)

#清空my_collection集合文档信息

db.my_collection.remove()

#显示my_collection集合中文档数目

print (db.my_collection.find().count())

#插入10000条文档信息

for i in  range(10000):

    db.my_collection.insert({"id":i,"name":"Licz"})

 

#显示my_collection集合中文档数目

print  ('插入完毕,当前文档数目:')

print (db.my_collection.find().count())


 

#执行插入

[mongod@racdb ~]$ python2.7.3batch_insert.py

[u'system.indexes', u'table1',u'my_collection']

Collection(Database(MongoClient(host=['racdb:28885'],document_class=dict, tz_aware=False, connect=True), u'testdb'), u'my_collection')

0

插入完毕,当前文档数目:

10000

 

 

#或是用mongo shell插入测试数据

for (var i=1; i<=100000; i++) { 

db.cc.insert({"id": i,"myName" : "cc"+i, "myDate" : new Date()}); 

} 

 

启用集合分片


mongos> show collections 

mongos> db.cc.find() 

mongos> db.cc.createIndex({"id": "hashed" }) 

mongos> db.cc.getIndexes() 

mongos>sh.shardCollection("testdb.cc", { "id": "hashed"}) 

mongos> db.stats() 

mongos> db.cc.stats() 

 

--查看sharding 状态

mongos> db.printShardingStatus();

 

 参考:http://blog.csdn.net/kk185800961/article/details/45932747
http://www.cnblogs.com/magialmoon/archive/2013/04/11/3015394.html

??
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-03-23 23:59:42  
数据库 最新文章
Python&MySQL&PyQt
最新用python来操作mysql完全解析
mongodb的安装详解
1.PDO简介
《MySQL必知必会学习笔记》:高级联结
【翻译自mos文章】怎么对Microsoft(Office)
MyCAT全局表描述及示例
ocp
关于SQL数据表存储过程表名前缀换成dbo代码
数据库调优教程(二)慢查询数据准备
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年7日历
2018-7-19 13:29:59
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --