水平分片(Horizontal Sharding)是数据库分片技术的核心形式,通过将数据按行分割到多个物理节点中,实现分布式存储与查询优化。以下为关键要点:


🧠 基本概念

水平分片将表按切分,每个分片包含原始表的子集。例如:

  • 用户表按用户ID哈希分片,不同ID分配到不同节点
  • 日志表按时间范围分片,如2023年数据存一份,2024年存另一份

📊 数据分布示意图

水平分片_数据分布

🛠️ 实现方式

  1. 哈希分片
    通过哈希函数将数据均匀分配到不同节点
    ✅ 优点:负载均衡
    ❗ 缺点:范围查询效率低

  2. 范围分片
    按数据范围划分,如按时间或数值区间
    ✅ 优点:支持范围查询
    ❗ 缺点:数据倾斜风险

  3. 列表分片
    按特定字段值(如用户区域)分配
    ✅ 优点:简单直观
    ❗ 缺点:扩展性差

🔗 扩展阅读数据库分片技术全解析


📌 应用场景

  • 大数据量表:如用户信息表、订单表
  • 高并发读写:分散请求压力
  • 地域分布:按用户地理位置分片

💡 示例:电商平台的订单表可按用户ID哈希分片,提升查询效率


⚠️ 注意事项

  • 需要维护分片规则一致性
  • 考虑分片键选择对查询性能的影响
  • 垂直分片(Vertical Sharding)与水平分片可结合使用

📊 分片键选择对比

分片键_选择对比

如需深入理解水平分片的代码实现,可参考水平分片实战案例