티스토리 뷰

Elastic Stack

Index 란?

아나니리 2021. 1. 13. 23:09

 

RDMS vs Elasticsearch

MySQL => 데이터베이스 => 테이블 => 열 / 행

 

Elasticsearch => Indices => Types => 문서

 

Type : 7.x버전 이상에서 사용되지 않음

인덱스 관리

인덱스는 한 개 혹은 여러 개의 샤드로 구성(샤드는 루씬 인덱스)

 

다량의 인덱스와 샤드는 Elasticsearch의 클러스터 스테이트 업데이트 작업을 느리게 하는 원인이 될 수 있다.

 

각 샤드에는 메모리에 보관하고 힙 공간을 차지하는 데이터가 있음 => 세그먼트

 

세그먼트가 샤드에 크기에 비례하지는 않는다 => 작은 샤드 여러개 보다 큰 샤드 하나가 좋다

(기존 6.x버전에서 기본값으로 5였던 샤드의 개수가 7.x 버전 부터는 1로 변경된 것과 관련이 있는거 같음)

 

샤드의 크기를 20GB ~ 40GB 정도의 사이즈로 관리하는 것이 좋다

1개 샤드의 권장하는 최대 크기를 넘지 않는 선이라면, 작은 크기의 여러 샤드보다는 큰 크기의 적은 샤드가 더 효율적

 

인덱스 관리방법 중 Index lifecycle management(ILM)

인덱스 생명주기 정책 만들기

시간 및 인덱스 크기에 따라 rollover 정책 설정 가능

삭제 설정, 검색 설정 등의 다양한 설정 가능

 

kibana에서 인덱스 정책을 생성하는 페이지

정책 적용하기

인덱스 템플릿에 정책을 적용해서 생성되는 인덱스 관리 별칭(aliases) 필수

웬만하면 키바나로 관리하는게 매우 편하다

PUT _template/test
{
  "index_patterns": ["test*"],
  "settings": {
    "lifecycle": {
      "name": "logstash-policy",
      "rollover_alias": "test"
    },
    "number_of_shards": 1,
    "number_of_replicas": 0
  }
}

 

 


참고 문서

www.elastic.co/kr/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster
www.elastic.co/kr/blog/what-is-an-elasticsearch-index

 

'Elastic Stack' 카테고리의 다른 글

Logstash 로그 수집(1)  (0) 2021.01.12
Elasticsearch + Docker + TLS  (1) 2021.01.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함