OpenSearch에서 시간 기반 인덱스 사용의 장점
1.
day-wise
인덱스를 사용하는 샤드 수 증감
Say, an index template은 인덱스 설정에서 1 shard
로 구성됩니다. 인덱싱 속도가 느리거나 샤드 크기가 너무 커지면(> 50GB) 인덱스 템플릿을 쉽게 수정하여 number_of_ shards
를 3
또는 5
로 늘릴 수 있습니다. 그리고 이것은 다음날부터 적용됩니다. 마찬가지로 일별 인덱스 패턴이 필요 이상의 샤드(oversharded)로 구성되어 있으면 줄이기가 쉬워진다.2. 클러스터 용량 및 growth size
Let's say 100 events per second
flow into an OpenSearch cluster and each event
averages about 1 KB
in size. Thus, per day, there would be:
86400 seconds * 100 events/second = 8,640,000
events.
Since each event averages about 1 KB, the total size of 8,640,000 events = 8,640,000 * 1 KB = 8,640,000 KB / (1024 * 1024) = ~8.24 GB
.
Thus, with a day-wise index
, we could see that the day-wise index size would be ~9 GB per day
without any replicas. Considering 1 replica, the size per day would be ~18 GB
and size for 30 days
would be ~540 GB
. This helps with capacity planning and estimating cluster growth rate.
3. 최적의 샤드 수 With data set of about
9GB per day
, for a day-wise index
, we could start by setting "number_of_shards" : 1
in the index template를 쉽게 결정합니다. 각primary shard
은 단일 샤드에 대해 상당히 합리적인 약 9GB이기 때문입니다. time-based
인덱스의 샤드는 40-50 GB
범위에 있을 수 있습니다.4. 전체 데이터 reindex If the data influx increases, we could easily set
"number_of_shards": 3
in the index template을
피해야 하며 이것은 tomorrow's
일별 인덱스에 적용됩니다. 데이터를 다시 인덱싱할 필요 없이 샤드 수를 쉽게 변경할 수 있습니다.5. ISM Let's say we need to retain data upto 90 days. Thus, for a day-wise index which is
older than 90 days
, that entire index can be purged / deleted. This is far more efficient than purging records from indices.Also, application of index state management 의 효율적인 삭제 및 적용이 시간 기반 인덱스로 단순화됩니다.
6. 새로 생성된 일별 인덱스에 매핑되는 인덱스 템플릿의 별칭 Let's assume the cluster needs to retain 90 days data but needs to search only on the
last 60 days
data. Alias to the rescue. In this case, define an alias
을 기반으로 인덱스를 쉽게 포함/제외합니다. 과거 인덱스가 60일이 지나면 해당 인덱스에서 별칭이 제거됩니다. 이렇게 하면 지정된 시점에서 별칭이 최대 60일 기준 인덱스를 가리킵니다.7. 일별 인덱스를 사용하면 스냅샷 및 복원이 간편해집니다.
Say you have an index named my_index-2021.11.04
created on Nov 04, 2021. On Nov 05, 2021 at say 00:45
hours when data is no longer being written to the my_index-2021.11.04
, a snapshot, snap-my_index-2021.11.04
could be triggered for that index. This snapshot would contain just the my_index-2021.11.04
. In case the index is deleted and needs to be restored, it can be easily restored from the snapshot snap-my_index-2021.11.04
.
8. 일별 인덱스에 best_compression을 적용합니다.
"settings": {
"codec": "best_compression"
}
사용 사례에 따라
"codec": "best_compression"
또는 그 이상에 도움이 될 수 있습니다. 마일리지가 달라집니다."codec": "best_compression"은 기존
save disk space from 10% to 30%
인덱스에 동적으로 적용할 수 없습니다. 인덱스는 먼저
이어야 하고 설정은 동적으로 적용되어야 하고 인덱스는 The 이어야 합니다.index template
9.
open
를 설정하여 과거 지수closedopened
를 강제 병합합니다. 이것은 검색 속도를 엄청나게 향상시킵니다.
Reference
이 문제에 관하여(OpenSearch에서 시간 기반 인덱스 사용의 장점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/advantages-of-using-time-based-indices-in-opensearch-2eie텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)