# 副本集与分片简介

URL: https://caijiao.org/mongodb/08-deploy/05-replica-shard
Source: docs/mongodb/08-deploy/05-replica-shard.md
Description: 本章节介绍 MongoDB 的副本集和分片机制，帮助理解数据库的高可用和水平扩展方案。

MongoDB 提供副本集和分片两种机制，实现数据的高可用性和水平扩展，满足大规模应用需求。

## 副本集（Replica Set）

副本集是由一组 [MongoDB](/mongodb/) 实例组成的集群，其中一个为主节点（Primary），负责写操作，多个从节点（Secondary）复制主节点数据。

### 主要功能

- 数据冗余备份，防止单点故障。
- 自动故障切换，提升系统可用性。
- 支持读写分离，提高读性能。

### 典型配置

一个副本集至少包含三个节点：一个主节点、两个从节点。

## 分片（Sharding）

分片是将数据分布到多个物理节点的水平扩展方案，用于处理海量数据和高吞吐量。

### 工作原理

- 将数据根据分片键分割成多个分片。
- 每个分片负责存储部分数据。
- 路由服务（mongos）负责查询请求的转发。

### 优点

- 扩展存储容量和性能。
- 支持动态添加分片节点。

## 总结

- 副本集保证数据的可靠性和高可用。
- 分片实现数据库的水平扩展。
- 两者可以结合使用，构建大规模分布式数据库系统。

---

理解副本集与分片机制，有助于设计健壮且高效的 MongoDB 集群架构。
