Elasticsearch에서는 한번 생성된 Primary Shards의 개수는 변경이 불가능
(Replica Shards는 가능)
Primary Shards의 개수를 변경하면 기존의 모든 데이터를 재 분배Lucene segments를 잘게 쪼개 새로운 Shards에 데이터를 보내야함Shards의 Lecene segments를 기존 Shards에 추가해야함이렇게 많은 리소스가 소모되는 특성으로 인해서 Primary Shards의 개수는 조정이 불가능하다
정책에 따라서 새로운
정적색인(Static)을 진행하거나_reindex를 통해 새로운 인덱스 생성시Primary Shards개수를 조절하여 수행 처리한다.
Primary Shards로 데이터 색인 시, Replica Shards에도 동일하게 색인된다.Replica Shards에서도 검색을 수행할 수 있어서 분산처리가 가능
Replica Shards가 많아질 수록 읽기성능은 올라가지만 색인 성능은 점점 떨어진다. (색인 대상이 많아짐)
검색은 각Shards가 독립적으로 검색 수행 후 최종적으로 1개의 결과로 합쳐서 제공되기에, 다수의Shards로 분산될수록 검색 속도도 비례해서 증가
Shards는 Master Node에서 관리하며, Shards가 많아질 수록 Master Node 부하 증가Shards의 용량은 10GB ~ 50GB를 권장하며 50GB는 넘지 말아야함Shards는 최대 Java의 Integer.MAX_VALUE - 128Shards