ElasticSearch 와 그래프 데이터베이스 의 비교에 대한 웹에서 깊은 설명을 찾지 못했습니다 .
둘 다 데이터를 트래버스하도록 최적화되어 있습니다.
ElasticSearch는 분석에 최적화 된 것 같습니다.
그러나 Neo4j는 Lucene을 기반으로 인덱스 및 일부 전체 텍스트 기능을 관리합니다.
그래프 데이터베이스를 이미 사용하고 있는데 왜 ElasticSearch를 사용합니까?
제 경우에는 Neo4j 를 사용하여 소셜 네트워크를 구축하고 있습니다.
ElasticSearch는 어떤 실질적인 이점을 제공합니까?
업데이트 ----------
방금이 단락을 찾았습니다.
elasticsearch가 유용한 수많은 경우가 있습니다. 일부 사용 사례는 다른 사용 사례보다 명확하게 요구합니다. 다음은 elasticsearch가 특히 적합한 몇 가지 작업입니다.
- 특정 문구 (예 : "chef 's knife")와 가장 일치하는 많은 제품 설명 검색 및 최상의 결과 반환
- 앞의 예에서 "chef 's knife"가 나타나는 여러 부서를 분류합니다 (이 책의 후반부 참조).
- "시즌"처럼 들리는 단어에 대한 텍스트 검색
- 맞춤법이 틀린 부분을 고려하면서 이전에 발행 된 검색을 기반으로 부분 입력 된 단어를 기반으로 검색 창 자동 완성
- 머신 클러스터 전체에 지정된 수준의 중복성을 사용하여 대량의 반 구조적 (JSON) 데이터를 분산 방식으로 저장
그러나 elasticsearch는 위에서 언급 한 문제를 해결하는 데 뛰어나지 만 다른 사람들에게는 최선의 선택이 아니라는 점에 유의해야합니다. 관계형 데이터베이스가 최적화되는 문제를 해결하는 데 특히 나쁩니다. 아래와 같은 문제가 있습니다.
- 재고에 남아있는 품목 수 계산
- 주어진 달에 발송 된 모든 송장에 대한 모든 품목의 합계를 계산합니다.
- 롤백 지원으로 트랜잭션 두 작업을 트랜잭션으로 실행
- 전화 번호 및 내선 번호와 같이 여러 가지 용어간에 고유 한 레코드 만들기
- Elasticsearch는 일반적으로 품질로 결과를 채점하는 것과 같은 데이터의 대략적인 답변을 제공하는 데 환상적입니다. elasticsearch는 정확한 일치 및 통계 계산을 수행 할 수 있지만 검색의 기본 작업은 본질적으로 대략적인 작업입니다.
- 근사값을 찾는 것은 탄력적 검색을보다 전통적인 데이터베이스와 분리하는 속성입니다. 즉, 기존 관계형 데이터베이스는 정확성과 데이터 무결성이 뛰어나며 elasticsearch와 Lucene은 거의 제공하지 않습니다.
대략적인 답변이 필요하지 않은 경우 ElasticSearch는 이미 사용 된 그래프 데이터베이스와 비교하여 쓸모가 없다고 주장 할 수 있습니까?