집계 연산 정확도/근차치

일부 집계 연산의 경우 성능 이슈가 있어서 근사치를 기반으로 집계를 하는 경우가 있다. 아래는 근사값을 이용하여 집계되는 연산이다

분산 집계

엘라스틱서치는 루씬에서 제공해주는 그룹핑 기술인 Facet API를 사용하지 않는다.

집계 연산이 들어올 경우 각 샤드 내에서 1차적으로 집계 작업을 수행하고 중간 결과를 모두 취합하여 최종 결과를 만들어 제공한다.

일반 메트릭 집계의 경우 각 샤드에서 중간 집계 결과값만 코디네이터로 보내면 되지만, 카디널리티 집계의 경우 중복을 제거한 데이터 자체를 코디네이터로 전달해야한다. 그래서 카디널리티 집계의 경우 일반 메트릭 집계에 비해 네트워크 사용량이 많다. 또한 메모리에 데이터를 올려서 데이터를 처리 하기 때문에 메모리 사용량도 데이터 크기에 비례한다.

다음은 트레이드오프 유형이다.

(1) 분산환경을 포기

(2) 실시간성을 포기

(3) 정확도를 포기