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 - 128
Shards