일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Aggregation
- Elastic
- elasticsearch cache
- Elasticsearch
- vavr
- 테슬라
- request cache
- aqqle
- KNN
- Cache
- redis
- IONQ
- java
- Analyzer
- dbeaver
- 양자컴퓨터
- mysql
- api cache
- API
- ann
- TSLA
- NORI
- JPA
- java crawler
- Selenium
- Docker
- Query
- aggs
- file download
- 아이온큐
Archives
- Today
- Total
아빠는 개발자
[es] replica shard 구성의 차이 본문
728x90
반응형
6개의 data 노드구성에서 primary 샤드 3 replica 샤드 1 로 했을때와 primary 샤드 3, replica 3으로 했을때의 차이
Elasticsearch에서 클러스터를 6개의 데이터 노드로 구성할 때, 프라이머리 샤드(primary shard)와 레플리카 샤드(replica shard)의 수에 따라 검색 성능, 데이터 안정성, 리소스 사용에 차이가 발생합니다. 다음은 primary shard 3, replica shard 1 구성과 primary shard 3, replica shard 3 구성의 차이점을 비교한 것입니다.
구성 1: Primary Shard 3, Replica Shard 1
- 프라이머리 샤드: 3개
- 레플리카 샤드: 1개
장점
- 데이터 안정성: 각 프라이머리 샤드에 대해 1개의 레플리카 샤드가 생성됩니다. 즉, 데이터 안정성은 유지되며, 한 노드가 실패해도 데이터가 손실되지 않습니다.
- 리소스 절약: 레플리카 샤드가 적으므로 디스크 공간과 메모리 사용이 줄어듭니다.
- 인덱싱 성능: 레플리카 샤드의 수가 적어 인덱싱 작업이 빠르게 진행될 수 있습니다.
단점
- 검색 성능: 검색 쿼리를 처리할 수 있는 샤드의 수가 적습니다. 병렬 처리가 제한적일 수 있으며, 검색 성능이 상대적으로 낮을 수 있습니다.
- 장애 대응: 레플리카 샤드가 1개 뿐이므로, 두 개의 노드가 동시에 실패하면 데이터 접근에 문제가 생길 수 있습니다.
구성 2: Primary Shard 3, Replica Shard 3
- 프라이머리 샤드: 3개
- 레플리카 샤드: 3개
장점
- 검색 성능: 각 프라이머리 샤드에 대해 3개의 레플리카 샤드가 생성됩니다. 즉, 각 샤드가 총 4개의 복사본을 가지므로, 검색 쿼리가 병렬로 더 많이 처리될 수 있어 검색 성능이 향상됩니다.
- 데이터 안정성: 높은 데이터 안정성을 제공합니다. 한 번에 최대 3개의 노드가 실패해도 데이터 손실이 발생하지 않습니다.
- 로드 밸런싱: 클러스터의 모든 노드에 샤드가 고르게 분산되어, 리소스 활용이 더 균형 있게 이루어질 수 있습니다.
단점
- 리소스 사용: 레플리카 샤드가 많으므로 디스크 공간과 메모리 사용량이 크게 증가합니다.
- 인덱싱 성능: 레플리카 샤드의 수가 많아 인덱싱 작업 시 복제 오버헤드가 증가할 수 있습니다.
결론
Primary Shard 3, Replica Shard 1 구성은 리소스를 절약하고 인덱싱 성능을 높이는 데 유리하지만, 검색 성능이 상대적으로 낮고 데이터 안정성도 낮아질 수 있습니다.
Primary Shard 3, Replica Shard 3 구성은 검색 성능과 데이터 안정성이 높지만, 리소스 사용량이 증가하고 인덱싱 시 복제 오버헤드가 증가할 수 있습니다.
각 구성의 선택은 클러스터의 사용 사례, 검색 및 인덱싱 패턴, 데이터 안정성 요구사항, 그리고 가용 리소스를 종합적으로 고려하여 결정해야 합니다.
728x90
반응형