什么是分片(Shard)?为什么要使用分片?
一、什么是分片(Shard)?
分片是Elasticsearch(ES)中数据存储和处理的最小单元,本质是一个独立的倒排索引(Inverted Index)实例。ES通过将一个完整的索引拆分成多个分片,实现分布式存储和计算。
- 核心特性:
- 每个分片可独立存储数据、处理查询,支持跨分片并行操作。
- 分片分为两类:
- 主分片(Primary Shard):负责数据的写入和原始存储,数量在创建索引时固定(默认5个)。
- 副本分片(Replica Shard):主分片的副本,用于数据冗余和查询负载均衡,数量可动态调整(默认1个)。
二、为什么要使用分片?
1. 突破单机存储与性能瓶颈
- 单机限制:
若索引数据量超过单节点