[Elasticsearch] 인덱스의 수명(lifecycle)

[원본 링크]

Elasticsearch는 성능과 비용의 균형을 맞추기 위해서, Lifetime이란 기능을 제공한다.
항상 모든 것을 최적의 형태로 메모리에 올려둘 필요는 없기 때문이다. 특히 실시간 서비스용이 아닌, 로그나 메트릭을 다룰 경우에는 더 그렇다.


https://medium.com/knowledgelens/an-introduction-to-index-life-cycle-management-in-elasticsearch-da6b0ff579c3
이건 좀 옛날 그림이라 없는데, cold와 delete 사이에 frozen이라고 엄청 느린 페이즈가 하나 더 있다.


  1. Hot은 쓰기와 읽기가 모두 최고의 성능으로 처리되는 단계

  2. Warm은 쓰기가 거의 발생하지 않지만 읽기는 최적으로 처리되는 단계

  3. Cold는 쓰기와 읽기가 모두 드물게 발생하고, 느리게 동작해도 괜찮은 단계

  4. Frozen은 쓰기가 불가능하고 읽기가 매우 느리게 동작하는 단계

  5. Delete는 삭제


이렇게 구성된다.

ILM을 사용하지 않는다면, 모든 Elasticsearch의 인덱스는 Hot Phase인 상태로 관리된다.
Warm부터는 직접 세팅을 해야만 이동이 되는 것이다.

이 기능을 이용하면 데이터를 시계열의 형태로 옮기거나 압축해서 효율적으로 관리하는 것이 가능하다.
elastic APM을 사용하는 경우에는 템플릿 기반으로 라이프사이클을 관리하도록 자동 조정이 된다.

특히, 오래된 데이터를 삭제하거나 압축해서 저장공간을 아끼는 형태로도 많이 응용된다.
https://blog.naver.com/sssang97/223963606125



참조
https://www.elastic.co/docs/manage-data/lifecycle/index-lifecycle-management/index-lifecycle
https://medium.com/knowledgelens/an-introduction-to-index-life-cycle-management-in-elasticsearch-da6b0ff579c3