`
webdev2014
  • 浏览: 679625 次
文章分类
社区版块
存档分类
最新评论

mongoDB第八讲:分片

 
阅读更多

1.插入负载技术->分片架构图

2.片键的概念和用处

看下面这个普通的集合和分片后的结果:利用key为片键进行自动分片

3.什么时候用到分片呢?

3.1机器的磁盘空间不足

3.2单个的mongoDB服务器已经不能满足大量的插入操作

3.3想通过把大数据放到内存中来提高性能

4.分片步骤

4.1创建一个配置服务器

//配置服务器.conf

dbpath = D:\app\mongodata\config
port = 2000
bind_ip = 127.0.0.1

//配置服务器.bat

mongod --config 配置服务器.conf

4.2创建路由服务器,并且连接配置服务器,路由器是调用mongos命令

mongos --port 1000 --configdb 127.0.0.1:2000

4.3添加2个分片数据库:8081和8082

//分片数据库_01.conf

dbpath = D:\app\mongodata\01
port = 8081
bind_ip = 127.0.0.1

//分片数据库_01.bat

mongod --config 分片数据库_01.conf

//8082同上

4.5利用路由为集群添加分片(允许本地访问)

db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})

db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})

切记之前不能使用任何数据库语句

4.6打开数据分片功能,为数据库foobar打开分片功能

db.runCommand({"enablesharding":"foobar"})

4.7对集合进行分片

db.runCommand({"shardcollection":"foobar.bar","key":{"_id":1}})

4.8利用大数据量进行测试 (800000条)

function add(){
var i = 0;
for(;i<200000;i++){
db.bar.insert({"age":i+10,"name":"jim"})
}
}

function add2(){
var i = 0;
for(;i<200000;i++){
db.bar.insert({"age":12,"name":"tom"+i})
}
}

function add3(){
var i = 0;
for(;i<200000;i++){
db.bar.insert({"age":12,"name":"lili"+i})
}
}

//查看状态
db.printShardingStatus()

5.查看配置库对于分片服务器的配置存储

db.printShardingStatus()

6.查看集群对bar的自动分片机制配置信息

mongos> db.shards.find()

{ "_id" :"shard0000", "host" : "127.0.0.1:8081" }

{ "_id" :"shard0001", "host" : "127.0.0.1:8082" }

7.保险起见的配置服务器集群

8.分片与副本集一起使用

分享到:
评论

相关推荐

    MongoDB权威指南中文版

    《MongoDB权威指南中文版》第1章 简介 第2章 入门 第3章 创建、更新及删除文档 第4章 查询 第5章 索引 第6章 聚合 第7章 进阶指南 第8章 管理 第9章 复制 第10章 分片 第11章 应用举例 附录A 安装MongoDB 附录B ...

    电子书:MongoDB权威指南(中文版)

    1027.4.3 安全性 1037.5 数据库引用 1047.5.1 什么是DBRef 1047.5.2 示例模式 1047.5.3 驱动对DBRef 的支持 1057.5.4 什么时候该使用DBRef 呢 106第8 章 管理 1078.1 启动和停止MongoDB 1078.1.1 ...

    《10天掌握MongoDB》2012完整版.pdf[带书签]

    第八天:MONGODB复制 主从复制 主从复制-选项 副本集 副本集-特点 副本集-活跃节点选举 读写分离 工作原理-OPLOG 工作原理-同步 复制管理-诊断 复制管理-变更OPLOG容量 复制管理-复制认证 第九天:MONGODB分片 分片与...

    MongoDB权威指南(中文版)高清

    1037.5 数据库引用 1047.5.1 什么是DBRef 1047.5.2 示例模式 1047.5.3 驱动对DBRef的支持 1057.5.4 什么时候该使用DBRef呢 106第8章 管理 1078.1 启动和停止MongoDB 1078.1.1 从命令行启动 1078.1.2...

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    第8章 管理 8.1 启动和停止MongoDB 8.1.1 使用命令行启动 8.1.2 配置文件 8.1.3 Daemon方式启动 8.1.4 mongod参数说明 8.1.5 停止数据库 8.2 访问控制 8.2.1 绑定IP内网地址访问MongoDB服务 ...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    第8章 管理 8.1 启动和停止MongoDB 8.1.1 使用命令行启动 8.1.2 配置文件 8.1.3 Daemon方式启动 8.1.4 mongod参数说明 8.1.5 停止数据库 8.2 访问控制 8.2.1 绑定IP内网地址访问MongoDB服务 ...

    网络架构师148讲视频课程

    │ 第122节:MongoDB分片的片键选择.avi │ 第123节:MongoDB分片的管理.avi │ 第124节:监控状态和身份验证.avi │ 第125节:备份和恢复.avi │ 第126节:Java操作MongoDB.avi │ 第127节:MongoDB和Spring.avi │...

    数据结构算法

    你也会(7篇)——第一篇 快速入门 MongoDB(8)8天学通MongoDB——第八天 驱动实践 8天学通MongoDB——第七天 运维技术 8天学通MongoDB——第六天 分片技术 8天学通MongoDB——第五天 主从复制 8天学通MongoDB——第四...

    云计算第二版

    第8章 其他开源云计算系统 241 8.1 简介 241 8.1.1 Cassandra 241 8.1.2 Hive 242 8.1.3 VoltDB 242 8.1.4 Enomaly ECP 243 8.1.5 Nimbus 244 8.1.6 Sector and Sphere 245 8.1.7 abiquo 247 8.1.8 MongoDB 247 8.2 ...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 第八课InnoDB内核.pdf │ 第六课SQL高级应用.pdf │ 第十一课MySQL表分区8.0.pdf │ 第十七课Elasticsearch分享-张亚V4.pdf │ 第十三课MySQL5.7高可用架构之Mycat.pdf │ 第十三课MySQL8.0高可用架构之Mycat.pdf...

Global site tag (gtag.js) - Google Analytics