집계 실습을 해볼 수 있어 좋았다. 다양한 조건과 항목으로 집계가 가능하다. 관계형 데이터베이스에서 집계 쿼리를 작성해본 적은 없지만, 여러개의 테이블을 사용할 경우 문법상 고려할 부분들이 많을 것 같은데 json 형식으로 api를 통해 집계가 이루어지다 보니 문법이 좀 더 간단하게 느껴졌다. 또한, 속도도 더 빠르게 이루어 질 수 있어 보였다.
집계와 관련된 이야기를 하면서 R작업은 빠르지만 CUD 작업은 엘라스틱서치에서 부하가 발생하는 작업이다. 따라서 Read 목적으로만 엘라스틱서치를 사용하는 것이 유용해보였다. 실제 데이터는 RDB에 넣어두고 일정 주기로 인덱싱하여 엘라스틱 서치에 넣어주는 방식으로 진행할 수 있다.
오차 가능성을 고려하여 조정해야할 값들이 있어 오차 가능성이 꽤 있어 보였다. 따라서 정확한 통계나 집계를 해야할 항목보다는 약간의 오차가 있어도 괜찮은 부분들에 있어 집계를 해야 유용할 것 같다는 생각이 들었다. 상품추천이나 검색어 추천 등에 사용하면 유용할 듯 싶었다.
cardinality 집계 사용시 precision_threshold 값이 카디널리티의 실게 결과보다 크게 잡아야하는 이유에 대해 이야기하다가 HiperLogLog 내용까지 약간 보게 되었는데, 정확하게 이해하기는 어려웠지만 precision_threshold와 메모리는 연관이 꽤 있어보였다. 따라서 precision_threshold 값이 크면 메모리 사용량도 높아지고 정확해지지만 성능상 부하가 있을 수 있다. ( 참고링크1(naver D2), 참고링크2(블로그) )