"샤드"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
1번째 줄: 1번째 줄:
데이터베이스 샤드(database shard)는 데이터베이스나 웹 검색 엔진의 데이터의 수평 분할이다. 개개의 파티션은 샤드(shard) 또는 데이터베이스 샤드(database shard)로 부른다. 각 샤드는 개개의 데이터베이스 서버 인스턴스에서 부하 분산을 위해 보유하고 있다.
+
샤드란 샤딩을 통해 나누어진 블록들의 구간 (혹은 Epoch)을 ‘샤드’라고 부릅니다.
데이터베이스 내의 일부 데이터는 모든 샤드에 존재하지만[notes 1] 일부는 하나의 샤드에만 존재한다. 각 샤드(또는 서버)는 이 데이터 부분을 위해 "하나"소스로서 동작한다.
+
샤드는 지분 증명과 관련이있는 것이 아니라 확장 성 개선과 관련된 개념입니다. '샤딩'의 아이디어는 가능한 계정 (계약도 계정)의 공간을 숫자 주소의 첫 번째 숫자를 기준으로 하위 공간으로 분할하는 것입니다.
==활용==
 
색인은 방대한 양의 데이터를 저장할 수 있는데, 이 데이터가 단일 노드의 하드웨어 한도를 초과할 수도 있습니다. 예를 들어 10억 개의 문서로 구성된 하나의 색인에 1TB의 디스크 공간이 필요할 경우, 단일 노드의 디스크에서 수용하지 못하거나 단일 노드에서 검색 요청 처리 시 속도가 너무 느려질 수 있습니다.
 
  
Elasticsearch는 이러한 문제를 해결하고자 색인을 이른바 샤드(shard)라는 조각으로 분할하는 기능을 제공합니다. 색인을 생성할 때 원하는 샤드 수를 간단히 정의할 수 있습니다. 각 샤드는 그 자체가 온전한 기능을 가진 독립적인 "색인"이며, 클러스터의 어떤 노드에서도 호스팅할 수 있습니다.
 
  
샤딩은 무엇보다도 2가지 이유로 중요합니다.
 
  
콘텐츠 볼륨의 수평 분할/확장이 가능해집니다.
+
==특징==
작업을 (어쩌면 여러 노드에 위치한) 여러 샤드에 분산 배치하고 병렬화함으로써 성능/처리량을 늘릴 수 있습니다.
+
*각 샤드는 고유 한 유효성 검사기 집합을 얻으므로 (따라서 PoS는 필수 구성 요소 임) 이러한 유효성 검사기는 일반적으로 모든 샤드의 유효성을 검사 할 필요는 없습니다.
샤드가 분산 배치되는 방식 및 그 문서가 다시 검색 요청으로 집계되는 방식의 메커니즘은 모두 Elasticsearch에서 관리하며 사용자에게는 투명하게 이루어집니다.
+
*동일한 샤드 내 계정 간의 메시지 (트랜잭션)는 오늘날과 같은 방식으로 작동합니다.
 
+
*여러 샤드를 통해 통신하고자하는 계약은 거래 수령 개념에 따라 특별한 기술을 사용해야합니다. 계약을 직접 호출하고 영수증을 확인하는 것의 중요한 차이점은 직접 전화를하려면 호출하는 계약 코드를 실행해야하지만 영수증을 확인하려면 다른 방법으로는 영수증을 만들 없다는 것만 확인하면됩니다. 원하는 거래보다.
언제든 오류가 일어날 가능성이 있는 네트워크/클라우드 환경에서는 어떤 이유에서든 샤드/노드가 오프라인 상태가 되거나 사라지게 될 경우에 대비하여 페일오버 메커니즘을 마련하는 것이 매우 유익하고 바람직합니다. 이러한 취지에서 Elasticsearch에서는 색인의 샤드에 대해 하나 이상의 복사본을 생성할 수 있는데, 이를 리플리카 샤드(replica shard), 줄여서 리플리카라고 합니다.
+
*샤딩은 네트워크의 모든 노드가 모든 트랜잭션을 실행하지 않아도되기 때문에 Ethereum을 확장 할 수 있습니다..
 
 
이처럼 리플리카를 만드는 복제는 무엇보다도 2가지 이유로 중요합니다.
 
 
 
샤드/노드 오류가 발생하더라도 고가용성을 제공합니다. 따라서 리플리카 샤드는 그 원본인 기본 샤드와 동일한 노드에 배정되지 않습니다.
 
모든 리플리카에서 병렬 방식으로 검색을 실행할 수 있으므로 검색 볼륨/처리량을 확장할 수 있습니다.
 
요약하자면 각 색인은 여러 개의 샤드로 분할할 수 있습니다. 또한 하나의 색인은 복제하지 않거나(리플리카 없음) 1회 이상 복제할 수 있습니다. 복제되면 각 색인은 기본 샤드(복제 원본 샤드)와 리플리카 샤드(기본 샤드의 복사본)를 갖습니다. 샤드 및 리플리카의 수는 색인별로, 색인 생성 시점에 정의할 있습니다. 색인이 생성된 다음 언제라도 탄력적으로 리플리카의 수를 변경할 수 있으나, 샤드 수는 사후 변경이 불가합니다.
 
 
 
기본적으로 Elasticsearch의 각 색인은 기본 샤드 5개, 리플리카 1개를 갖습니다. 따라서 클러스터에 최소한 2개의 노드가 있다면 색인은 기본 샤드 5개, 리플리카 샤드 5개(완전한 리플리카 1개)를 가지므로 색인당 총 10개의 샤드가 존재하게 됩니다.
 
 
 
참고
 
각 Elasticsearch 샤드는 Lucene 색인입니다. 단일 Lucene 색인이 포함할 있는 문서 수의 최대 한도가 있습니다. LUCENE-5843에 따르면 2,147,483,519`개(= Integer.MAX_VALUE - 128)입니다. {ref}/cat-shards.html[`_cat/shards] API를 사용하여 샤드 크기를 모니터링할 수 있습니다.
 

2019년 8월 12일 (월) 11:13 판

샤드란 샤딩을 통해 나누어진 블록들의 구간 (혹은 Epoch)을 ‘샤드’라고 부릅니다. 샤드는 지분 증명과 관련이있는 것이 아니라 확장 성 개선과 관련된 개념입니다. '샤딩'의 아이디어는 가능한 계정 (계약도 계정)의 공간을 숫자 주소의 첫 번째 숫자를 기준으로 하위 공간으로 분할하는 것입니다.


특징

  • 각 샤드는 고유 한 유효성 검사기 집합을 얻으므로 (따라서 PoS는 필수 구성 요소 임) 이러한 유효성 검사기는 일반적으로 모든 샤드의 유효성을 검사 할 필요는 없습니다.
  • 동일한 샤드 내 계정 간의 메시지 (트랜잭션)는 오늘날과 같은 방식으로 작동합니다.
  • 여러 샤드를 통해 통신하고자하는 계약은 거래 수령 개념에 따라 특별한 기술을 사용해야합니다. 계약을 직접 호출하고 영수증을 확인하는 것의 중요한 차이점은 직접 전화를하려면 호출하는 계약 코드를 실행해야하지만 영수증을 확인하려면 다른 방법으로는 영수증을 만들 수 없다는 것만 확인하면됩니다. 원하는 거래보다.
  • 샤딩은 네트워크의 모든 노드가 모든 트랜잭션을 실행하지 않아도되기 때문에 Ethereum을 확장 할 수 있습니다..