본문 바로가기

인프라

ElasticSearch란?

728x90

Apache lucene기반의 검색 및 분석 엔진

  • 로그분석
  • 전체 텍스트 검색
  • 보안 인텔리전스
  • 비즈니스 분석
  • 운영 인텔리전스 사용

ELK(ElasticSearch / Logstash/ kibana) 스택으로 사용되기도 함

  • logstash
    • 다양한 소스의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 ElasticSearch에 전달
  • ElasticSearch
    • logstash로 부터 받은 데이터를 검색 및 집계하여 원하는 정보 획득
  • Kibana
    • Elasticsearch의 빠른 검색을 통해 데이터를 시각화 및 모니터링

즉, 방대한 데이터를 거의 실시간으로 저장, 검색, 분석 가능

대부분 rdbs와 비슷하여 사용하는 용어는 조금 낯설지만 몇번 해보면 금방 쉽게 다룰 수 있음

 

 

Elasticsearch는 왜 검색이 빠를까??

  • 역색인 때문

 

색인(index)는 책에서 목차라면,

역 색인(inverted index)은 책 맨 마지막에 키워드로 페이지를 찾는 느낌

즉, elasticsearch는 텍스트를 파싱해서 검색어 사전을 만들고, 다음에 역색인 방식으로 텍스트를 저장

 

예를 들어, 만약 문장이 있다면, 이 문장을 파싱 각 단어들을 저장하고, 이 단어들에 대해 대문자를 소문자로하는 등의

처리를 수행하며 텍스트로 저장

이러한 이유 때문에, rdbs의 full text search보다 빠름

728x90

'인프라' 카테고리의 다른 글

마이크로 V.S. 모놀리식 서비스  (0) 2024.03.30
쿠버네티스 노드 란?  (0) 2024.03.29
카프카 (KAFKA)란 무엇인가?  (0) 2024.03.25
캐시가 db보다 빠른 이유  (0) 2024.03.14
Redis란?  (0) 2024.03.13