반응형
엘라스틱서치는 REST API를 이용한 http 통신을 통해서 데이터를 처리합니다. 그렇기 때문에 http 메소드인 PUT/POST/GET/DELETE를 이용해서 문서를 입력, 조회, 삭제할 수 있습니다. 그래서 API를 호출할 때 다른 HTTP 클라이언트를 사용해도 가능합니다.
HTTP | CRUD | SQL |
GET | Read | Select |
PUT | Update | Update |
POST | Create | Insert |
DELETE | Delete | Delete |
Relational DB | Elasticsearch |
데이터베이스(DB) | 타입(Type) |
테이블(Table) | 인덱스(Index) |
열(Row) | 문서(Document) |
행(Column) | 필드(Field) |
스키마(Schema) | 매핑(Mapping) |
엘라스틱서치의 단위
클러스터 Cluster
- 엘라스틱 서치 시스템의 가장 큰 단위
- 연관이 있는 node의 묶음
- 각 클러스터는 독립적이나 보통 하나면 충분
- node를 생성하면 클러스터는 자동생성 혹은 이미 존재하는 클러스터에 귀속
- node는 항상 클러스터에 귀속되어야 한다
- 클러스터 하나에 노드 하나도 존재 가능하나 유효성과 확장성에 문제가 생김
- 무한으로 확장 가능 -> 확장성 Scalability
노드 Node
- 데이터를 저장하는 엘라스틱 서치의 인스턴스
- 원하는 만큼 생성 가능하고 데이터를 각각 저장할 수 있음
- 각각의 node는 데이터의 부분들을 저장 -> 이런 방식으로 가상머신이나 하드웨어에 저장함으로써 데이터를 원하는만큼 용량 크기에 상관없이 저장 가능
- node를 각각 다른 환경에서 구현 가능: 컨테이너, 가상머신, 하드웨어에 저장
- master node: 클러스터 안의 노드 중 하나가 대표로 master node가 될 수 있음
- master node는 index를 생성하고 삭제할 수 있음
- 후보 node들 중 하나가 투표로 선정됨
- 클러스터의 사이즈가 커질수록 master node의 중요도가 커짐 -> 클러스터의 안정화
- data role:데이터를 저장하는 node
- 데이터의 저장은 곧 쿼리
- 소-중 사이즈의 클러스터에서는 꼭 필요함
- data role이 활성화 되어있지 않으면 node는 shard를 저장하지 않음
- 클러스터의 사이즈가 커지면 master node 권장
- CRUD, 검색, 집합(aggregation)에 관련된 데이터를 다룸
- ingest node (흡수)
- Ingest pipeline을 문서에 적용할 수 있게함
- ingest pipeline: 문서 document를 인덱싱 할 때 진행되는 일련의 과정(=프로세서)
- ingest란? document를 index에 넣는 것
- Ingest pipeline을 문서에 적용할 수 있게함
- Tribe node
- tribe를 통해 구성되는 노드
- master node: 클러스터 안의 노드 중 하나가 대표로 master node가 될 수 있음
인덱스 Indices
- 데이터를 저장 및 색인 Index 하는 곳
- 인덱스는 여러 노드에 분산되어 저장, 관리 -> 분산 처리의 장점
- document는 index 안에 저장
- 비슷한 특성의 로직끼리 묶인 document의 묶음
- index는 저장 수 제한 없음
- 검색 쿼리는 index 기반으로 한다
샤드 Shard
- Index를 작은 단위로 분할한 단위
- index가 저장할 수 있는 document의 수를 늘려줌
- 독립적임, 각각 완전한 기능을 함
- 정해진 사이즈가 없음
- 기본값으로 index는 하나의 shard를 가짐
- 인덱스 사이즈가 증가할 경우 여러개의 물리서버에 나누어 보관하기 위해 여러개의 샤드로 구성함
- index 생성 후에 shard 갯수를 바꿀 수 없음
- index 생성 시에만 shard 갯수 지정 가능
복제 Replication
- 데이터가 저장된 하드드라이브는 데이터의 유실 가능성이 있음
- 엘라스틱서치는 결함 내성을 위한 복제 체계를 가지고 있음 (Replica)
- Fault Tolerance 결함 내성: 시스템의 결함이 고장로 이어지지 않게 해줌
- Shard의 카피 = Replica shard
- 오리지널 shard = primary shard
- 복제 shard는 primary shard와 같은 공간에 존재하지 않음 = 유실 최소화의 목적
문서 Document
- 데이터 유닛
- JSON File
반응형
'Elastic Search' 카테고리의 다른 글
엘라스틱서치 시작하기 (0) | 2020.04.14 |
---|---|
엘라스틱 서치 Elastic Search 기초 및 다운로드 (Win ver.) (0) | 2020.04.08 |