Solr

사이즈가 큰 데이터 검색에 용이에 문서 검색에 적합하나 색인주기가 느림 (주로 문서검색용)

ElasticSearch

사이즈가 작은 데이터에 대한 속성검색/연관검색/실시간 검색에 용이함 (주요 커머스검색용)




Solr search ( 쏠라 ) Elasticsearch ( 엘라스틱 )
개발사 Apache Software Foundation Elasticsearch
노드 1)  컨트롤 주체 Apache ZooKeeper (별도 프로그램) -> 구동 시 리소스 부하  운영 중 스키마 변경 불가 자체 Node (마스터노드) -> 구동 시 부하 적음  운영 중 스키마 변경 가능
샤드 2)  변경 방식 별도의 노드 분할 처리 필요(서버 재구동 필요) 자동 노드 분할(서버 구동 불필요)
색인업데이트 방식 전체 데이터를 캐시로 추가 저장 변경 데이터만 캐시로 추가 저장
개발언어 JSON (limited), XML (limited),URL parameters JSON
연동가능 분석모듈 (ECOsystem) 주로 Banana, Zeppelin with Community JSon 지원 모듈이면 OK(ex. Kibana, Grafana 등)
주요 활용영역 문서  원문 검색 상품검색  이상징후 감지 & 모니터링
속도 검색 느림 빠름
색인 수 십분 초 단위
분석 준실시간 실시간
장점 •안정화 단계의 검색•사이즈가 큰 장문 데이터 검색에 용이 •실시간 색인 가능•계층 구조의 다양한 속성 검색/연관검색 가능
단점 •색인 주기 느림•계층 구조의 속성 검색 힘듦 •사이즈가 큰 장문 데이터 검색 시 속도 저하


주1) 노드(Node) : 분산처리 구조 상 서버와 유사한 개념의 구분 단위

주2) 샤드(Shard) : 분산구조 상 인덱스 단위로서 단일 노드엔 여러 개의 샤드가 존재

+ Recent posts