千家信息网

MongoDB实战(11)Sharding 分片(下)

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,管理维护Sharding列出所有的Shard Server查看Sharding信息判断是否是Sharding对现有的表进行Sharding刚才我们是对表test.users 进行分片了,下面我们将对库
千家信息网最后更新 2025年11月08日MongoDB实战(11)Sharding 分片(下)

管理维护Sharding

列出所有的Shard Server

查看Sharding信息

判断是否是Sharding

对现有的表进行Sharding
刚才我们是对表test.users 进行分片了,下面我们将对库中现有的未分片的表test.users_2 进
行分片处理
表最初状态如下,可以看出他没有被分片过:

对其进行分片处理:

再次查看分片后的表的状态,可以看到它已经被我们分片了

新增Shard Server

刚才我们演示的是新增分片表,接下来我们演示如何新增Shard Server
启动一个新Shard Server 进程

配置新Shard Server

查看分片表状态,以验证新Shard Server

我们可以发现,当我们新增Shard Server 后数据自动分布到了新Shard 上,这是由MongoDB
内部自已实现的。

移除Shard Server

有些时候有于硬件资源有限,所以我们不得不进行一些回收工作,下面我们就要将刚刚启用
的Shard Server 回收,系统首先会将在这个即将被移除的Shard Server 上的数据先平均分配
到其它的Shard Server 上,然后最终在将这个Shard Server 踢下线, 我们需要不停的调用
db.runCommand({"removeshard" : "localhost:20002"});来观察这个移除操作进行到哪里了:

最终移除后,当我们再次调用db.runCommand({"removeshard" : "localhost:20002"});的时候系统
会报错,已便通知我们不存在20002 这个端口的Shard Server 了,因为它已经被移除掉了。

接下来我们看一下表中的数据分布:

可以看出数据又被平均分配到了另外2 台Shard Server 上了,对业务没什么特别大的影响。

但是为什么节点还存在呢,这里留了一个疑问???

数据 状态 接下来 再次 时候 系统 分配 处理 演示 没什么 下线 业务 信息 将对 是由 有限 疑问 硬件 端口 节点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 普陀区网络技术咨询有哪些 广电u点家庭服务器安装多少钱 hdfs是一个数据库吗 东城dell服务器回收价格 支付和退款数据库表设计 软件开发无工作经验如何面试 什么数据库有引文网络图 登录跳转到后台连接数据库 走网络安全方面需要考什么证 服务器管理添加与删除 计算机网络安全课心得 哪里数据库作业比较好 数据库被锁死其他进程还能访问吗 微软软件开发工程师认证 如何核算一个软件开发成本 华为荣耀网络安全证书过期 计算机网络技术基础试题答案 上海信亨网络技术有限公司 c 软件开发架构 山西常用软件开发制造价格 网络安全宣传周主题口号 供热收费系统网络安全 mysql 数据库快照 软件开发公司入门测试 服务器之服 Flask线程数据库修改 船舶网络数据库安全 关于网络安全的简笔画绘画 数据库学生管理系统制作 seer数据库手术类型 乳腺
0