eager global ordinal
-
elasticseaarch eager global ordinal를 사용해 퍼포먼스를 올려보자elasticsearch 2021. 2. 20. 13:19
문자열 fielddata의 메모리 사용을 줄이는 기술중 하나가 ordinal이다 cardinality가 작은 status필드 가진 10억개의 문서가 있다고 생각해보자 status_deleted, status_pending, status_published라는 세가지 상태 값이 있고 10억개면 이 전체를 메모리에 유지하기 위해서는 1나당 14 ~ 16 바이트가 필요하며 전체 데이터로는 약 15gb가 필요하다 이처럼 비싼 비용을 들이는 대신 세개의 교유 한 문자열을 식별, 정렬해서 번호를 매긴다 0, 1, 2 이처럼 하게 되면 아래와 같이 메모리 사용량이 15gb에서 1gb미만으로 줄게 된다 문자열 보단 숫자가 용량을 훨씬 더 적게 먹기 때문이고 비교 연산, 네트워크 등등에서 많은 이점을 가지고 갈 수 있게 ..