【MongoDB训练营】第四课:分片集群的使用及原理介绍 答疑汇总

本文涉及的产品
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 【MongoDB训练营】第四课:分片集群的使用及原理介绍 答疑汇总

1.副本集和分片在生产环境中该如何取舍呢?有什么参考规律么?
答:副本集遇到的问题
副本集帮助我们解决了 读请求扩展,高可用等问题。那么业务场景进一步增长:
存储容量超出单机磁盘容量;活跃数据集超出单机内存容量:很多读请求需要从磁盘读取写入量超出单机IOPS上限mongodb分片集群:水平扩容的方式,支持大数据集和稿吞吐量的情形副本集升级到分片集群 ,客户端需要重启。

2.change stream的机制是什么,mongoclient在change stream是长连接还是短连接
答:change stream 进行op log的解析和读取,目测是长连接。类似oracle的ogg个人感觉。

3.分片架构比副本集在SQL聚合查询上是否有优势?
答:这个可以利用到多shard并发IO的能力,但是数据仍然要经过网络最终有mongos向外输出,如果是高IO,但是最终输出的结果比较少的话,sharding是有优势的。经过Mongos多一跳确实优势不明显。

4.现网低版本3.2的mongodb分片集群,想要升级到高版本,如何操作比较好,有什么最佳实践?
答:参考mongodb官方文档,先升级config节点,再shard节点,最后mongos节点,并结合滚动升级的方式。

5.现有2节点的sharding,数据量比较大了,单节点1T左右,加起来7万多个chunk,每天开了 0点到6点的balance,然后想着再扩容2个sharding节点,这样的话是不是只在规定的时间内balance?这样的话是不是要好几天才能均衡完?
答: 每个shard同一时间只能迁移一个chunk,可以在congfig日志中查看chunk迁移速度。一定会在规定时间内进行chunk迁移的触发,对是触发。

6.shardkey 的选择、 类型的选择 ,chunk要 大小的设置 能在稍微讲讲吗?
答:参见课程ppt,绝对是讲到了,比如基数足够大,频率足够低,单调递增的话用hash
chunk的大小建议保持默认值,太大可能有数据不均衡,太小导致过多不必要的迁移。
参见群里文档链接。

7.修改分片键的 命令中的前缀怎么理解,该命令使用上有什么限制?
答: 以当前分片键的字段作为新分片键的前缀,比如原分片键用的字段A,那么新分片键(A,B)

8.Mongo数据订阅有哪些比较好的工具?阿里云有类似的订阅服务么?
答:阿里云DTS 可以支持数据迁移、同步、订阅,change stream可以实现数据库不同级别对象的数据订阅

9.chunk和shardkey的关系?
答:sharedkey是数据打散的依据,打散后数据会被存放在chunk,不同的chunk会存放在shared中,chunk是shared对数据管理的底层逻辑单位。

10.hashed 分片默认会分成多少个chunk?是按数据量增加分裂变多吗?
答:分片空数据集合进行hash分片,默认分裂为NUM(shard)*2个chunk;chunk默认chunk 64M 随着数据的增长,会进行分裂,当两个shard数据不均衡时,会进行balancing。

11.chunk数量有上限吗? hash桶会不会有用尽的情况?
答:应该不存在这个限制

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
3月前
|
存储 监控 NoSQL
MongoDB索引解析:工作原理、类型选择及优化策略
MongoDB索引解析:工作原理、类型选择及优化策略
|
4月前
|
存储 负载均衡 NoSQL
MongoDB分片技术:实现水平扩展的利器
【4月更文挑战第30天】MongoDB的分片技术是应对数据增长和复杂业务需求的解决方案,它将数据水平拆分存储在多个实例上,实现数据库的水平扩展。分片带来水平扩展性、负载均衡、高可用性和灵活的数据管理。分片工作涉及mongos路由进程、config server和shard实例。设置分片包括部署配置服务器、添加分片、启动mongos、配置分片键和开始分片。选择合适的分片键和有效管理能确保系统性能和稳定性。
|
1月前
|
存储 NoSQL 算法
MongoDB保姆级指南(中):从副本集群、分片集群起航,探索分布式存储的趋势!
本文一起来聊聊MongoDB集群,顺带以MongoDB集群为起点,共同探讨一下分布式存储的发展趋势~
86 15
|
1月前
|
存储 监控 NoSQL
震撼!揭秘高可用 MongoDB 分片集群搭建的神秘魔法,开启数据存储的无敌模式!
【8月更文挑战第9天】在数字化时代,数据至关重要。MongoDB作为流行非关系型数据库,通过搭建高可用分片集群确保系统稳定性和性能。分片技术将大数据集分布于多服务器以实现水平扩展。搭建集群需准备服务器资源,配置环境,启动配置服务器、路由服务器及分片服务器,并设置分片策略。例如,对特定数据库和集合启用分片。此架构适用于高流量应用如大型电商平台,确保数据高效处理和高可用性。搭建过程需持续监控和优化,合理规划分片策略以维持系统稳定运行。
27 3
|
2月前
|
存储 NoSQL MongoDB
MongoDB 索引原理与索引优化
MongoDB 索引原理与索引优化
23 1
|
29天前
|
存储 运维 NoSQL
轻松上手:逐步搭建你的高可用MongoDB集群(分片)
【8月更文挑战第13天】在数据激增的背景下,传统单机数据库难以胜任。MongoDB作为流行NoSQL数据库,采用分片技术实现水平扩展,有效处理海量数据。分片将数据分散存储,提高并发处理能力和容错性,是高可用架构基石。构建MongoDB集群需理解shard、config server和router三组件协同工作原理。通过具体实例演示集群搭建流程,包括各组件的启动及配置,确保数据高可用性和系统稳定性。合理规划与实践可构建高效稳定的MongoDB集群,满足业务需求并支持未来扩展。
47 0
|
2月前
|
自然语言处理 运维 NoSQL
MongoDB集群同步
实现 MongoDB Cluster-to-Cluster 即集群同步的工具是:mongosync 详情可参考如下官方文档: https://www.mongodb.com/zh-cn/docs/cluster-to-cluster-sync/current/quickstart/ 以上这个地址的文档一看就是机器翻译的,可能有不恰当的地方,但基本可参考使用。 以下是本次在某项目地配置集群同步的简要步骤,可参考使用。
69 6
|
3月前
|
存储 JSON NoSQL
深入解析MongoDB的存储原理
深入解析MongoDB的存储原理
深入解析MongoDB的存储原理
|
3月前
|
存储 负载均衡 NoSQL
MongoDB的架构设计基于三种集群模式
【6月更文挑战第5天】MongoDB的架构设计基于三种集群模式
127 3
|
4月前
|
NoSQL 算法 测试技术
【MongoDB 专栏】MongoDB 的自动分片与手动分片
【5月更文挑战第11天】MongoDB的分片技术在处理大规模数据和高并发场景中至关重要,提供自动和手动两种方式。自动分片基于预定义规则,简化管理,适合大部分场景,但灵活性有限。手动分片则允许用户自定义策略,实现高效布局,适用于有特殊需求的应用,但配置复杂。选择分片方式需考虑业务需求、数据特点和技术能力。正确实施分片策略能构建高性能、可扩展的系统,支持企业业务发展。随着技术进步,未来的分片技术将更加智能和易用。
119 3
【MongoDB 专栏】MongoDB 的自动分片与手动分片

相关产品

  • 云数据库 MongoDB 版