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

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【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
目录
相关文章
|
2月前
|
存储 缓存 NoSQL
MongoDB内部的存储原理
这篇文章详细介绍了MongoDB的内部存储原理,包括存储引擎WiredTiger的架构、btree与b+tree的比较、cache机制、page结构、写操作流程、checkpoint和WAL日志,以及分布式存储的架构。
67 1
MongoDB内部的存储原理
|
5月前
|
存储 监控 NoSQL
MongoDB索引解析:工作原理、类型选择及优化策略
MongoDB索引解析:工作原理、类型选择及优化策略
|
25天前
|
存储 NoSQL 前端开发
MongoDB 分片
10月更文挑战第17天
30 2
|
2月前
|
存储 监控 NoSQL
*MongoDB的水平扩展主要通过分片技术实
*MongoDB的水平扩展主要通过分片技术实
44 5
|
2月前
|
存储 NoSQL 前端开发
MongoDB 分片总结
这篇文章总结了MongoDB分片的概念、集群结构、分片实例、配置和测试过程。
58 6
|
3月前
|
存储 NoSQL 算法
MongoDB保姆级指南(中):从副本集群、分片集群起航,探索分布式存储的趋势!
本文一起来聊聊MongoDB集群,顺带以MongoDB集群为起点,共同探讨一下分布式存储的发展趋势~
226 15
|
3月前
|
存储 监控 NoSQL
震撼!揭秘高可用 MongoDB 分片集群搭建的神秘魔法,开启数据存储的无敌模式!
【8月更文挑战第9天】在数字化时代,数据至关重要。MongoDB作为流行非关系型数据库,通过搭建高可用分片集群确保系统稳定性和性能。分片技术将大数据集分布于多服务器以实现水平扩展。搭建集群需准备服务器资源,配置环境,启动配置服务器、路由服务器及分片服务器,并设置分片策略。例如,对特定数据库和集合启用分片。此架构适用于高流量应用如大型电商平台,确保数据高效处理和高可用性。搭建过程需持续监控和优化,合理规划分片策略以维持系统稳定运行。
39 3
|
4月前
|
存储 NoSQL MongoDB
MongoDB 索引原理与索引优化
MongoDB 索引原理与索引优化
99 1
|
4月前
|
自然语言处理 运维 NoSQL
MongoDB集群同步
实现 MongoDB Cluster-to-Cluster 即集群同步的工具是:mongosync 详情可参考如下官方文档: https://www.mongodb.com/zh-cn/docs/cluster-to-cluster-sync/current/quickstart/ 以上这个地址的文档一看就是机器翻译的,可能有不恰当的地方,但基本可参考使用。 以下是本次在某项目地配置集群同步的简要步骤,可参考使用。
86 6
|
3月前
|
存储 运维 NoSQL
轻松上手:逐步搭建你的高可用MongoDB集群(分片)
【8月更文挑战第13天】在数据激增的背景下,传统单机数据库难以胜任。MongoDB作为流行NoSQL数据库,采用分片技术实现水平扩展,有效处理海量数据。分片将数据分散存储,提高并发处理能力和容错性,是高可用架构基石。构建MongoDB集群需理解shard、config server和router三组件协同工作原理。通过具体实例演示集群搭建流程,包括各组件的启动及配置,确保数据高可用性和系统稳定性。合理规划与实践可构建高效稳定的MongoDB集群,满足业务需求并支持未来扩展。
87 0

相关产品

  • 云数据库 MongoDB 版