Elasticsearch는 항상 이용 가능하고 필요에 따라 확장할 수 있도록 만들어졌다. 클러스터에 서버(노드)를 추가하여 능력을 증가시킬수 있으며 Elasticsearch는 사용 가능한 모든 노드에 데이터 및 쿼리 로드를 자동으로 배포한다. 애플리케이션을 재정비할 필요 없이, Elasticsearch는 멀티 노드 클러스터의 균형을 맞춰 확장성과 고 가용성을 제공하는 방법을 알고 있다. 

 

기본적으로 Elasticsearch 색인은 실제로 하나 이상의 물리적인 샤드의 논리적 그룹일 뿐이며, 각 샤드는 실제로 독립적인 색인이다. 문서를 색인으로 여러 샤드에 분산하고 이러한 샤드들을 여러 노드에 분산 시킴으로써, Elasticsearch는 중복성을 보장할 수 있으며, 이는 노드가 클러스터에 추가 될 때 하드웨어 장애로 부터 보호하고 쿼리 용량을 증가시킨다. 클러스터가 증가(또는 축소)할 때 Elasticsearch는 클러스터를 재조정 하기 위해 자동으로 샤드를 이동시킨다.

 

샤드에는 기본과 리플리카 두 종류가 있다. 색인의 각 문서는 하나의 기본샤드에 속한다. 리플리카 샤드는 기본 샤드의 복제이다. 리플리카는 하드웨어 장애로부터 데이터를 보호하고 문서 검색 또는 검색과 같은 읽기 요청을 처리할 수 있는 용량을 늘리기 위해 데이터 중복 복사본을 제공한다.

 

색인의 기본 샤드의 수는 색인이 생성될 때 고정되지만, 리플리카 샤드의 수는 색인이나 쿼리 작업을 중단하지 않고 언제든지 변경할 수 있다.

+ Recent posts