본문 바로가기
Elasticsearch/간단한 실습

01. Elasticsearch 기본 개념 정리

by clearinging 2021. 5. 20.
반응형

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의 자료 구조

논리적 구조

  1. Document
  • elasticsearch의 데이터 최소 단위
  • RDB의 row와 비슷
  • Json object 하나를 저장
  • 주첩 구조를 지원 -> Document안에 Document가 들어갈 수 있음
  1. Type
  • 여러개의 Document가 모여서 만들어지는 자료형
  • RDB의 table과 비슷
  • Elasticsearch 7부터는 사라진 자료형

3, Field

  • Document에 들어가는 데이터 타입으로 RDBMS의 column과 비슷
  • RDBMS보다 동적이다.
  • 하나의 Field 안에 어려개의 데이터 타입을 가질 수 있음
  1. 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