mongodb 在windows下面进行分片

在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对。

  一:分片

  mongodb采用将集合进行拆分,然后将拆分的数据均摊到几个片上的一种解决方案。

  下面我对这张图解释一下:

  人脸:代表客户端,客户端肯定说,你数据库分片不分片跟我没关系,我叫你干啥就干啥,没什么好商量的。

  mongos:首先我们要了解”片键“的概念,也就是说拆分集合的依据是什么?按照什么键值进行拆分集合....好了,mongos就是一个路由服务器,它会根据管理员设置的“片键”将数据分摊到自己管理的mongod集群,数据和片的对应关系以及相应的配置信息保存在"config服务器"上。

  mongod:一个普通的数据库实例,如果不分片的话,我们会直接连上mongod。

  二: 实战

  首先我们准备4个mongodb程序,我这里是均摊在C,D,E,F盘上,当然你也可以做多个文件夹的形式。

  1:开启config服务器

  先前也说了,mongos要把mongod之间的配置放到config服务器里面,理所当然首先开启它,我这里就建立2222端口。

  2: 开启mongos服务器

  这里要注意的是我们开启的是mongos,不是mongod,同时指定下config服务器,这里我就开启D盘上的mongodb,端口3333。

  3:启动mongod服务器

  对分片来说,也就是要添加片了,这里开启E,F盘的mongodb,端口为:4444,5555。

  4: 服务配置

  哈哈,是不是很兴奋,还差最后一点配置我们就可以大功告成。

  <1> 先前图中也可以看到,我们client直接跟mongos打交道,也就说明我们要连接mongos服务器,然后将4444,5555的mongod交给mongos,添加分片也就是addshard()。

  这里要注意的是,在addshard中,我们也可以添加副本集,这样能达到更高的稳定性。

  <2>片已经集群了,但是mongos不知道该如何切分数据,也就是我们先前所说的片键,在mongodb中设置片键要做两步

  ①:开启数据库分片功能,命令很简单 enablesharding(),这里我就开启test数据库。

  ②:指定集合中分片的片键,这里我就指定为person.name字段。

  5: 查看效果

  好了,至此我们的分片操作全部结束,接下来我们通过mongos向mongodb插入10w记录,然后通过printShardingStatus命令查看mongodb的数据分片情况。

   这里主要看三点信息:

    ① shards:我们清楚的看到已经别分为两个片了,shard0000和shard0001。

    ② databases:这里有个partitioned字段表示是否分区,这里清楚的看到test已经分区。

    ③ chunks:这个很有意思,我们发现集合被砍成四段:无穷小 —— jack0,jack0 ——jack234813,jack234813——jack9999,jack9999——无穷大。分区情况为:3:1,从后面的 on shardXXXX也能看得出。

1

0

转载 自 http://www.cnblogs.com/huangxincheng/

时间: 2024-09-29 19:38:18

mongodb 在windows下面进行分片的相关文章

MongoDB 基础(九)分片

分片(sharding)是通过多台服务器存储数据的方法.Mongodb使用分片可支持部署非常大的数据集和高的吞吐量操作.单台服务器的能力在各方面都有限,如CPU.IO.RAM.存储空间等.解决扩展的问题,数据库提供了两种方法:垂直扩展和分片. 垂直扩展:增加CPU.RAM,存储资源等,这也受限于硬件设备.而有些基于云的供应商也规定用户使用小的系统. 分片(水平扩展):划分数据集,将数据分布到多台服务器中,每个碎片(chard)是一个独立的数据库,这些碎片共同组成了一个逻辑的数据库.(这类似于Wi

PHP学习之-Mongodb在Windows下安装及配置

Mongodb在Windows下安装及配置 1.下载 下载地址:http://www.mongodb.org/ 建议下载zip版本. 2.安装 下载windows版本安装就和普通的软件一样,直接下一步就可以了. 3.启动服务 启动服务之前先创建存放数据库文件的文件夹然后再启动服务. #创建一个MongoDB服务mongod --logpath "D:\development\db\mongodb-win32-x86_64-2008plus-2.6.7\data\log\mongodb.log&q

MongoDB与.NET结合使用一(mongodb在windows 2003上的安装)

mongodb发展至今已经到2.6版本了,自从获得了1亿美元的风投之后,发展速度更是比以前快了很多,前段时间因为要用缓存,也比较了mongodb,大家也都觉得比较适合做无关系化的大数据存储,所以系统统计分析的功能就用它了. 安装mongodb非常的简单,这里先给出作者的安装环境:windows 2003服务器,安装的是mongodb2.6 32位版本 安装mongodb越来越简单,只需2步即可完成. 第一步:下载2.6最新版本,解压到D盘mongodb-2.6 第二步:打开cmd,进入d:\mo

MongoDB复制集及数据分片详解

前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案.本文介绍MongoDB复制集及数据分片. MongoDB 简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.支持的数据结构非常松散,因此可以存储比较复杂的数据类型.最大的特点是其支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询

Install MongoDB on Windows

Overview Use this tutorial to install MongoDB on a Windows systems. PLATFORM SUPPORT Starting in version 2.2, MongoDB does not support Windows XP. Please use a more recent version of Windows to use more recent releases of MongoDB. IMPORTANT If you ar

MongoDB在Windows中的安装部署

MongoDB在Windows中的安装部署 测试环境: Microsoft Windows 7 (旗舰版 64-bit) MongoDB 3.0.2 (Windows 64-bit 2008 R2+) 安装文件: mongodb-win32-x86_64-2008plus-ssl-3.0.2-signed.msi 提示: 1.MongoDB不支持Windows XP及以下版本 2.安装文件下载地址http://www.mongodb.org/downloads 3.英文安装手册地址http://

【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(转)

原文链接:[MongoDB]windows平台搭建Mongo数据库复制集(类似集群)(一) Replica  Sets(复制集)是在mongodDB1.6版本开始新增的功能,它可以实现故障自动切换和自动修复功能成员节点的功能,各个DB之间的数据完全一致,大大降低了单点故障的风险. [] 以上图示是三个节点的Replica Set架构.该图来源于红丸编写的<Mongodb管理与开发精要>这本书.从上图可以看出,结构类似与一个集群,其实完全可以当做一个集群.因为它确实和集群实现的作用是相同的. 一

Mongodb在windows下配置文件的配置

Mongodb在windows下通过配置文件配置和访问 博客分类: Mongodb 数据库 mongomongodbwindows配置 Mongodb配置文件配置: 第一步:在“D:\Mongodb”目录下新建一个文件,命令方式不限,例如新建一个mongodb.conf 第二步:在mongodb.conf中配置我们需要的配置项 关于具体的配置项,我们可以通过bin\mongod --help命令来确定我们需要配置的配置项 在配置文件中采取key=value的格式,key代表需要配置的option

Mongodb在Windows 7下的安装及配置

第一步 下载MongoDB: 下载mongodb的windows版本,有32位和64位版本,根据操作系统情况下载,下载地址:http://www.mongodb.org/downloads 解压缩至指定目录即可,如 E:/mongodb. 第二步 创建dbpath: 启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功. 创建数据库文件的存放位置,如 E:/mongodb/data/db(即在E:/mongodb下创建相应的文件夹). 默认文件夹路