ELK

[ELK] 엘라스틱서치 인덱스 / 샤드

집한구석 2022. 1. 18. 23:17
728x90

인덱스

https://blog.insightdatascience.com/anatomy-of-an-elasticsearch-cluster-part-i-7ac9a13b05db
  • 엘라스틱서치에서는 단일 데이터를 도큐먼트라 부르며, 도큐먼트를 모아놓은 집합을 인덱스라함
  • 엘라스틱서치는 여러개의 인덱스를 동시에 조회할 수 있음
  • 즉 인덱스는 데이터가 저장되는 공간이며, 엘라스틱서치에서 인덱스는 샤드라는 단위로 분리되어 여러 노드에 분산되어 저장 관리가 됨

샤드

https://thoughts.t37.net/designing-the-perfect-elasticsearch-cluster-the-almost-definitive-guide-e614eabc1a87
  • 인덱스 내부에 색인된 데이터들이 물리적 공간 즉 여러 노드애 여러개의 부분들로 존재하는 데이터
  • 샤드는 프라이머리 샤드와 레플리카 샤드로 구분이 됨
  • 프라이머리 샤드는 데이터 원본, 레플리카 샤드는 프라이머리 샤드의 복제본
  • 레플리카 샤드가 복제본이므로 기존 프라이머리 샤드의 데이터가 무너졌을 때, 대신 사용되어 Fail-over 역할을 하여 데이터의 가용성과 무결성을 보장함 (프라이머리 샤드가 유실될 경우 남아있는 레플리카 샤드가 프라이머리 샤드로 승격됨)

샤드가 많으면 많을 수록 좋다 ?

쿼리 수행시 샤드의 개수만큼 cpu의 스레드를 사용하기 때문에 샤드의 개수가 많아질 수록 리소스를 많이 사용하게 되며, 오히려 작은 데이터인 경우 샤드2개랑 샤드1개의 검색속도는 비슷하다고 가정한다면 샤드 1개만 사용하는 것이 효율적임