首页/数据/NoSQL 速查/分片与副本规模规划
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条
ClickHouse56 条时序与列式28 条选型与架构50 条

分片与副本规模规划

分片规模影响恢复速度、集群状态体积与聚合并行度:常见经验是单分片控制在十几到几十 GB、每 1GB 堆内存承载的分片数控制在 20 以内,副本按可用性要求设置。

NoSQL 速查数据更新于 2026-10-12
单分片大小常见经验区间 10GB 到 50GB,按查询模式与硬件调整
每 GB 堆分片数官方建议保持每 GB 堆低于 20 个分片(含副本)
副本作用查询扩展与节点故障容错,代价是成倍的存储与写入
管理手段ILM 的 max_primary_shard_size 自动滚动,避免手工估算

示例

示例
# 评估当前分片规模:主分片平均存储
GET /_cat/indices?v&h=index,pri,rep,pri.store.size&s=pri.store.size:desc

# 查看某索引分片在节点上的数量分布
GET /_cat/allocation?v&s=shards:desc
分片太大会让单分片恢复变慢、热点集中;分片太多则集群状态膨胀、每类请求的固定开销放大,两头都要避免。

易错点

  • 按日均数据量随手建几十个分片,长期运行后集群状态与恢复时间会显著恶化
  • 减少主分片数不能原地完成,要借助 shrink 或新建索引 reindex 后切换别名

数据来源与参考

  • Elasticsearch Guide: Size your shards
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌