데이터 라이프사이클
원본 보기데이터 라이프사이클
Elasticsearch에 저장하는 데이터는 일반적으로 다음 두 가지 범주 중 하나에 속합니다:
- 콘텐츠: 제품 카탈로그처럼 검색 대상이 되는 항목의 모음
- 시계열 데이터: 로그 항목처럼 타임스탬프가 붙어 지속적으로 생성되는 데이터 스트림
콘텐츠는 자주 업데이트될 수 있지만, 그 가치는 시간이 지나도 비교적 일정하게 유지됩니다. 데이터가 얼마나 오래되었는지와 관계없이 항목을 빠르게 조회할 수 있어야 합니다.
시계열 데이터는 시간이 지날수록 계속 쌓이므로, 데이터의 가치와 저장 비용 사이의 균형을 맞추는 전략이 필요합니다. 데이터는 오래될수록 중요도가 낮아지고 접근 빈도도 줄어드는 경향이 있어, 더 저렴하고 성능이 낮은 하드웨어로 옮길 수 있습니다. 가장 오래된 데이터의 경우 중요한 것은 데이터에 접근할 수 있다는 점입니다. 쿼리 완료에 시간이 더 걸려도 괜찮습니다.
데이터 관리를 돕기 위해 Elasticsearch는 다음 옵션을 제공합니다: Index lifecycle management, Data stream lifecycle, Elastic Curator.
Data rollup은 클러스터에 저장되는 데이터 양을 관리할 수 있게 해주는 더 이상 사용되지 않는(deprecated) Elasticsearch 기능으로, ILM 및 data stream lifecycle의 다운샘플링 기능과 유사합니다. 신규 배포에서는 이 기능을 사용하지 마세요.
ILM은 Elasticsearch Serverless에서 사용할 수 없습니다.
Elastic Cloud 또는 자체 관리 환경에서 ILM은 성능 요구사항과 보존 요구사항에 따라 인덱스를 데이터 티어 간에 자동으로 전환해 줍니다. 이를 통해 하드웨어 비용과 성능의 균형을 맞출 수 있습니다. Elasticsearch Serverless는 클러스터 성능을 대신 최적화하여 이러한 복잡성을 없애 줍니다.
Data stream lifecycle은 데이터 티어 같은 불필요한 하드웨어 중심 개념 없이 가장 일반적인 라이프사이클 관리 요구에 집중할 수 있게 해주는 최적화된 라이프사이클 도구입니다.
ILM은 인덱스와 데이터 스트림을 모두 관리할 수 있습니다. 다음 작업이 가능합니다:
- 데이터의 보존 기간을 정의합니다. 보존 기간은 Elasticsearch가 데이터를 저장하는 최소 기간입니다. Elasticsearch는 이 기간보다 오래된 데이터를 삭제할 수 있습니다.
- 서로 다른 성능 특성을 가진 여러 티어의 데이터 노드를 정의합니다.
- 성능 요구사항과 보존 정책에 따라 인덱스를 데이터 티어 간에 자동으로 전환합니다.
- 원격 저장소에 저장된 searchable snapshots를 활용해 운영 비용을 줄이고 검색 성능을 유지하면서 오래된 인덱스에 복원력을 제공합니다.
- 성능이 낮은 하드웨어에 저장된 데이터에 대해 비동기 검색을 수행합니다.
Index lifecycle management에서 더 알아보기 ->
Data stream lifecycle은 기능은 더 적지만 단순함에 중점을 둡니다. 다음 작업이 가능합니다:
- 데이터의 보존 기간을 정의합니다. 보존 기간은 Elasticsearch가 데이터를 저장하는 최소 기간입니다. Elasticsearch는 이 기간보다 오래된 데이터를 이후에 삭제할 수 있습니다.
- Elasticsearch가 데이터 스트림을 저장하는 방식을 최적화하는 백그라운드 작업을 수행하여 데이터 스트림의 성능을 개선합니다.
- 오래된 백업 인덱스를 frozen 티어의 부분 마운트된 searchable snapshots로 옮겨, 로컬 스토리지 비용을 낮추면서 데이터를 더 오래 검색 가능한 상태로 유지합니다. Searchable snapshots for data streams를 참고하세요.
Data stream lifecycle에서 더 알아보기 ->
Elastic Curator는 사용자 정의 필터와 사전 정의된 작업을 사용해 인덱스와 스냅샷을 관리할 수 있게 해주는 도구입니다. ILM이 인덱스 라이프사이클 관리에 필요한 기능을 제공하고 최소한 Basic 라이선스를 보유하고 있다면, Curator 대신 ILM 사용을 고려하세요. 많은 스택 구성 요소가 기본적으로 ILM을 사용합니다.