[Elasticsearch] 엘라스틱 특징

ehwnghks·2022년 8월 11일
0

elasticsearch

목록 보기
2/9

Elasticsearch 란?

정형 및 비정형 데이터를 위한 오픈소스 검색엔진

특징

  • 오픈소스 검색엔진
    • 아파치 재단의 루씬(Lucene)을 기반으로 개발된 오프소스 검색 엔진.
    • 오픈소스의 장점인,
      • 셀수없는 수많은 사용자가 있고, 또한 버그가 발생하면, 대부분 빠르게 해결됨.
  • 전문검색(Full Text) 지원
    • 대부분의 데이터베이스는 기본 쿼리 및 색인 구조의 한계로 인해 기본적인 텍스트 검색 기능만 제공함.
      • but 엘라스틱서치는 고차원적인 전문 검색(Full Text)이 가능함.
    • 전문 검색이란?
      • 내용 전체를 색인해서 특정 단어가 포함된 문서를 검색하는 것을 말함.
        • 즉, 전문검색은, 관계형 데이터 베이스에는 적합하지 못함.
        • but, 엘라스틱서치는 다양한 기능별, 언어별 플로그린을 조합해 빠르게 검색가능함.
  • 통계분석
    • 비정형 로그 데이터를 수집 후,
      • 한곳에 모아 통계분석을 할 수 있음.
    • 엘리스틱 서치 와 키바나(Kibana)의 조합으로 실시간으로 쌓이는 로그를 시각화하고 분석 가능함.
  • 스키마 리스(Schema-less)
    • 데이터베이스는 스키마라는 구조에 따라 데이터를 적합한 형태로 변경 후 저장하고 관리함.
    • but, 엘라스틱 서치는 정형화 되지 않은 다양한 형태의 문서도 자동으로 색인 및 검색 가능함.
  • RESTful API 지원
    • HTTP 기반 의 RESTful API를 지원하고, 요청/응답에도 JSON 형식을 사용함.
  • 멀티-테넌시(Multi-Tenancy) 기능 제공
    • 서로 상이한 인덱스일지라도 검색할 필드명만 같으면, 여러개의 인덱스를 한번에 조회 가능함.
      • 즉, Multi-tenancy 기능 제공함.
  • 도규먼트 오리엔티드(Document-Oriented)
    • 여러 계층의 데이터를 JSON 형식의 구조화된 문서로 인덱스에 저장가능함.
  • 역색인(Inverted Index)
    • 루씬기반의 검색 엔진으로써, 역색인(Inverted Index)을 지원 가능함.
      • but, 요즘 많이 사용하는 MongoDB, Cassandra 같은 일반적인 NoSQL은 역색인을 지원하지 않음.
      • 즉, 다른 NoSQL 과 차별화되는 큰 장점을 보유했다고 말할 수 있음.
  • 확장성과 가용성지원
    • 엘라스틱 서치를 분산 구성해서 확장하면, 대량의 문서를 좀 더 효율적으로 처리할 수 있음.
      • 분산 환경에서 데이터는 보통 샤드(Shard) 라는 작은 단위로 나뉘어 제공됨.
      • 그리고, 엘라스틱 서치는, 인덱스를 만들 때마다 해당 샤드의 수를 조절할 수 있음.
        • 즉,이를 통해서 데이터의 종류와 성격에 따라 데이터를 분산해서 빠르게 처리하는것이 가능함.

단점

조인불가

  • 트랜잭션 및 롤백이 제공되지 않는다.
  • 실시간 처리가 불가능하다. (색인된 데이터가 1초 뒤에나 검색이 가능하다.)
  • 진정한 의미의 업데이트를 지원하지 않는다. (물론 있지만, 삭제했다가 다시 만드는 형태
profile
반갑습니다.

0개의 댓글