23、MongoDB 分片配置与数据管理全解析

MongoDB 分片配置与数据管理全解析

1. 何时进行分片

决定何时进行分片是一项需要权衡的工作。过早分片会增加部署的操作复杂性,并且一些设计决策后期难以更改;而过晚分片,在不中断服务的情况下对过载系统进行分片会变得困难。

一般来说,分片用于以下几个方面:
- 增加可用的 RAM。
- 增加可用的磁盘空间。
- 减轻服务器负载。
- 实现比单个 mongod 更高的读写吞吐量。

因此,良好的监控对于决定是否需要分片至关重要。需要仔细衡量各项指标,通常人们会更快地遇到某一个瓶颈,所以要先确定部署中需要优先解决的瓶颈,并提前规划好何时以及如何将副本集转换为分片集群。

添加分片时,性能通常会随着分片数量的增加而大致线性提升,直到达到数百个分片。不过,从非分片系统过渡到少量分片时,可能会出现性能下降的情况。这是因为移动数据、维护元数据和路由会带来额外的开销,少量分片的延迟可能更高,吞吐量甚至可能低于非分片系统。所以,建议直接使用三个或更多的分片。

2. 启动服务器

创建集群的第一步是启动所有必要的进程,包括 mongos 、分片和配置服务器。

2.1 配置服务器

配置服务器是集群的核心,它存储着关于哪个服务器存储哪些数据的所有元数据。因此,必须先设置配置服务器,并且要确保其数据的安全性。具体要求如下:
- 启用日志功能。
- 将数据存储在非易失性驱动器上。
- 每个配置服务器应位于单独的物理机器上,最好进行地理分布。

启动配置服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值