BaeBox

ElasticSearch 구조 및 데이터 구조. 본문

개발 관련/DB

ElasticSearch 구조 및 데이터 구조.

배모씨. 2019. 11. 3. 20:40
반응형

ElasticSearch 는 Cluster 구조를 가진다.

분산형 Application 아래 글을 보자.

https://bae-codebox.tistory.com/64?category=851145

 

분산 어플리케이션(Distributed app/system)

* 아래 글을 참고하자. https://www.slideshare.net/sunnykwak90/apache-zoo-keeper * Distributed applications (distributed apps) are applications or software that runs on multiple computers within a net..

bae-codebox.tistory.com

지금 읽어보니까 엄청 별로다 

간단히 설명해 보자면, 컴퓨터 여러대로 Application 하나를 돌리겠다는 뜻이다.

그리고, 클러스터 내부의 각각의 서버는 Node 라고 부른다. 

 


Node 는 두 종류로 나뉜다.

  • Master Node
  • Data Node

Master Node 와 Data Node 는 사용자가 직접 지정할 수 있다. 아마 default로는 Raft 알고리즘을 기본으로 지정하지 않을까 한다.

각 Node는 사용자가 지정한 만큼의 Shard 를 가지게 된다.

따로 지정하지 않았다면 default 5 를 가진다.

Shard 도 두 종류로 나눌 수 있다.

  • Primary Shard : Write, Read
  • Replica : Read

ElasticSearch 내부의 데이터를 업데이트 요청을 날릴 때는 반드시 primary shard 에 요청을 하게 되고, 해당 내용이 replica 에 복사되게 된다.

 

아래 이미지는 Google 의 플러그인 중 하나인 elasticsearch  head이다.  해당 플러그인을 사용하면 elasticsearch 를 직관적으로 관리할 수 있다.

elasticsearch head (출처 : elasticsearch head 공식 플러그인)

  • 좌측의 칼럼 (Leon, Pris, Rick ...) 은  Node 
  • 상단 칼럼 (cu_docs, bnvil, cu_msg ...) 은 Index 를 나타낸다. 
  • 중앙의 녹색 사각형은 Shard 를 나타낸다. 

* Shard의 번호(녹색 사각형 안의 숫자)와 Index 가 같다면 완벽하게 같은 데이터를 공유한다.

(0, 0), (1, 1). 다른 Index 내의 Shard 들도 마찬가지다.

 

요약 : Cluster ⊃ Node ⊃ Shard


https://nesoy.github.io/articles/2019-01/ElasticSearch-System-Architecture

 

Elastic Search 시스템 구조

 

nesoy.github.io

https://victorydntmd.tistory.com/311?category=742451

 

[Elasticsearch] 입문하기(1) - Cluster( 클러스터 )

서론 제가 처음 Elasticsearch( ES )를 공부할 때 어려웠던 것은 용어에 대한 낯섦, 방대한 API와 ES 아키텍쳐였습니다. 용어가 낯선 것이야 익숙해질텐데, 방대한 API 속에서 뭐부터 알아야 할지, 검색으로 아키..

victorydntmd.tistory.com

https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm

 

ElasticSearch Head

ElasticSearch Head

chrome.google.com

 

반응형

'개발 관련 > DB' 카테고리의 다른 글

ElasticSearch - 설치  (0) 2019.11.03
ElasticSearch - CRUD  (0) 2019.11.03
ElasticSearch 데이터 구조(vs Mysql)  (0) 2019.11.03
ElasticSearch  (0) 2019.11.03
Elastic Cluster 기본 지식  (0) 2019.11.03
Comments