← 学习中心

数据库:分库分表与读写分离

读写分离的延迟问题,分片键选择,垂直/水平拆分与分布式 ID、跨分片查询。

本节你将能

说清数据量膨胀时的拆分思路与坑点,尤其是分片键与跨分片。

核心要点

  • 读写分离:主写从读,缓解读压力;牺牲强一致(主从延迟),读多写少用。
  • 垂直拆分:按业务/字段拆(大字段、冷字段独立),降单行宽度。
  • 水平拆分:按分片键(用户 id/订单 id)取模或范围路由到不同表/库。
  • 分片键选择:高基、无热点、查询常用;避免跨分片(否则广播查询)。
  • 分布式 ID:雪花算法(时间+机器+序列),避免自增 id 在分片下冲突与暴露量。

面试连招

常被追问:主从延迟怎么处理?分片键选错如何补救?跨分片分页/聚合怎么做?

常见坑

分片键选错导致全分片扫描;只读从库读到未同步数据;分布式事务跨库难保证。

数据库:分库分表与读写分离 - 生命科学与前沿科技学习平台 | 必学必会