数据分片与一致性哈希:从“大仓库“到“分布式仓库“

数据分片与一致性哈希:从"大仓库"到"分布式仓库"

你家门口的小卖部:

  • 一个大仓库
  • 什么都有
  • 找东西简单

但如果是亚马逊的仓库呢?

  • 无数个仓库
  • 分布在各地
  • 同一类商品可能分散在不同仓库

数据分片就是解决"海量数据放哪"的问题。

为什么要分片?

1. 单库瓶颈

数据量太大

单表 > 1000万行 → 查询变慢 单库 > 1TB → 备份变慢 单库 > 10000 QPS → 扛不住

解决方案

  • 优化索引 → 效果有限
  • 读写分离 → 解决读性能,写还是瓶颈
  • 分库分表 → 根本解决方案

2. 分片的核心问题

三个问题

  1. 数据怎么分?→ 分片策略
  2. 请求怎么路由?→ 路由算法
  3. 节点怎么扩缩容?→ 数据迁移

<