# 分片（Sharding）

### 缩写：无

### 简述

按分片键把数据水平拆到多个节点，使容量与部分负载可横向扩展。代价是跨片查询、事务与运维复杂度上升。

### 为何出现

单机存储与写吞吐不够，垂直升级触顶。

### 使用场景

超大用户/订单表、多租户按租户拆分、写入热点分散。

### 在体系中的位置

应用或中间件路由 → 多 DBMS 实例；元数据记录片拓扑。

### 实践与应用

• 分片键选高频点查且避免热点（如顺序用户 ID 取模可能集中）。
• 尽量避免跨片事务与跨片 JOIN。
• 预留扩容再均衡策略。

### 注意事项

• 错误分片键导致全局二次索引或广播查询。
• 唯一约束常退化为片内唯一。

### 对比与易混

分片 vs 分区（常同实例内）；vs 只读副本。

### 信号与度量

片间倾斜、跨片比例、扩容迁移耗时。

### 关联术语

• 分区：库内拆分对照（用词因产品而异）
• 中间件：路由常落地处
• 跨片事务：难点
