在mongodb里面存在另一种集群,就是分片技术,当数据量达到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也能看得出。
# mongodb分片技术
# mongodb
# 分片
# 如何为MongoDB添加分片副本集
# 分布式文档存储数据库之MongoDB分片集群的问题
# MongoDB搭建高可用集群的完整步骤(3个分片+3个副本)
# Mongodb副本集和分片示例详解
# MongoDB分片集群部署详解
# MongoDB分片在部署与维护管理中常见的事项总结大全
# 详解MongoDB4.0构建分布式分片群集
# MongoDB分片键的选择和案例实例详解
# MongoDB分片详解
# mongodb3.4集群搭建实战之高可用的分片+副本集
# 深入理解MongoDB分片的管理
# Mongodb 删除添加分片与非分片表维护
# MongoDB 主分片(primary shard)相关总结
# 的是
# 我就
# 好了
# 先前
# 要注意
# 干啥
# 客户端
# 几个
# 切分
# 有个
# 也就
# 多个
# 说了
# 也能
# 我对
# 跟我
# 要把
# 要做
# 更高
相关文章:
独立制作一个网站多少钱,建立网站需要花多少钱?
ppt制作免费网站有哪些,ppt模板免费下载网站?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
简单实现Android文件上传
Thinkphp 中 distinct 的用法解析
建站主机如何选?性能与价格怎样平衡?
如何做网站制作流程,*游戏网站怎么搭建?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
Java解压缩zip - 解压缩多个文件或文件夹实例
如何在建站之星绑定自定义域名?
电商平台网站制作流程,电商网站如何制作?
如何在阿里云部署织梦网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
定制建站策划方案_专业建站与网站建设方案一站式指南
如何解决VPS建站LNMP环境配置常见问题?
如何设置并定期更换建站之星安全管理员密码?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何用PHP工具快速搭建高效网站?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何高效完成自助建站业务培训?
制作农业网站的软件,比较好的农业网站推荐一下?
深圳网站制作平台,深圳市做网站好的公司有哪些?
如何基于PHP生成高效IDC网络公司建站源码?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
建站之星如何防范黑客攻击与数据泄露?
制作网站外包平台,自动化接单网站有哪些?
盐城做公司网站,江苏电子版退休证办理流程?
定制建站方案优化指南:企业官网开发与建站费用解析
建站之星×万网:智能建站系统+自助建站平台一键生成
如何快速生成可下载的建站源码工具?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
太原网站制作公司有哪些,网约车营运证查询官网?
Python路径拼接规范_跨平台处理说明【指导】
C#怎么创建控制台应用 C# Console App项目创建方法
如何在IIS7上新建站点并设置安全权限?
C++时间戳转换成日期时间的步骤和示例代码
在线制作视频网站免费,都有哪些好的动漫网站?
PHP正则匹配日期和时间(时间戳转换)的实例代码
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
如何用VPS主机快速搭建个人网站?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何选择PHP开源工具快速搭建网站?
如何在VPS电脑上快速搭建网站?
C++中引用和指针有什么区别?(代码说明)
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
如何通过山东自助建站平台快速注册域名?
*请认真填写需求信息,我们会在24小时内与您取得联系。