반응형
Elasticsearch
정의
- 아파치 루씬 기반의 JAVA 오픈소스 분산 검색 엔진이다.
- Elasticsearch 는 ELK(Elasticsearch/Logstatsh/Kibana) Stack으로서 사용되기도 한다.
다른 RDB보다 빠른이유
- 기존
RDBMS
와 데이터를 저장하는 방식이 다르다 - 예시 : 각
value(Text)
들이 포함된 document들을 나열되어있다 - 위의 정보를 RDBMS 와 Elasticsearch에 저장
- elasticsearch는 text 정보를 빠르게 찾을 수 있게 키워드를 넣어준다.
- RDBMS : 모든 정보를 doc단위로 저장하므로 john이나, database와 같은 keyword를 찾으려면 fullscan해야한다.
- Elasticsearch : 키워드 별로 정보를 json형태로 저장 하기 때문에 빠르게 찾을 수 있음
Elasticsearch의 자료 구조
논리적 구조
- Document
- elasticsearch의 데이터 최소 단위
- RDB의 row와 비슷
- Json object 하나를 저장
- 주첩 구조를 지원 -> Document안에 Document가 들어갈 수 있음
- Type
- 여러개의 Document가 모여서 만들어지는 자료형
- RDB의 table과 비슷
- Elasticsearch 7부터는 사라진 자료형
3, Field
- Document에 들어가는 데이터 타입으로 RDBMS의 column과 비슷
- RDBMS보다 동적이다.
- 하나의 Field 안에 어려개의 데이터 타입을 가질 수 있음
- Index
- 여러개의 Type들이 하나의 Index를 구성
- Elasticsearch 6부터는 하나의 Index에 하나의 Type만 설정 가능
RDB와 Elasticsearch와의 구조 관계
Elastic Search | RDB |
---|---|
Index | Database |
Type | Table |
Document | Row |
Field | Column |
Mapping | Schema |
쿼리 조회 방식
Elastic Search | RDB |
---|---|
GET | SELECT |
PUT | UPDATE |
POST | INSERT |
DELETE | DELETE |
반응형
'Elasticsearch > 간단한 실습' 카테고리의 다른 글
03. Aggregation (0) | 2021.05.23 |
---|---|
02. REST API를 사용하기 (0) | 2021.05.20 |