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) : 분산구조 상 인덱스 단위로서 단일 노드엔 여러 개의 샤드가 존재
'IT-기타(미분류)' 카테고리의 다른 글
10가지 소프트웨어 아키텍처 패턴 요약 (0) | 2020.01.28 |
---|---|
Lucene(루씬)/Solr(솔라)/Nutch(넛츠) (0) | 2018.10.30 |
딥러닝, 머신러닝의 차이점? (0) | 2018.10.30 |