Elasticsearch 시리즈 마무리. 결정 트리·체크리스트·자격증·다음 학습. 38편 한 페이지 회고.
이 글은 Elasticsearch 입문에서 운영까지 시리즈 38편 중 마지막 38편이에요. 1편에서 "검색·로그·AI 한 통에 다 들어가는 분산 엔진" 으로 문을 열었고, 그 뒤 37편 동안 데이터 모델 · 한국어 분석 · 풀텍스트 · 집계 · 벡터 · 수집 · 운영 · 통합 · 클라우드 9개 영역을 차례로 통과했어요. 이번 글에서는 그 길을 한 페이지로 압축하고, "내 상황에 어떻게 적용할까" 결정 트리 · "운영 30일 동안 무엇을 점검할까" 체크리스트 · "다음에 무엇을 더 공부할까" 진로를 한 번에 짚어요.
이 글은 시리즈 마지막 회고편이에요. 결정 트리·체크리스트·자격증·다음 학습 네 갈래로 묶어 한 페이지에 압축했어요.
참고로 시리즈 전체를 처음부터 본 분이 아니라면, 1편(welcome) 과 2편(core concepts) 만 먼저 읽고 이 글을 봐도 무리가 없어요.
시리즈 회고 — Part 1~10 한 줄씩
지난 37편을 영역별로 한 줄씩 압축하면 이렇게 흘렀어요.
Part 1 — 입문 (1~4편). 1편(welcome) 에서 Lucene 위 분산 검색·분석·AI 플랫폼 정의와 OpenSearch fork 배경을 잡고, 2편(core concepts) 에서 Index·Document·Shard·Replica·Mapping 5대 단어를 RDBMS 와 매핑했어요. 3편(lucene internals) 에서 Segment·Inverted Index·Posting List 같은 Lucene 내부 구조를, 4편(quickstart) 에서 Docker Compose 로 ES + Kibana 를 띄우고 첫 curl _cluster/health 까지 직접 두드려 봤어요.
Part 2 — 데이터 모델 (5~10편). 5편(index management) 에서 인덱스 Create·Settings·Alias·Reindex 를, 6편(ILM·Aliases·Rollover) 에서 시계열 데이터 라이프사이클을, 7편(document CRUD·versioning) 에서 Optimistic Locking 까지 다뤘어요. 8편(mapping deep) 에서 Static·Dynamic·Templates·Multi-field·Runtime Field 를 한 번에 정리하고, 9편(field types deep) 에서 text·keyword·numeric·date·object·nested·flattened 의 차이를, 10편(analyzer deep) 에서 Character Filter → Tokenizer → Token Filter 3단계 구조를 잡았어요.
Part 3 — 한국어 (11편). 11편(korean analyzer) 에서 Nori·mecab-ko·사용자 사전·동의어 를 다뤘어요. 한국어 환경에서 가장 자주 사고가 나는 자리.
Part 4 — 검색 (12~18편). 12편(search API 기본) 에서 _search · query · size · from · sort · _source 를 잡고, 13편(full-text) 에서 match·match_phrase·multi_match·query_string 을, 14편(term-level) 에서 term·terms·range·exists·prefix·wildcard·fuzzy 를, 15편(compound) 에서 bool · must · should · must_not · filter · function_score 를 묶었어요. 그 위에 16편(agg metric) → 17편(agg bucket) → 18편(agg pipeline) 세 편으로 집계 3단을 완주.
Part 5 — 검색 고급 (19~22편). 19편(search features) 에서 highlight·sort·pagination·search_after·scroll·PIT 같은 운영 자리를, 20편(suggesters) 에서 term·phrase·completion·context 자동완성을 다뤘어요. 21편(vector search·kNN) 에서 dense_vector·sparse_vector·HNSW·ANN 으로 벡터 검색에 진입하고, 22편(RAG·hybrid search) 에서 Embedding·Reranking·Relevance Tuning 으로 LLM 인프라까지 묶었어요.
Part 6 — 데이터 수집 (23~25편). 23편(bulk API) 에서 NDJSON·batch sizing·refresh·partial failure 를, 24편(ingest pipeline) 에서 Processor·grok·set·remove·rename·conditional 을, 25편(logstash·beats·fluentd·vector) 에서 외부 수집기 4개를 비교했어요.
Part 7 — 운영 (26~31편). 26편(cluster operations) 에서 master-eligible·voting·rolling restart·split-brain 을, 27편(shard allocation) 에서 allocation awareness·rack·zone·shrink·split·clone 을 다뤘어요. 28편(snapshot & restore) 에서 S3·SLM·Searchable Snapshot 백업 표준을, 29편(security·RBAC) 에서 basic auth·API key·Roles·field/document level security 를, 30편(monitoring) 에서 cluster health·node stats·slow logs·Stack Monitoring 을, 31편(performance tuning) 에서 heap·thread pool·query cache·fielddata·circuit breaker 를 한 번에 정리.
Part 8 — 통합 (32~34편). 32편(spring data elasticsearch) 에서 Repository·Template·@Document·Reactive 로 자바 백엔드와 묶고, 33편(kibana·ELK stack) 에서 Discover·Dashboard·Lens·Canvas·Maps 시각화를, 34편(observability) 에서 APM·Logs·Metrics·Uptime·SLO·OpenTelemetry 통합 관측을 잡았어요.
Part 9 — 클라우드 (35~37편). 35편(AWS OpenSearch Service) 에서 Domain·Serverless·Provisioned 옵션 비교를, 36편(Elastic Cloud) 에서 Hosted·Serverless·ECE·ECK 네 가지 배포 형태를, 37편(IaC) 에서 Terraform·CloudFormation·Helm·ECK Operator 인프라 코드를 다뤘어요.
Part 10 — 마무리 (38편). 지금 이 글이에요. 결정 트리 · 체크리스트 · 자격증 · 다음 학습.
결정 트리 — 내 상황에 어떻게 적용할까
"우리 회사에 Elasticsearch 를 도입해야 할까, 어떤 형태로 가져갈까" 를 한 번에 결정할 수 있게 흐름을 트리로 짜 봤어요. 위에서부터 차례로 답하면 끝.
시작
│
├─ Q1. 검색·로그·관측·벡터 중 하나라도 필요?
│ ├─ No → ES 도입 보류. PG·Redis·Kafka 로 충분.
│ └─ Yes → Q2 로.
│
├─ Q2. 데이터 규모는?
│ ├─ < 10만 행, QPS < 10
│ │ → PG tsvector · MySQL FULLTEXT 로 충분.
│ │ ES 도입 운영비가 가치 < 비용.
│ └─ > 10만 행 또는 QPS > 10 → Q3 로.
│
├─ Q3. 주 용도는?
│ ├─ 풀텍스트 검색 (상품·문서·위키)
│ │ → ES + Nori (한국어) 표준.
│ │ 11편(Korean Analyzer) · 13편(Full-text) 핵심.
│ ├─ 로그·관측 (ELK 스택)
│ │ → ES + Logstash/Beats + Kibana.
│ │ 25편(외부 수집기) · 33편(Kibana) · 34편(Observability) 핵심.
│ ├─ 벡터·RAG (LLM 인프라)
│ │ → ES dense_vector + kNN + hybrid search.
│ │ 21편(Vector) · 22편(RAG) 핵심.
│ │ 대안 = Pinecone·Weaviate·Qdrant (Q5 참고).
│ └─ 둘 이상 혼합
│ → 클러스터 분리 권장 (검색 vs 로그).
│ 30편(Monitoring) "별도 클러스터" 패턴.
│
├─ Q4. 라이선스·클라우드 환경?
│ ├─ AWS 만 사용 + Apache 2.0 필요
│ │ → AWS OpenSearch Service (1급 시민).
│ │ 35편(AWS OpenSearch) 핵심.
│ ├─ 멀티 클라우드 또는 Elastic 최신 기능
│ │ → Elastic Cloud (Hosted·Serverless·ECE·ECK).
│ │ 36편(Elastic Cloud) 핵심.
│ └─ 온프레미스·자체 운영
│ → ES 자체 운영 + ECK (Kubernetes 환경).
│ 37편(IaC) 핵심.
│
├─ Q5. 벡터 검색만 한다면 ES 가 최선?
│ ├─ 데이터 < 100만 벡터, 검색·로그·관측과 묶고 싶음
│ │ → ES dense_vector + kNN 권장.
│ ├─ 데이터 > 1억 벡터 + 벡터만 사용
│ │ → 전용 Vector DB (Pinecone·Weaviate·Qdrant·Milvus) 가
│ │ 비용·성능 면에서 유리. 다음 학습 섹션 참고.
│ └─ 1억 미만 + LLM·RAG 묶기
│ → ES + LangChain·LlamaIndex 어댑터 권장.
│
└─ Q6. 매니지드 vs 자체 운영?
├─ DevOps 인력 < 2명
│ → 매니지드 (Elastic Cloud Serverless 또는 AWS OpenSearch Serverless).
├─ DevOps 인력 > 2명 + 비용 민감
│ → ECK on Kubernetes (자체 운영 + 매니지드 편의).
└─ 대기업·온프레미스 강제
→ 자체 운영 + Terraform/Helm/ECK Operator.
이 트리만 한 번 따라 가도 "우리는 OpenSearch Serverless 로 시작 · 검색·로그 통합 · Nori 사전 작성 · 1년 안에 벡터 검색 진입" 같은 1년 로드맵이 자연스럽게 떨어져요.
운영 30일 체크리스트
ES 클러스터를 새로 띄운 직후부터 D+30 까지 점검해야 할 항목을 30가지로 압축했어요. 운영 본격 시작 전 한 번 훑고 가면 "한 달 뒤 사고 폭증" 을 70% 차단할 수 있어요.
[D+1] 클러스터 셋업
□ 1. master 노드 3개·data 노드 2개 이상 분리 배치 (split-brain 차단)
□ 2. `discovery.seed_hosts` · `cluster.initial_master_nodes` 명시
□ 3. heap = 노드 메모리 50% (최대 31GB 이하) — 31편(Performance) 가이드
□ 4. JVM 옵션 G1GC 또는 ZGC 명시, GC 로그 활성화
□ 5. `cluster.name` 고유 지정 (다른 클러스터 자동 합류 방지)
[D+3] 인덱스 설계
□ 6. 모든 인덱스 alias 로 노출 (운영 인덱스 직접 접근 금지)
□ 7. mapping `dynamic: strict` 또는 `dynamic: false` 로 잠금
□ 8. `index.mapping.total_fields.limit = 1000` 박기
□ 9. 시계열 데이터는 ILM + Rollover + Searchable Snapshot 세트 — 6편 가이드
□ 10. Primary Shard 갯수 결정 (데이터 1TB 기준 20~30개 거친 가이드)
[D+7] 보안
□ 11. xpack.security 또는 OpenSearch security 플러그인 활성화 — 29편(Security)
□ 12. elastic·kibana_system 등 빌트인 사용자 비밀번호 변경
□ 13. TLS 1.2 이상 강제 (transport·http 둘 다)
□ 14. API key 발급 + role 분리 (애플리케이션별 최소 권한)
□ 15. field/document level security 필요 자리 식별
[D+14] 모니터링·관측
□ 16. _cluster/health · _nodes/stats 5초 주기 Prometheus exporter — 30편
□ 17. slow log threshold 박기 (query > 1s, fetch > 500ms)
□ 18. Kibana Stack Monitoring 또는 Grafana 대시보드 셋업
□ 19. 알림 규칙 박기 (status=red, free_disk < 20%, heap > 75%)
□ 20. APM agent + OpenTelemetry collector — 34편(Observability)
[D+21] 백업·복구
□ 21. Snapshot Repository 등록 (S3 또는 GCS) — 28편
□ 22. SLM (Snapshot Lifecycle Management) 자동화 정책 등록
□ 23. retention 30일·90일·1년 차등 정책 박기
□ 24. 복구 리허설 1회 실행 (RTO 측정)
[D+30] 성능·튜닝
□ 25. 검색 query cache · request cache hit ratio 점검
□ 26. fielddata circuit breaker 발생 빈도 점검 — 31편
□ 27. thread pool queue rejected 카운트 점검
□ 28. 한국어 Nori 사용자 사전 운영 도메인 단어 등록 — 11편
□ 29. Reindex 자동화 스크립트·alias 스위칭 절차 문서화
□ 30. on-call 핸드북·런북 작성 + slack 알림 채널 분리
처음 한 달은 이 30개만 한 번씩 통과시켜도 안정 단계 진입에 충분해요.
자주 만나는 운영 함정 Top 10
시리즈 전체에서 다룬 사고들 을 10가지로 압축했어요. 이게 Elasticsearch 운영자 면접 단골 질문 이기도 해서, 한 번 외워 두면 두고두고 써먹어요.
1. Mapping Explosion. Dynamic Mapping 을 켠 채로 임의 키 JSON 을 색인하면 필드가 폭증해 메모리가 터져요. 해결 = dynamic: strict + total_fields.limit = 1000. 8편(Mapping Deep).
2. Shard 수 미설계. Primary Shard = 1 또는 = 100 같은 극단 설계. 해결 = 1TB 당 20~30개 거친 가이드 + 시계열은 Rollover. 6편·27편.
3. Deep Pagination 폭망. from + size 로 깊은 페이지 = 모든 샤드에서 전 정렬. 해결 = search_after 또는 scroll 또는 PIT (Point-in-Time). 19편(Search Features).
4. Korean Tokenizer 미설정. 한국어를 기본 standard 로 색인하면 형태소 분석 X. 해결 = nori_tokenizer + 사용자 사전. 11편.
5. Red 상태. Primary Shard 가 어떤 노드에도 할당 X. 해결 = _cluster/allocation/explain → 디스크 watermark → 노드 추가 또는 reroute. 26편.
6. Split-brain. 네트워크 파티션으로 master 가 둘로 갈림. 해결 = quorum 기반 voting + master 노드 3개 최소. 26편.
7. Refresh interval 1초 폭주. 기본 1초 refresh 가 대량 입력 시 Segment Merge 폭주 로 디스크·CPU 폭증. 해결 = bulk indexing 동안 refresh_interval = -1 잠시 끄기. 23편(Bulk).
8. fielddata 메모리 폭증. text 필드에 집계·정렬 = fielddata 캐시 폭증으로 heap 터짐. 해결 = keyword sub-field 로 집계·정렬, text 는 풀텍스트만. 9편·31편.
9. 라이선스 충돌. ES 7.11+ 가 SSPL → 상업 SaaS 재판매 X. 해결 = Apache 2.0 필요 자리는 OpenSearch. 35편.
10. Snapshot 미설정. 운영 1년 뒤 "인덱스 하나 잘못 지움 → 복구 X" 사고. 해결 = D+21 체크리스트 21~24번. 28편.
운영 권장 패턴 Top 10
함정 반대로 "이렇게 잡아 두면 90% 사고가 사라지는" 패턴 10가지.
1. 인덱스는 항상 alias 뒤에. 재색인·rollover 다운타임 0. 5편.
2. Mapping 은 strict + 명시적. Mapping Explosion 70% 차단. 8편.
3. 시계열 데이터는 ILM + Rollover. 한 인덱스 폭증 차단. 6편.
4. 검색·로그 클러스터 분리. 로그 폭증이 검색 응답 막는 사고 차단. 30편.
5. master 3개 + data 2개 이상. Split-brain·HA 둘 다 해결. 26편.
6. Snapshot SLM 자동화. D+1 부터 백업 무인 운영. 28편.
7. Bulk indexing 동안 refresh 끄기. 대량 입력 시 refresh = -1, 끝나면 다시 1s. 23편.
8. Nori 사용자 사전 운영 도메인 등록. 검색 품질 80%가 사전 품질. 11편.
9. Stack Monitoring + Grafana 이중 대시보드. ES 죽을 때 ES 대시보드도 같이 죽는 사고 차단. 30편·34편.
10. 한국어 + 영어 + 이모지 mixed 데이터는 multi_field. text (분석) + keyword (정확 매칭) + completion (자동완성) 셋 다 한 필드에. 8편·9편.
자격증·인증
Elasticsearch 자격증은 Elastic 사 공식 과 AWS 공식 두 갈래가 있어요. 한국 시장 기준 현실적 가치 순서 로 정리.
1. Elastic Certified Engineer (ECE). Elastic 사 공식 1급 자격증이에요. 클러스터 셋업·인덱스 설계·검색·집계·운영 까지 전 영역을 실습형 시험 으로 봐요. 시험 시간 3시간, 응시료 $400, 패스 기준 65%. 시리즈 1~31편을 한 번 통과한 분이면 기출 2회 + ECE 공식 문제풀이 한 달이면 합격선. 자격증 시장 가치는 해외 > 국내 라서 외국계·해외 취업 자리에 가산점.
2. Elastic Certified Observability Engineer. APM·Logs·Metrics·SLO·OpenTelemetry 자리에 특화된 자격증. 시리즈 34편(Observability) 가 이 자격증과 1대 1로 대응돼요. 시험 시간 3시간, 응시료 $400. 관측 도메인 깊이 가는 분에게.
3. Elastic Certified Analyst. Kibana 시각화·Lens·Canvas·Maps 에 특화된 자격증이에요. 데이터 분석·BI 자리에 가까운 분에게. 시험 시간 3시간, 응시료 $400.
4. AWS Certified Data Analytics — Specialty. AWS 의 데이터 분석 자격증으로, AWS OpenSearch Service 가 시험 범위에 포함돼요. AWS 환경에서 일하는 분이 Kinesis·Glue·Athena·OpenSearch 를 한 번에 잡고 가는 자격증. 시험 시간 180분, 응시료 $300, 패스 750/1000.
5. AWS Certified Machine Learning — Specialty. 벡터 검색·SageMaker·OpenSearch RAG 자리가 일부 포함. 22편(RAG) 깊이 들어간 분에게 보조 자격증.
자격증 선택 기준은 "운영 도메인 (ECE) vs 관측 도메인 (Observability) vs AWS 환경 (AWS Data Analytics)" 셋 중 본인 일자리와 매칭되는 한 갈래만 가져가는 게 효율 좋아요. ECE 와 AWS Data Analytics 둘 다 가진 분이 시장 희소성 측면 에서 가장 강해요.
다음 학습 — 어디로 더 갈까
시리즈 38편을 통과한 시점에서 그 다음 자리 에 갈 만한 길이 네 갈래 있어요.
1. Vector DB 전문 도구. ES 의 dense_vector + kNN 으로 RAG 인프라까지 잡았지만, 1억 벡터 이상 자리는 전용 Vector DB 가 비용·성능 면에서 유리해요.
- Pinecone — 완전 매니지드, 시작 5분, 비용은 비싼 편. PoC·MVP 자리 표준.
- Weaviate — 오픈소스, GraphQL 인터페이스, 자체 운영·하이브리드 검색에 강함.
- Qdrant — Rust 로 작성, 벡터+필터 결합 성능 1위, 자체 운영 비용 효율.
- Milvus — 중국 발 오픈소스, 수십억 벡터 스케일, 대규모 자리 표준.
- Chroma — 가벼움, 로컬 개발·LLM 프로토타이핑 용. 운영 자리는 X.
ES 와 Vector DB 의 선택 기준은 "검색·로그·관측을 한 통에 묶고 싶다 = ES" vs "벡터만 하고 비용·성능 1위 = 전용 도구" 가 거친 가이드.
2. LLM·LangChain·LlamaIndex. 22편(RAG) 에서 살짝 진입한 LLM 인프라 자리. LangChain·LlamaIndex 같은 RAG 프레임워크 가 ES 와 LLM 사이 어댑터 자리를 잡아 줘요.
- LangChain — Python·JS 표준, 체인·에이전트·메모리 추상화, 생태계 1위.
- LlamaIndex — 데이터 인덱싱·청킹·검색 에 집중, RAG 전용 프레임워크.
- Elasticsearch Relevance Engine (ESRE) — Elastic 사 공식 RAG 툴킷, ELSER 모델 (Elastic 자체 sparse 임베딩) 포함.
LangChain + ES 또는 LlamaIndex + ES 가 Spring AI 또는 FastAPI 환경에서 가장 흔한 조합.
3. 검색 품질·랭킹 도메인. 풀텍스트 검색이 "잘 잡힌다" 의 80%는 랭킹 튜닝 에서 결정돼요.
- BM25 · TF-IDF 깊이 — Lucene 기본 스코어링.
- Learning to Rank (LTR) — 머신러닝 기반 재랭킹. Elastic LTR 플러그인.
- Reciprocal Rank Fusion (RRF) — Hybrid Search 의 결합 알고리즘. 22편 살짝.
- A/B 테스트 인프라 — Statsig 시리즈 (이 프로젝트 시리즈 4) 와 결합.
4. 비슷한 도구로 확장. ES 와 같은 자리를 잡는 다른 검색 엔진들. "우리 회사에 더 어울리는 도구가 있을까" 비교용.
- Apache Solr — Lucene 기반, ES 와 형제 도구. XML 설정 중심, 한국 SI 자리에 잔존.
- Algolia — 매니지드 SaaS, 프론트엔드 친화 SDK, e-commerce 검색 UI 자리 표준.
- MeiliSearch — Rust 발, 간편한 셋업·typo tolerance, 작은 자리에 어울림.
- Typesense — 오픈소스, Algolia 대안, 자체 운영 매니지드 둘 다 OK.
- Vespa — Yahoo 발, 대규모·랭킹·벡터 한 통, ES 대비 더 큰 자리·낮은 인지도.
- Quickwit — Rust + 오브젝트 스토리지 기반, S3 직접 검색 차세대 자리.
비슷한 도구로 가는 길 — 한 줄씩
위에서 살짝 짚은 다른 검색 엔진들을 "언제 골라야 할까" 한 줄로 압축.
- Apache Solr — 기존 SI 자리에 잔존, ES 와 거의 동일한 자리. 신규 채택 X.
- Algolia — e-commerce 즉시 검색 UI 자리. SaaS 비용 OK·운영 인력 X.
- MeiliSearch — 작은 사이트·블로그·문서 검색 자리. < 100만 문서.
- Typesense — Algolia 의 오픈소스 대안. 자체 호스팅 가능.
- Vespa — 수십억 문서 + 랭킹 + 벡터 한 통 자리. 광고 추천·검색에 강함.
- Quickwit — 로그 검색만 + S3 비용 절감 자리. ES 로그용 대체 차세대.
대부분 한국 회사는 ES 또는 OpenSearch 가 답이고, e-commerce 검색 UI 자리만 Algolia 가 종종 1순위로 올라와요.
시리즈 38편 전체 목차
1편부터 38편까지 한 줄씩 압축. 책갈피로 두고 필요한 편만 다시 들어가는 인덱스 역할이에요.
Part 1 — 입문
- 1편 welcome — 검색·로그·AI 한 통 종합
- 2편 core-concepts — Index·Document·Shard·Replica·Mapping 5대 깊이
- 3편 lucene-internals — Segment·Inverted Index·Posting List
- 4편 quickstart — Docker Compose·curl·Kibana Dev Tools
Part 2 — 데이터 모델
- 5편 index-management — Create·Settings·Alias·Reindex
- 6편 ilm-aliases-rollover — 시계열 데이터 라이프사이클
- 7편 document-crud-versioning — CRUD·Bulk·Optimistic Locking
- 8편 mapping-deep — Static·Dynamic·Templates·Multi-field·Runtime
- 9편 field-types-deep — text·keyword·numeric·date·object·nested·flattened
- 10편 analyzer-deep — Character Filter·Tokenizer·Token Filter 3단계
Part 3 — 한국어
- 11편 korean-analyzer — Nori·mecab-ko·사용자 사전·동의어
Part 4 — 검색
- 12편 search-api-basic — _search·query·size·from·sort·_source
- 13편 fulltext-queries — match·match_phrase·multi_match·query_string
- 14편 term-level-queries — term·terms·range·exists·prefix·wildcard·fuzzy
- 15편 compound-queries — bool·must·should·must_not·filter·function_score
- 16편 aggregations-metric — sum·avg·min·max·stats·percentiles·cardinality
- 17편 aggregations-bucket — terms·histogram·date_histogram·range·filters·composite
- 18편 aggregations-pipeline — derivative·moving_avg·cumulative_sum·bucket_sort
Part 5 — 검색 고급
- 19편 search-features — highlight·sort·pagination·search_after·scroll·PIT
- 20편 suggesters — term·phrase·completion·context
- 21편 vector-search-knn — dense_vector·sparse_vector·HNSW·ANN
- 22편 rag-hybrid-search — Embedding·Reranking·Relevance Tuning
Part 6 — 데이터 수집
- 23편 bulk-api — NDJSON·batch sizing·refresh·partial failure
- 24편 ingest-pipeline — Processor·grok·set·remove·rename·conditional
- 25편 logstash-beats-fluentd — Logstash·Beats·Fluentd·Vector 비교
Part 7 — 운영
- 26편 cluster-operations — master-eligible·voting·rolling restart·split-brain
- 27편 shard-allocation — allocation awareness·rack·zone·shrink·split·clone
- 28편 snapshot-restore — S3·SLM·Searchable Snapshot
- 29편 security-rbac — basic auth·API key·Roles·field/document level security
- 30편 monitoring — cluster health·node stats·slow logs·Stack Monitoring
- 31편 performance-tuning — heap·thread pool·query cache·fielddata·circuit breaker
Part 8 — 통합
- 32편 spring-data-integration — Repository·Template·@Document·Reactive
- 33편 kibana-elk-stack — Discover·Dashboard·Lens·Canvas·Maps
- 34편 observability-apm-uptime — APM·Logs·Metrics·Uptime·SLO·OpenTelemetry
Part 9 — 클라우드
- 35편 aws-opensearch — Domain·Serverless·Provisioned·ES와 차이
- 36편 elastic-cloud — Hosted·Serverless·ECE·ECK
- 37편 iac-terraform-cdk — Terraform·CloudFormation·Helm·ECK Operator
Part 10 — 마무리
- 38편 series-conclusion — 결정 트리·체크리스트·자격증·다음 학습
시험 직전 한 번 더 — 압축 노트
- 시리즈 38편 = 입문·데이터 모델·한국어·검색·검색 고급·수집·운영·통합·클라우드·마무리 10갈래.
- 결정 트리 = 검색 필요? → 규모? → 용도? → 라이선스·클라우드? → 매니지드 vs 자체? → 1년 로드맵 자동 결정.
- 운영 30일 체크리스트 = D+1(셋업) → D+3(인덱스) → D+7(보안) → D+14(모니터링) → D+21(백업) → D+30(튜닝). 30개 항목.
- 7대 사고 (시리즈 1편) + 추가 사고 3개 = 10대 함정. Mapping Explosion·Shard·Deep Pagination·Korean·Red·Split-brain·Refresh 폭주·fielddata·라이선스·Snapshot 누락.
- 10대 패턴 = alias·strict mapping·ILM·클러스터 분리·master 3+·SLM·refresh 끄기·Nori 사전·이중 대시보드·multi_field.
- 자격증 4종 = ECE (운영) · Observability Engineer (관측) · Analyst (Kibana) · AWS Data Analytics (AWS 환경).
- 다음 학습 = Vector DB (Pinecone·Weaviate·Qdrant·Milvus) · LLM·LangChain·LlamaIndex · 검색 품질·랭킹 · 비슷한 도구 (Solr·Algolia·MeiliSearch·Typesense·Vespa·Quickwit).
- 현재 안정 버전 (2026-05) = Elasticsearch 8.x. 9.x 미리보기.
- 한국 회사 4번째 데이터 인프라 자리 (PG·Redis·Kafka 다음).
한 줄 정리 — Elasticsearch 38편 시리즈는 Lucene 위 분산 검색·분석·AI 플랫폼 한 도구로 검색·로그·관측·벡터 네 자리를 다 잡는 길이었고, 이 글은 그 길 위에 결정 트리·운영 체크리스트·자격증·다음 학습 네 갈래 표지판을 박은 마지막 한 페이지예요.