Elasticsearch

[Elasticsearch] Elasticsearch 데이터 구조

데이터 세상 2022. 1. 15. 14:36

Elasticsearch 데이터 구조

Elasticsearch 데이터 구조

Elasicsearch와 RDBMS 비교

ElasticSearch RDBMS
index Database
Shard Partition
Type Table
Document Row
Field Column
Mapping Schema
Query DSL SQL

 

Index

데이터 저장 공간

하나의 인덱스는 하나의 타입만 가지며 하나의 물리적인 노드에 여러 개의 물리적인 인덱스를 생성할 수 있다.

검색 시 인덱스 이름으로 문서 데이터를 검색하며, 여러 개의 인덱스를 동시에 검색하는 것도 가능하다.

인덱스 생성시 기본적으로 5개의 primary shard와 1개의 replica shard 세트를 생성한다.

인덱스의 이름은 모두 소문자여야 하며 추가, 수정, 삭제, 검색은 RESTFul API로 수행할 수 있다.

 

샤드(Shard)

색인된 문서는 하나의 인덱스에 담긴다. 

색인된 데이터는 물리적인 공간에 여러 개의 파티션으로 나뉘어 구성되는데, 이 파티션을 shard라도 부른다.

다수의 샤드로 문서를 분산 저장하고 있어 데이터 손실 위험을 최소화할 수 있다.

 

Type

인덱스의 논리적 구조를 의미

Elasticsearch 6.1버전부터는 인덱스당 하나의 타입만 사용할 수 있다.

 

Document

Elasticsearch에서 데이터가 저장되는 최소 단위

기본적으로 JSON 포맷으로 데이터가 저장된다.

문서는 중첩 구조를 지원하기 때문에 문서 안엥 문서를 지정하는 것도 가능하다.

 

Field

문서를 구성하기 위한 속성

하나의 필드는 목적에 따라 다수의 데이터 타입을 가질 수 있다.

 

Mapping

문서의 필드와 필드의 속성을 정의하고 그에 따른 색인 방법을 정의하는 프로세스

인덱스의 매핑 정보에는 여러 가지 데이터 타입을 지정할 수 있지만 필드명은 중복해서 사용할 수 없다.


References

 

 

반응형