ELK/Elasticsearch

[Elasticsearch] 엘라스틱 서치란?

오늘도개발 2024. 5. 6. 11:37

* 참고 사이트

https://www.elastic.co/guide/kr/elasticsearch/reference/5.4/gs-basic-concepts.html

 

기본 개념 | Elasticsearch 설명서 [5.4] | Elastic

각 Elasticsearch 샤드는 Lucene 색인입니다. 단일 Lucene 색인이 포함할 수 있는 문서 수의 최대 한도가 있습니다. LUCENE-5843에 따르면 2,147,483,519`개(= Integer.MAX_VALUE - 128)입니다. {ref}/cat-shards.html[`_cat/shards

www.elastic.co

 

 

1. elasticsearch 란?

 

 -  루씬 기반의 분산 검색 서버(오픈소스)

 - 역 인덱스

 - NRT(Near Realtime ; 준 실시간 검색 엔진 )

 

 

2. elasticsearch  기본 용어

 

 

- Cluster (클러스터)

  •  하나 이상의 노드(서버)가 모인 것
  •  동일한 클러스터 이름을 서로 다른 환경에서 재사용 금지

 

 - Node (노드)

  •  클러스터에 포함된 단일 서버
  • config/elasticsearch.yml 에서 설정가능
  •  노드는 다음과 같은 종류가 있음
    • Master Node (마스터 노드) :
      1. 클러스터 관리, 노드 추가와 제거 담당, 색인의 주요 컨트롤러
      2. 노드 수의 절반 + 1 만큼 설정하는 것이 안정적
      3. node.data 변수를 사용하여 데이터 저장을 지정할 수 있다(default = true)
    • Coordinator Node (코디네이터 노드) :
      1. 마스터 노드 및 데이터 노드 설정이 false  로 설정
      2. 쿼리 및 집계의 과부하 방지 
    • Ingest Node (인제스트 노드) :
      1. 색인 전, 전처리 노드

 

 - Shard(샤드)

  •  조회 성능 향상을 위해 데이터를 분산 저장한 곳
  • 프라이머리 샤드와 레플리카 샤드(프라이머리 샤드 복제본) 으로 구성
  • 다음과 같이 설정

 

 {
 	"settings": {
    	"index":{
      	"number_of_shards":5,
      	"number_of_replicas":1
        }
    }
 }

 

 

 

 - Index (인덱스)

  •   데이터 저장공간 

 

 - Type (타입)

  • 인덱스 하부 카테고리 역할 ( 논리적 구분 목적 )

 

 - Document (문서)

  • 데이터가 저장되는 최소 단위( Table 과 유사 )
  • JSON Format으로 저장

 

 - Field ( 필드 )

  • 문서 내 세부 항목 ( Column 과 유사 )  
  • 매핑을 통하여 데이터 타입 지정 가능

 

'ELK > Elasticsearch' 카테고리의 다른 글

[Elasticsearch] 검색  (0) 2024.05.06
[Elasticsearch] Index(색인)  (0) 2024.05.06
[Elasticsearch] Mapping 정의  (1) 2024.05.06