← 학습 카테고리

Learn

Elasticsearch

50개 모듈 · 현재 50번째

Elasticsearch 모듈 50/50 elasticsearch-learn-50

Rollover 조건 — max_age/max_docs/max_size 중 하나만 맞아도 넘어간다

Elasticsearch Field Capabilities API 및 Rollover 조건 공식 문서 종합 (웹 리서치, 2026) — Elastic 공식 문서(search-field-caps, index-lifecycle-actions/ilm-rollover, manage-data/lifecycle/index-lifecycle-management/rollover) Elastic 공식문서 Rollover, Index rollover and routing allocation

이 모듈을 다 읽으면

  • elasticsearch-learn-07의 ILM 계층 전환이 실제로 어떤 조건에서 다음 백업 인덱스로 롤오버되는지 설명할 수 있다
  • 여러 조건을 함께 지정했을 때의 결합 규칙(OR)을 설명할 수 있다

elasticsearch-learn-07에서 다룬 ILM Hot-Warm-Cold 계층과 데이터 스트림을 전제로, 그 데이터 스트림이 언제 새 백업 인덱스로 넘어가는지(rollover)를 결정하는 구체적인 조건을 정리한다.

세 가지 대표 조건 — 나이/문서수/크기

elasticsearch-learn-07에서 다룬 데이터 스트림은 계속 같은 인덱스에 쓰지 않고, 조건이 맞으면 새 백업 인덱스로 롤오버한다. 대표적인 조건은 세 가지다 — max_age(그 인덱스가 만들어진 지 얼마나 됐는지의 상한, 예: '7d'), max_docs(그 인덱스에 담긴 문서 수의 상한), max_size(그 인덱스의 크기 상한). 최신 버전에서는 max_primary_shard_size·max_primary_shard_docs처럼 프라이머리 샤드 하나 기준의 더 세밀한 조건도 추가됐다.

핵심 포인트

  • max_age(인덱스 생성 후 경과 시간 상한, 예 '7d')/max_docs(문서 수 상한)/max_size(인덱스 크기 상한)가 대표 조건
  • 최신 버전엔 max_primary_shard_size/max_primary_shard_docs처럼 프라이머리 샤드 하나 기준의 더 세밀한 조건도 추가됨

여러 조건을 함께 쓰면 — 하나만 맞아도 롤오버(OR 결합)

이 조건들은 하나만 지정할 수도 있고 여러 개를 조합할 수도 있다 — 조건을 여러 개 지정했다면, 그중 어느 하나라도 만족하는 순간 롤오버가 일어난다(OR 결합이지 AND가 아니다). 예를 들어 max_age를 '7일', max_docs를 5로 지정했다면, 그 인덱스가 생성된 지 7일이 지났거나 문서가 5개 이상 쌓이면(둘 중 먼저 도달하는 조건) 롤오버가 트리거된다. 조건을 아예 지정하지 않으면 무조건 롤오버가 실행되고, 조건을 지정한다면 그중 최소 하나는 max_* 계열 조건이어야 한다.

핵심 포인트

  • 여러 조건 지정 시 OR 결합 — 어느 하나라도 만족하면 즉시 롤오버(모든 조건을 동시에 만족할 필요 없음)
  • 예: max_age=7d + max_docs=5 → 생성 후 7일 경과 또는 문서 5개 도달, 둘 중 먼저 오는 조건에서 롤오버. 조건 미지정 시 무조건 롤오버, 지정 시 최소 하나는 max_* 조건이어야 함