mongoDB——自动分片介绍及简单实现
来源:互联网 发布:提取声音的软件 编辑:程序博客网 时间:2024/05/22 12:58
原文地址:http://blog.csdn.net/liusong0605/article/details/11556311
文章中的mongodb版本是2.4,目前最新版本是3.4,差异较大。另外分片现在是跟副本集一块使用的,因此此文供参考
分片,是指将数据拆分,将其分散到不同的机器上。这样的好处就是,不需要功能强大的大型计算机也可以存储更多的数据,处理更大的负载。
mongoDB的分片,是将collection的数据进行分割,然后将不同的部分分别存储到不同的机器上。当collection所占空间过大时,我们需要增加一台新的机器,分片会自动将collection的数据分发到新的机器上。
MongoDB分片的原理:
mongos:客户端只需要对mongos进行操作就行了,至于如何进行分片,不需要客户端参与,由mongos和config来完成。
mongod:一个普通的数据库实例,如果不分片的话,我们直接连接的就是mongod。
实例演示:
首先准备四个mongodb服务器,F:\mongos\ F:\mongodb1 F:\mongodb2 F:\mongodbConfig
1. 开启config服务器
因为mongos要把mongod之间的配置放到config服务器里面,所以,首先应该开启config服务器。
2. 开启mongos服务器
在开启mongos时,指定config服务器。
3. 开启mongod1,mongod2服务器,对于分片来说,也就是要添加片了。
4. 将27022和27023两台服务器交给mongos管理
runCommand执行添加分片
下一步就是设置片键,也就是告诉mongos如何切分数据。首先用enablesharding()开启数据库分片功能,然后指定集合中分片的键。
5. 执行数据,查看效果
通过mongos向数据库中插入10w条数据,通过printShardingStatus命令查看mongodb的数据分布情况。
shards:已分为了两个片shard0000,shard0001
databases:显示admin未分片,test数据已分片,对user这个集合进行了分片,片键为name。
chunks:显示user集合被分成三块:从无穷小到0,从0到9999,从9999-maskey。
分片机制增强了mongoDB的写扩展性。使用分片机制能够很好的解决下面几个问题:
- 存储的数据接近或者超过一个单独节点的存储能力。
- 系统有效工作集的大小将要超过系统的最大RAM
- 系统有大量的写操作。
- mongoDB——自动分片介绍及简单实现
- mongoDB——自动分片介绍及简单实现
- mongoDB——自动分片介绍及简单实现
- mongoDB——自动分片介绍及简单实现
- mongoDB——主从复制介绍及简单实现
- mongoDB——主从复制介绍及简单实现
- mongoDB——主从复制介绍及简单实现
- MongoDB分片介绍(三)——分布式集群部署及维护
- MongoDB——分片
- MongoDB——分片
- MongoDB— 分片技术
- MongoDB—分片技术
- mongodb—分片(sharding)
- MongoDB分片介绍(一)——基本概念
- mongodb自动分片
- MongoDB分片介绍(二)——分片键的选择
- Mongodb集群——分片和集群1简单实例
- mongodb分片介绍
- 设计模式的概念和分类
- Python 小案例 计算个人所得税
- 把图片存成视频 python
- GPS原理
- 数学笔记
- mongoDB——自动分片介绍及简单实现
- Android触摸设备的必备知识
- Thinkphp上传图片及形成缩略图
- 安卓自定义View进阶
- 用c++实现AES基本算法
- C++中的变量是否相等 和 Java中的变量是否相等的判断
- 小米风控实践
- 一道C++笔试题的解读
- C#获取本机IP且过滤非真实网卡(如虚拟机网卡)