[ElasticSearch] 데이터 처리, 검색 성능 최적화
·
Data Enginnering/Elastic
데이터 처리에 대한 지식들배치 크기 ( Batch Size )배치 크기는 한 번에 처리할 데이터 묶음 크기비유하자면, 주방장(프로세서)이 한 번에 요리할 수 있는 음식(데이터) 양이다.만약 Logstash 가 데이터를 수집하여 Elasticsearch 에 보내는 작업에서 배치 크기가 100 으로 설정하면, 데이터를 100개씩 묶어 한 번에 처리한다.작은 배치 : 주문이 들어올 때마다 바로 요리를 시작. 빠르게 대응할 수 있지만 효율성이 떨어질 수 있다.큰 배치 : 여러 주문을 모아서 한 번에 요리한다. 효율적이지만 첫 음식이 나오기까지 시간이 걸린다. 힙 사이즈 (Heap Size)힙 사이즈는 사용할 수 있는 최대 메모리 크기프로그램이 사용할 수 있는 창고 공간이다.작은 힙 : 작은 창고. 공간이 부족해..
[ElasticSearch] 샤드 (Shard) & 인덱싱 (Indexing)
·
Data Enginnering/Elastic
Shard 여러 노드를 효율적으로 사용하기 위해 노드에선느 데이터를 샤드라는 단위로 분산 저장한다.샤드 하나의 크기는 10~40GB 정도로 관리하는 것이 좋다고 권고된다.노드 수에 비해 샤드가 너무 많으면 필요 이상으로 리소스를 소비하게되고, 인덱스 검색을 위해서는 모든 샤드에 접근해야하기에 성능에 좋지 않습니다.Primary Shard 는 문서가 저장되는 원본 샤드이다.색인과 검색 성능에 모두 영향을 준다.Replica Shard 는 복제 샤드로써 문제가 생기면 Primary Shard 로 승격된다. Primary Shard 의 개수가 성능에 영향을 준다.PS 3 에 장애가 발생하면 RS 3 을 PS 3 으로 승격한다.새로운 PS 3 이 RS 3 을 생성한다.PS 1 은 Replica를 잃었기 떄문에 ..