[230420] Elastic Stack 3일차 리뷰 내용

뜨개발자·2023년 4월 21일
0

TIL

목록 보기
62/74

개념 추가

클러스터, 노드는 논리적인 개념이지 물리적인 개념이 아님
한 서버에 노드를 여러 개 올릴 수 있지만 서버 스펙이 좋아도 하나만 올릴 것이 권장됨
=> 디스크를 공유하는 데에 있어서 속도가 영향을 받음

Shard

샤드는 Lucene의 한 인스턴스이다 = 샤드 하나하나가 모두 검색 엔진이다
하나당 20GB를 넘어가지 않도록 구성해야 함

replica shard를 유지하는 이유

  • 여러 노드에 분산 저장하여 검색, 색인을 병렬화 => 속도 향상
  • 노드 하나에 문제가 생겼을 때, 사본을 가지고 있는 다른 노드로 인해 장애 없이 유지 가능
  • primary shard가 손실되면 replica 중 하나가 primary로 승격되어 유지

Shard overallocation

static data

샤드의 수를 넉넉하게 잡아놓고 읽기/쓰기 작업에 대한 병렬화를 진행
=> overallocation

time-series data

분산하여 저장해놓고 따로 쓰거나 따로 읽거나 할 일이 거의 없음
단위별로 인덱스를 따로 만드는 편이 더 유용함
=> overallocation보다는 multiple indices가 적합

filter

필터는 캐시에 올라가 있는 데이터를 활용하기 때문에 속도가 빠름
=> 사용 권장!

index.refresh_interval

index.refresh_interval은 document가 indexing된 후 검색에 반영되기까지 걸리는 시간
-1로 설정하는 경우, indexing이 진행되는 동안 반영되지 않다가 작업이 종료되면 default 설정으로 돌아감
길게 설정하면 indexing 속도는 빨라지지만 검색에 반영되려면 오래 기다려야 함

Data stream

aliases와 거의 유사하나 그보다 한 단계 더 자동화 되어있음

backing indices

data stream은 여러 인덱스로 구성된 개념
이 중에 실제로 write 작업이 수행되는 인덱스는 하나만 존재
이 write가 수행되는 인덱스 이외의 인덱스들을 backing indices라고 함

profile
뜨개질하는 개발자

0개의 댓글