ES 세팅값을 조회해보다가 아무생각없이 지나갔던
"_tier_preference": "data_content"
이 부분이 뭐지? 하고 의문이 들어서 찾아보게됐다.
"tmp": {
"settings": {
"index": {
"routing": {
"allocation": {
"include": {
"_tier_preference": "data_content"
}
}
},
"number_of_shards": "3",
.....
이를 설명하기 이전에 시계열데이터라는 것을 알아야한다. 이야기가 너무 길어지니 짧게 설명하자면, 일정한 시간동안에 일련의 순차적으로 행해지는 데이터 셋의 집합이라고 볼 수 있다. 이 데이터의 특징이자 키워드가 바로 “실시간 데이터” 라는 것이다. 예를 들어, 실시간으로 변화하는 주가 데이터, 스마트 홈 시스템에서의 현재 온도등에서 사용된다.
"_tier_preference": "data_content"
여기서 말하는 tier란 같은 역할을 가진 데이터의 모임이라고 볼 수 있다. 이것은 각 인덱스마다 부여가 되는데, tier 종류에는 아래처럼 여러가지가 있다. 인덱싱을 할때 기본으로 content tier
로 세팅이 된다.
만약, hot tier
로 세팅한 것이 있다면 해당 노드에 먼저 상주한다. 성능, 복원력, 데이터 보존 요구 사항에 따라서 hot tier
, warm tier
, cold tier
을 통해 시계열 데이터로 자동으로 전환되도록 정책 구성이 가능하다.
참고 : https://www.elastic.co/guide/en/elasticsearch/reference/current/data-tiers.html#content-tier