본문 바로가기
개발/Elastic Search

장점과 단점

by BellOne4222 2024. 1. 31.

장점

  1. 오픈소스 검색엔진이다. 활발한 오픈소스 커뮤니티가 ES를 끊임없이 개선하고 발전시키고 있다.
  2. 전문검색 : 내용 전체를 색인해서 특정 단어가 포함된 문서를 검색할 수 있다. 기능별, 언어별 플러그인을 적용할 수 있다.
  3. 통계 분석 : 비정형 로그 데이터를 수집하여 통계 분석에 활용할 수 있다. Kibana를 연결하면 실시간으로 로그를 분석하고 시각화할 수 있다.
  4. Schemaless : 정형화되지 않은 문서도 자동으로 색인하고 검색할 수 있다.
  5. RESTful API : HTTP기반의 RESTful를 활용하고 요청/응답에 JSON을 사용해 개발 언어, 운영체제, 시스템에 관계없이 다양한 플랫폼에서 활용이 가능하다.
  6. Multi-tenancy : 서로 상이한 인덱스일지라도 검색할 필드명만 같으면 여러 인덱스를 한번에 조회할 수 있다.
  7. Document-Oriented : 여러 계층 구조의 문서로 저장이 가능하며, 계층 구조로된 문서도 한번의 쿼리로 쉽게 조회할 수 있다.
  8. 역색인(Inverted Index)
  9. 확장성 : 분산 구성이 가능하다. 분산 환경에서 데이터는 shard라는 단위로 나뉜다.

 

단점

  1. 완전 실시간은 아니다. 색인된 데이터는 1초 뒤에나 검색이 가능하다. 내부적으로 commit과 flush같은 복잡한 과정을 거치기 때문.
  2. Transaction Rollback을 지원하지 않는다. 전체적인 클러스터의 성능 향상을 위해 시스템적으로 비용 소모가 큰 롤백과 트랜잭션을 지원하지 않는다. 조심하자..
  3. 데이터의 업데이트를 제공하지 않는다. 업데이트 명령이 올 경우 기존 문서를 삭제하고 새로운 문서를 생성한다. 업데이트에 비해서 많은 비용이 들지만 이를 통해 불변성(Immutable)이라는 이점을 취한다.

'개발 > Elastic Search' 카테고리의 다른 글

Node Types  (0) 2024.02.01
기본 용어  (1) 2024.01.31
특징  (0) 2024.01.31
역색인  (0) 2024.01.31
Elastic Search란?  (0) 2024.01.31