[AWS]ElasticSearch란?

건너별·2021년 11월 14일
0

infra(AWS)

목록 보기
5/17

ElasticSearch

  • Apache Lucene 기반의 자바 오픈소스 분산 검색 엔진
  • 방대한 양의 데이터를 신속하고 거의 실시간으로 저장, 검색, 분석

핵심 개념

1. cluster

  • 하나 이상의 노드(서버)가 모인 것
  • 이를 통해 전체 데이터를 저장하고 모든 노드를 포관하는 통합 색인화 및 검색 기능을 제공
  • 클러스터는 고유한 이름으로 식별(식별자이므로 중요함)

2. node

  • 클러스터에 포함된 단일 서버로서 데이터를 저장하고 클러스터의 색인화 및 검색 기능에 참여

3. index

  • 다소 비슷한 특성을 가진 문서의 모음

4. type

  • index를 논리적으로 분류/구분한 것
  • 하나의 index에서 하나 이상의 type 정의할 수 있음

document

  • 색인화 할 수 있는 기본 정보 단위
  • JSON 형식

shard

  • 색인은 방대한 양의 데이터를 저장할 수 있는데, 이 데이터가 단일 노드의 하드웨어 한도를 초과할 수도 있다.

  • 이러한 문제를 해결하고자 index를 이른바 샤드(shard)라는 조각으로 분할하는 기능을 제공

  • index 생성할 때 원하는 샤드 수를 간단히 정의할 수 있음

  • 각 샤드는 그 자체가 온전한 기능을 가진 독립적인 index

replica

  • 언제든 오류가 일어날 가능성이 있는 네트워크/클라우드 환경에서는 어떤 이유에서든 샤드/노드가 오프라인 상태가 되거나 사라지게 될 경우에 대비하여 Fail-Over 매커니즘을 마련하는 것이 매우 유익하고 바람직

  • Elasticsearch에서는 색인의 샤드에 대해 하나 이상의 복사본을 생성할 수 있는데, 이를 리플리카 샤드(replica shard), 줄여서 리플리카라고 함

각 index는 여러개의 shard로 분할하고, 하나의 index는 replica를 1회 이상 생성할 수 있다.

복제되면 각index는 기본 shard와 replica shard 를 갖게 됨.

  • shard, replica수는 index 별로 생성 시 정의할 수 있다.
  • index 생성 후 shard 수는 변경 불가. replica는 가능

기본적으로 Elasticsearch의 각 색인은 기본 샤드 5개, 리플리카 1개를 가짐.

장점

  • 빠르다. 대기시간이 짧음.
  • 여러 컨테이너에 걸쳐 분산되어 처리.
  • 광범위한 기능 세트와 함께 제공
  • 데이터 수집, 시각화, 보고를 간소화

Reference

profile
romantic ai developer

0개의 댓글