본문 바로가기

Elasticsearch

Elasticsearch에서 대용량 인덱스를 관리하는 방법(with. Index template)

728x90

대용량의 데이터를 저장해야하는 경우 보통 rolling 방식을 통해 index를 나누어서 관리한다.

 

rolling은 날짜별로 혹은 설정된 용량에 도달했을 경우 ES에서 자동으로 저장된 index를 보관하고 새로운 index를 생성하여 해당 index에 데이터가 저장되도록 하는 방식이다.

 

 index가 rolling되면 특정 주기를 기준으로 새로운 index가 생성될텐데, index 생성 시에는 mapping과 settings를 설정해야한다.

template을 생성하면 특정 패턴의 인덱스가 생성될 때, 지정된 설정이 자동으로 적용되도록 할 수 있다.

 

 rolling이 되면 인덱스가 여러개 생성될텐데, 이러한 모든 인덱스를 하나의 인덱스에서 사용하기 위해서는 template을 생성할 때, alias(별칭)를 설정해주어야 한다. 그리고 rolling 설정을 하기 위해서는 template을 추가할 때 rollover를 설정하면 되는데, 날짜별로 혹은 용량별로 Rolling 방식을 설정할 수 있다.

 

ILM(Index Lifecycle Management)

  • 인덱스의 생명 주기 및 인덱스 크기 관리 기능
  • _ilm/policy API를 이용하여 설정 가능
  • delete 설정을 통해 인덱스의 생명 주기를 관리할 수 있고, rollover를 통해 인덱스 rolling(특정 용량에 도달하거나 날짜별로 새로운 인덱스가 자동으로 생성되게 하는 기능)을 설정할 수도 있다.

'Elasticsearch' 카테고리의 다른 글

검색엔진을 사용하는 이유  (2) 2024.03.25