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


2.片键的概念和用处
看下面这个普通的集合和分片后的结果


3.什么时候用到分片呢?
3.1机器的磁盘空间不足
3.2单个的mongoDB服务器已经不能满足大量的插入操作
3.3想通过把大数据放到内存中来提高性能
4.分片步骤
4.1创建一个配置服务器
4.2创建路由服务器,并且连接配置服务器
路由器是调用mongos命令
4.3添加2个分片数据库
8081和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条)


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.分片与副本集一起使用

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()

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

dbpath = D:\sortware\mongod\03\8081
port = 8081
bind_ip = 127.0.0.1

mongo 127.0.0.1:8081/admin

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

dbpath = D:\sortware\mongod\03\8082
port = 8082
bind_ip = 127.0.0.1

mongo 127.0.0.1:8082/admin

mongos --port 1000 --configdb 127.0.0.1:2000

mongo 127.0.0.1:1000/admin

mongod --config 配置服务器.conf

dbpath = D:\sortware\mongod\03\config
port = 2000
bind_ip = 127.0.0.1

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

dbpath = D:\software\MongoDBDATA\08\0801
port = 8081
bind_ip = 127.0.0.1

mongo 127.0.0.1:8081/admin

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

dbpath = D:\software\MongoDBDATA\08\8082
port = 8082
bind_ip = 127.0.0.1

mongo 127.0.0.1:8082/admin

mongos --port 1000 --configdb 127.0.0.1:2000

mongo 127.0.0.1:1000/admin

mongod --config 配置服务器.conf

dbpath = D:\software\MongoDBDATA\08\config
port = 2000
bind_ip = 127.0.0.1

mongodb分片(七)的更多相关文章

  1. MongoDB 分片的原理、搭建、应用

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  2. MongoDB 分片的原理、搭建、应用 !

    MongoDB 分片的原理.搭建.应用   一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处 ...

  3. 009.MongoDB分片群集部署

    一 前期准备 1.1 组件说明 MongoDB分片群集包含以下组件: shard:每个分片是分片数据的子集.从MongoDB 3.6开始,必须将分片部署为副本集. mongos:mongos充当查询路 ...

  4. MongoDB 分片的原理、搭建、应用 (转)

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  5. MongoDB分片集群-Sharded Cluster

    分片概念 分片(sharding)是一种跨多台机器分布数据的方法, MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署. 换句话说:分片(sharding)是指将数据拆分,将其分散存在 ...

  6. MongoDB 分片管理(不定时更新)

    背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...

  7. MongoDB分片简单实例

    分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据也足以提供可接受的读写吞吐量.这时,我 ...

  8. (转)MongoDB分片实战 集群搭建

    环境准备 Linux环境 主机 OS 备注 192.168.32.13 CentOS6.3 64位 普通PC 192.168.71.43 CentOS6.2 64位 服务器,NUMA CPU架构 Mo ...

  9. 搭建mongodb分片

    搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...

  10. mongodb分片

    在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来 ...

随机推荐

  1. vuex秘籍

    vue项目开发中,大型项目一般vuex所需要存储的状态一般都很都,这时,我们便需要进性模块化划分,然后 再页面中采用映射来实现state的调用: 目录一般如下: store为总的状态库存放文件. mo ...

  2. Linux OpenCV 静态链接错误

    错误一: undefined reference to `dlopen' undefined reference to `dlerror' undefined reference to `dlsym' ...

  3. 一个MySql Sql 优化技巧分享

    有天发现一个带inner join的sql 执行速度虽然不是很慢(0.1-0.2),但是没有达到理想速度.两个表关联,且关联的字段都是主键,查询的字段是唯一索引. sql如下: SELECT p_it ...

  4. BZOJ3675 Apio2014 序列分割 【斜率优化】

    Description 小H最近迷上了一个分隔序列的游戏.在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列.为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首 ...

  5. BZOJ4820 Sdoi2017 硬币游戏 【概率期望】【高斯消元】【KMP】*

    BZOJ4820 Sdoi2017 硬币游戏 Description 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利.大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实 ...

  6. JavaScript 定时任务多事件冲突问题

    var iCount = setInterval(ChangeTime, 3500);//3.5秒请求一次函数 function ChangeTime() { $.ajax({ type: " ...

  7. PHP5.3、PHP5.4、PHP5.5、PHP5.6的新特性

    1. PHP5.3中的新特性 1.1 支持命名空间(namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,可以用命名空间防止代码的冲突,命名空间的分隔符为 ...

  8. Spring Boot 入门之 Web 篇(二)

    原文地址:Spring Boot 入门之 Web 篇(二) 博客地址:http://www.extlight.com 一.前言 上一篇<Spring Boot 入门之基础篇(一)>介绍了 ...

  9. PostgreSQL编译安装

    PostgreSQL编译安装 安装语言包 ### PostgreSQL 初始化过程中,会读取操作系统字符编码, ### 若程序需要使用zh_CN.utf-8字符编码,需要在PostgreSQL 初始化 ...

  10. GNU Radio 入门培训

    1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...