Skip to content

分库分表

海量数据场景下的分库分表策略。

垂直拆分 vs 水平拆分

  • 垂直拆分:按业务模块拆分
  • 水平拆分:按数据行拆分

分片策略

取模分片

  • 均匀分布,扩容困难

范围分片

  • 按时间/ID 范围
  • 易于扩容,可能热点

一致性哈希

  • 扩容时迁移数据少
  • 配合虚拟节点

ShardingSphere

  • JDBC 模式:客户端分片
  • Proxy 模式:代理层分片
  • 支持分库分表 + 读写分离

分库分表后的问题

  • 分布式 ID 生成
  • 跨库查询
  • 跨库事务
  • 数据迁移