数据分片

把数据按分片键拆分到多个节点,突破单机存储与写入上限;关键是分片键选择与再均衡方案,跨分片查询与事务的复杂度会明显上升。

分片键要求分布均匀且贴合高频查询条件
路由客户端路由或中间件路由,维护分片映射
再均衡扩容时迁移分片,预分片可降低迁移成本

分片键选择参考

候选键优点风险
用户 ID分布均匀、查询可收敛跨用户统计需汇总层
时间便于归档与冷热分离新数据集中到单分片
业务域运维边界清晰域间规模不均
复合键兼顾分布与查询路由逻辑更复杂
跨分片事务与聚合查询成本高;设计前先确认业务查询能否收敛到分片键边界内。

易错点

  • 用自增 ID 做分片键,新数据持续集中到单一分片
  • 分片数量过少,扩容迁移时间超出维护窗口

数据来源与参考

  • 《数据密集型应用系统设计》(Kleppmann)第 6 章
  • MySQL 8.0 Reference Manual:Partitioning
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌