샤딩(Sharding)의 개념

샤딩은 데이터베이스 설계arrow-up-right 에서 비롯된 성숙한 개념입니다. 여기에는 아무 것도 공유하지 않아도 여러 서버에 배포할 수 있는 여러 데이터베이스에, 하나의 논리적 데이터 세트를 분할 및 배포하는 작업이 포함됩니다. 간단히 말해서, 샤딩은 수평적 확장성 (horizontal scalability)을 허용합니다. 데이터를 병렬 (parallel)로 처리할 수 있는 고유하고 독립적인 조각으로 분할 (split) 합니다. 이것은 데이터에서 빅데이터arrow-up-right 세계로 전환하는 핵심 개념입니다. 데이터 세트가 기존 방식으로 처리하기에 너무 커지면, 데이터 세트를 더 작은 조각으로 나누는 것 외에는 확장할 수 있는 다른 방법이 없습니다.

샤딩을 블록체인에 적용한 것은 TON이 처음이 아닙니다. Ethereum 2.0은 고정된 수인 64개 샤드를arrow-up-right 지원합니다. TON의 접근 방식이 급진적 (radical)인 이유는 샤드 수가 좀 더 많아서가 아니라, 두 가지 고유 개념적 변화 때문입니다.

  • 샤드의 수는 고정되어 있지 않습니다 - TON은 필요에 따라 점점 더 많은 샤드를 추가하도록 지원합니다, 워크체인당 2^60의 상한선으로. 이 숫자는 사실상 무한하며, 전 세계 모든 사람에게 1억 개의 샤드가 할당되고 여전히 여유가 있습니다.

  • 샤드의 수는 탄력적입니다 - TON은 로드 (load)가 높을 때 샤드체인을 두 개로 자동 분할하고 로드가 낮을 때 다시 병합하는 것을 지원합니다. 사전 예측이 불가능한 동적 확장 (dynamic scaling) 요구 사항 을 처리하는 유일한 방법입니다.

TON 백서arrow-up-right에서 이런 참신한 아이디어를 더 자세히 알아볼 수 있습니다 .

근본적으로 세상을 바꾸려는 노력은 대가 없이 이루어지는 경우가 거의 없습니다. 이 급진적인 접근 방식을 사용하려면 TON 스마트 컨트랙트 개발자는 컨트랙트를 다르게 설계해야 합니다. 예를 들어 Solidity에서 이전 스마트 컨트랙트 경험이 있는 경우 TON의 아키텍처는 이질적(alien)으로 느껴질 것입니다. 이전 게시물인 Solidity 개발자를 놀라게 할 TON 블록체인의 6가지 고유한 측면을arrow-up-right 새로운 환경에 적응해 보길 추천합니다.

Last updated