docvalue
-
elasticsearch storefield and docvalues and _source 비교elasticsearch 2021. 4. 26. 21:40
store field와 docvalues가 각각 어떻게 저장되는지 알아보고 퍼포먼스가 어떻게 될지 확인해본다 store field는 검색하기 위해 사용되는 필드이다 https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-store.html#mapping-store store | Elasticsearch Guide [7.12] | Elastic Stored fields returned as arrays For consistency, stored fields are always returned as an array because there is no way of knowing if the original field value was a..
-
elasticsearch sprase docvalueelasticsearch 2021. 4. 13. 20:22
docvalue에 대한 기본 개념은 아래 링크를 참고하자 ksk-developer.tistory.com/29 Elasticsearch(with lucene) DocValue 에 대해서 알아보자 루씬은 검색을 효율적으로 하기위해 역색인 구조로 저장하는데 검색 시에는 유리한 구조이지만 정렬, 집계일 경우에는 그렇지 않다 그래서 그것을 보안하기 위해 DocValues란 구조를 사용한다 루 ksk-developer.tistory.com 조금 더 왜 사용하는지 알고 싶다면 아래 링크까지 참고하자 ksk-developer.tistory.com/30 컬럼 기반 저장소 와 행 기반 저장소 컬럼 기반 저장소에 대해서 알지 못했는데 es에서 field_datta, doc_value에 대해서 알아보다 컬럼 기반 저장소를 사..
-
컬럼 기반 저장소 와 행 기반 저장소elasticsearch 2021. 3. 3. 22:10
컬럼 기반 저장소에 대해서 알지 못했는데 es에서 field_datta, doc_value에 대해서 알아보다 컬럼 기반 저장소를 사용한다고 해서 찾아보고 정리, 번역하였다 rdbms 저장구조 행 기반 database에서 행 값은 대게 연속적으로 저장된다 행 헤더는 레코드 길이, null bit 등등 포함하고 있다 좀 더 디테일하게 보면 테이블 데이터 파일을 봤을 때 아래와 같이 이루어져 있다 실제 행 값은 값 구조의 특정 오프셋을 저장한다 오프셋은 컬럼 타입에 의존한다 특정 행를 읽기 위해 그 첫번째 위치를 알아야 하는데 행에 존재하는 필드들이 고정 길이를 가지고 있으면 이것은 매우 쉽다 그러나 아래 이미지와 같이 varchar와 같은 가변적인 길이라면 쉽지 않다 고정적인 길이가 아닌 가변적인 길이 때문..
-
Elasticsearch(with lucene) DocValue 에 대해서 알아보자elasticsearch 2021. 2. 27. 14:09
루씬은 검색을 효율적으로 하기위해 역색인 구조로 저장하는데 검색 시에는 유리한 구조이지만 정렬, 집계일 경우에는 그렇지 않다 그래서 그것을 보안하기 위해 DocValues란 구조를 사용한다 루씬은 4.0부터 컬럼 기반인 DocValues라는 개념을 도입했다 DocValues는 메모리를 효율적으로 사용하기 위해 jvm heap 메모리가 아닌 운영체제 os의 파일 시스템 캐시를 사용해 색인 시 디스크를, 검색시 시스템 캐시를 이용하는 디스크 기반 데이터 구조이다 즉 컬럼 기반의 구조를 채택해 힙 메모리 사용에 영향을 주지 않으며 힙 메모리를 사용하는 것과 같은 성능을 낸다 참고로 엘라스틱서치에서는 JVM 힙 메모리를 fielddata(uninverted)라고 부르는 특별한 구조로 사용 한다. 또한 JVM의 ..