没有合适的资源?快使用搜索试试~ 我知道了~
## 一 分片的概念
当Mongo的数据量非常大之后,建议将数据进行拆分,放置在不同的Mongo服务中,这就是分片。分片机制是MongoDB能够实现分布式数据库服务的重要因素。
MongoDB可以实现自动分片,以前MYSQL时代也有手动分片,比如人工设置一个规则:一个用户表User,有很多user,应用程序在保存user数据时会先进行判断,如果是奇数存储到一台服务器,如果是偶数存储到另外一台服务器,取的时候也按照这样的规则取。人工分片大多依赖于应用程序的代码实现。
MongoDB实现了自动分片,内置了多种分片逻辑,用户无需设计分片方案,当Mongo启用分片后或者增加分片节点时,应用程序代码无需任何更改。
分片机制的重点是:数据的分流、块的拆分、块的迁移。
## 二 分片操作
工具mongos在查询数据时,会先询问configsvr,得到数据在哪个shard上,configsvr不存储真正的数据,存储的是数据的meta信息(元信息-某条数据在哪个片上)。
分片的要素:
- 要有N>-2个mongod服务做片节点
- 要有configsvr维护meta信息
- 要设定好数据的分片规则,configsvr才能维护
- 要启动mongos做路由
服务端操作:
```
step1: 启动两台在不同端口上的mongod
mongod --dbpath /data/mgd1 --logpath /logs/mgd1.log --fork --port 27017
mongod --dbpath /data/mgd2 --logpath /logs/mgd2.log --fork --port 27018
step2:启动一台configsvr
mongod --dbpath /data/svr --logpath /logs/svr.log --fork --port 27020 --configsvr
step3:配置路由mongos(配置哪台configsvr为这个路由服务)
mongos --dbpath /data/mongos --logpath /logs/mongos.log --fork --port 30000 --configdb 192.168.1.202:27020
sh.enableSharding("test") // 指定要分片的数据库
sh.shardCollection('test.
点击阅读更多
资源推荐
资源评论
2022-07-25 上传
135 浏览量
154 浏览量
176 浏览量
2019-10-09 上传
5星 · 资源好评率100%
2017-10-20 上传
164 浏览量
5星 · 资源好评率100%
168 浏览量
5星 · 资源好评率100%
5星 · 资源好评率100%
5星 · 资源好评率100%
104 浏览量
5星 · 资源好评率100%
176 浏览量
158 浏览量
164 浏览量
2012-07-05 上传
114 浏览量
130 浏览量
5星 · 资源好评率100%
102 浏览量
5星 · 资源好评率100%
186 浏览量
201 浏览量
2023-09-13 上传
资源评论
余青葭
- 粉丝: 43
- 资源: 303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功