mongodb(分片)
分片(即sharding)是将数据拆分至不同数据节点的方式。
1、在mongoDB中提供了自动分片的方式,它会根据数据块(chunk)大小的设定,对片键进行拆分;
2、mongoDB配置分片,要配置三类节点,包括:
2.1 配置节点:存储分片的配置信息,包括由哪些分片、chunk信息等;
2.2 路由节点:配置完分片后,所有的SQL操作都通过该路由节点,由该路由节点路由至不同的数据节点;
2.3 分片节点:即数据节点,存储拆分后的数据;分片节点可以使一个普通的数据节点也可以使一个副本集;
下文记录在单机下,配置一个基本的sharding,
配置环境,操作系统: windows 7, mongodb版本: 2.6.4
1、创建文件夹目录 ../dbs/config ../dbs/shard1 ../dbs/shard2
2、启动配置节点 mongod.exe --dbpath ../dbs/config --port 10000
3、启动路由节点 mongod.exe --port 20000 --configdb localhost:10000 --chunksize 1
备注:此处将路由节点与配置节点关联,同时设置chunksize大小,为测试起见设置为1M
4、启动分片节点
mongod.exe --dbpath ../dbs/shard1 --port 30000
mongod.exe --dbpath ../dbs/shard2 --port 40000
5、登陆路由节点,进行配置
mongo.exe localhost:20000
use admin
db.runCommand({"addshard":“localhost:30000”})
db.runCommand({"addshard":"localhost:40000"})//增加分片
db.runCommand({"enablesharding":"test"}); //设置test库为可分片
db.runCommand({"shardcollection":"test.user","key":{"age":1}}); //设置test库中的user集合中age字段为片键
6、测试
登陆路由节点,在该节点中插入大量数据,如20000条use记录,
此时登陆两个数据节点,可以发现皆有数据。
在路由节点中输入命令db.user.stats(),可以查看具体状态,如下:

备注:
一、在实际测试中,我发现该状态是改变的,
1、当未有数据插入时,shards中只有shard0000;此时shard0001中无test数据库;
2、当插入数据到一定量时,shards中有shard0000和shard0001,但此时实际的shard0001的数据库只是建立了test库和user集合,无数据;
3、当再次插入数据时,shard0001中的test库开始可以查到数据;
个人理解如下:
mongodb在shard时会有一个预留量,即当第一个chunk快用完时,会提前准备新的chunk。
二、登陆config节点可以查找相关的配置表,在其config数据库下:

mongodb(分片)的更多相关文章
- MongoDB 分片管理(不定时更新)
背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...
- MongoDB 分片的原理、搭建、应用
一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...
- MongoDB分片简单实例
分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据也足以提供可接受的读写吞吐量.这时,我 ...
- (转)MongoDB分片实战 集群搭建
环境准备 Linux环境 主机 OS 备注 192.168.32.13 CentOS6.3 64位 普通PC 192.168.71.43 CentOS6.2 64位 服务器,NUMA CPU架构 Mo ...
- 搭建mongodb分片
搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...
- mongodb分片
在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来 ...
- mongodb 分片群集(sharding cluster)
实际环境架构 分别在3台机器运行一个mongod实例(称为mongod shard11,mongod shard12,mongod shard13)组织replica set1,作为cluster的s ...
- MongoDB基础教程系列--第九篇 MongoDB 分片
1.分片介绍 分片(sharding)是将数据拆分,将其分散存到不同机器上的过程.MongoDB 支持自动分片,可以使数据库架构对应用程序不可见.对于应用程序来说,好像始终在使用一个单机的 Mongo ...
- mongodb分片部署
Mongodb 分片部署 配置mongodb集群,比如 在3个server上配置 3 shard的Mongodb集群: 架构: 1.每片数据需要3个mongod server,2个为主从数据节点:1个 ...
- MongoDB分片原理篇
MongoDB分片 为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用, ...
随机推荐
- margin 碰到过的重叠问题
双倍margin 稍微记录一下,因为常忘 float + margin,实际边距会变成设置值的双倍. 解决办法是 将元素设为 display:inline 最好要了解 IE的 haslayout 问题 ...
- PHP正则表达式 /i, /is, /s, /isU等
PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢? i 匹配大小写 s 模式中的圆点元字符(.)匹配所有的字符,包括换行符 x 模式中的空白字符除了被转义的或在字符类中的以外完 ...
- C# 京东模拟登录小结
最近有需要模拟京东登录,在解决过程中遇到了一些问题,因此这里记录下来避免以后遇到同样的问题. 首先第一步需要做的是找到登录请求网址和关于请求所需的一些信息.这里可以用抓取工具或者直接用firebug或 ...
- 《笨办法学C》笔记之基础语法
这篇笔记不怎么系统,只记录自己比较生疏的知识 变量定义 类型 定义 格式化符号 备注 整数 int %d 长整型 long %ld 单精度浮点 float %f 双精度浮点 double %f 字符 ...
- 数据仓储之DLL层接口设计
一.接口设计 1.1. IBaseRepository.cs public interface IBaseRepository<T> { T Add(T entity); bool Upd ...
- 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案
方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...
- 解决Tomcat数据连接池无法释放
近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况.前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Rel ...
- 清空stringbuilder
大家知道对于字符串频繁拼接是使用stringbuilder.Append方法比使用string+=方法效率高很多,但有时需要清空stringbuilder时却不知道怎么清空,因为它没有clear或em ...
- linux 项目环境搭建配置
经过三天加一上午的努力折腾,本地项目终于跑起来了,linux系统,重装后需要安装基本的php,nginx,mysql.php扩展需要安装curl ,memcache,memcached等.然后就是修改 ...
- Win10专业版激活永久可查激活信息
Win10专业版激活永久步骤 ------在安装Win10专业版后,使用激活工具将系统激活到180天 这里附带在下屡试不爽的激活工具--百度云盘-- 链接:http://pan.baidu.com/s ...