의견.png

샤딩

위키원
Asadal (토론 | 기여)님의 2018년 12월 4일 (화) 01:52 판 (같이 보기)
이동: 둘러보기, 검색

샤딩(sharding)이란 하나의 거대한 데이터베이스네트워크 시스템을 여러 개의 작은 조각으로 나누어 분산 저장하여 관리하는 것을 말한다.

배경

샤딩은 블록체인 시스템의 확장성(scalability) 문제를 해결하기 위한 방법 중 하나이다. 확장성은 시간이 지남에 따라 생겨나는 변화를 받아들이는 능력이다.[1] 시간이 지남에 따라 블록체인 기반 서비스는 대체로 사용자 수가 증가하기 때문에, 확장성 문제란 결국 더 많은 사용자들이 만들어내는 트랜잭션을 블록체인 시스템으로 처리할 수 있는 능력의 문제이다. 대개 블록체인의 확장성 지표로 TPS를 사용한다. TPS는 Transaction per Second의 약자로서 1초당 처리할 수 있는 트랜잭션의 개수를 나타내는 단위이다. 기존 비트코인이더리움의 경우 확장성 문제가 심각하여, TPS를 획기적으로 증가시키기 위한 다양한 방법이 고안되고 있는데, 그 중 대표적인 것이 샤딩이다.

종류

  • 데이터베이스 샤딩(database sharding) : 하나의 거대한 데이터베이스 테이블을 수평 분할(horizontal partitioning)하여 여러 개의 작은 단위로 나눈 후, 물리적으로 다른 위치에 분산하여 저장·관리하는 기술이다. 이 때 수평 분할된 1개의 작은 테이블을 샤드(shard)라고 한다.
  • 네트워크 샤딩(network sharding) : 블록체인 기반 암호화폐를 채굴하기 위한 네트워크를 샤드(shard)라는 작은 노드 그룹으로 나누어 관리하는 기술이다.

활용

싱가포르의 신슈 동이 개발한 암호화폐인 질리카(Zilliqa)는 샤딩 기술을 활용함으로써 트랜잭션 처리 속도를 획기적으로 향상시켰다. 질리카의 샤딩 기술은 네트워크 샤딩(network sharding), 트랜잭션 샤딩(transaction sharding), 연산 샤딩(computational sharding)과 같은 다양한 형태로 구성되어 있다. 그 중 가장 중요한 건 네트워크 샤딩인데, 네트워크 샤딩은 질리카 채굴 네트워크를 샤드(shard)라는 작은 노드 그룹으로 나눌 수 있는 메커니즘이다. 이 네트워크 샤딩은 질리카를 확장시킬 수 있는 도구로서, 이 샤딩을 활용하게 되면 초당 수천 건의 트랜잭션 처리가 가능해진다.

각주

  1. 고란 기자, 〈성공한 플랫폼은 보이지 않는다〉, 《중앙일보》, 2018-10-17

참고자료

같이 보기


  의견.png 이 샤딩 문서는 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.