Sharding

Wiki Powered byIconIQ
Sharding

IQ AI를 발표했습니다.

확인해보세요

Sharding

**샤딩(Sharding)**은 을 더 작고 분할된 블록체인(샤드라고 함)으로 분할하여 데이터 세그먼트 관리를 용이하게 하고, 확장성을 개선하며, 트랜잭션 속도를 높이는 프로세스를 설명하는 용어입니다. [1][2][3]

개요

샤딩은 기존 데이터베이스에서 파생된 기술로, 초당 더 많은 트랜잭션을 처리할 수 있도록 확장성을 제공하는 것을 목적으로 합니다. 샤딩은 수평 분할이라고도 하는 데이터베이스 파티셔닝이라는 기술에서 유래했습니다. 이 프로세스는 대규모 데이터베이스를 "샤드"라고 하는 더 작은 단위로 나누는 것을 포함합니다. 이러한 분할은 데이터베이스의 정보에 대한 접근성을 향상시킵니다. [2]

각 샤드는 자체 데이터로 구성되어 다른 샤드와 비교하여 독립적이고 고유하게 만듭니다. 데이터베이스 샤드 또는 간단히 샤드는 데이터베이스 또는 검색 엔진의 데이터 수평 분할입니다. 각 샤드는 로드를 분산하기 위해 별도의 데이터베이스 서버 인스턴스에 보관됩니다. 데이터베이스 내의 일부 데이터는 모든 샤드에 존재하지만 일부 데이터는 단일 샤드에만 나타납니다. 각 샤드는 이러한 데이터 하위 집합의 단일 소스 역할을 합니다.

샤딩은 네트워크를 별도의 샤드로 분할하기 때문에 네트워크의 지연 시간 또는 속도 저하를 줄이는 데 도움이 될 수 있습니다. 그러나 샤드가 공격받을 수 있다는 점에서 샤딩과 관련된 일부 보안 문제가 있습니다. [7]

샤딩은 블록체인 네트워크의 모든 상호 작용과 트랜잭션을 처리하는 단일 체인의 부담을 줄입니다. 각 샤드는 자체 원장을 가지고 있으며 자체 트랜잭션을 처리하고 고유한 집합을 보유할 수 있습니다. [1][3]

장점

  • 확장성: 샤딩은 대규모 분산 엔터프라이즈 애플리케이션에 적합합니다. 명령 또는 쿼리를 빠르게 실행할 수 있습니다. 샤딩 패턴의 주요 기능인 저장소 분할을 통해 물리적 인프라를 제어된 방식으로 확장할 수 있습니다. [8]
  • 분산화: 블록체인 확장성에 미치는 긍정적인 영향 외에도 샤딩은 분산화에도 중요한 의미를 지닙니다. 샤딩은 네트워크에서 더 많은 노드가 참여하여 트랜잭션을 처리할 수 있도록 합니다. 결과적으로 이는 네트워크 내의 분산화 및 공정한 권한 분배 정도를 높입니다. 이러한 구성은 광범위하게 분산된 네트워크에서 단일 중앙 취약점이 없으면 보안 수준이 높아질 수 있으므로 보안을 향상시킬 수 있습니다. [5]
  • 성능: 데이터를 여러 머신에 분산함으로써 샤딩된 데이터베이스는 단일 머신보다 더 많은 요청을 처리할 수 있습니다. 샤딩은 추가 노드가 로드를 공유하기 위해 추가되므로 수평 확장 또는 스케일 아웃이라고 하는 확장 형태입니다. [8]

단점

샤딩이 블록체인의 확장성 문제에 대한 잠재적인 해결책처럼 보일 수 있지만, 구현에는 몇 가지 과제가 있습니다. 블록체인 샤딩과 관련된 두 가지 주요 단점은 복잡성과 보안입니다.

  • 복잡성: 기존 네트워크에 샤딩을 도입하는 것은 네트워크 분할 및 필요한 상태 재할당의 복잡한 프로세스로 인해 어려운 작업입니다. 샤딩은 소프트웨어 개발 프로젝트의 복잡성을 크게 증가시킵니다. 데이터베이스를 샤딩하고 쿼리를 올바른 샤드로 제대로 전달하려면 추가 로직이 필요합니다. 이로 인해 개발 시간과 비용이 증가합니다. [3][4]
  • 보안 문제: 샤딩과 관련된 보안 문제에는 한 샤드가 다른 샤드를 공격하여 정보 손실이 발생하는 해킹 또는 샤드 점유가 포함됩니다. 부적절한 구현은 위험으로 이어져 네트워크의 전반적인 보안에 심각한 영향을 미칠 수 있습니다. 또한 분할된 블록체인은 개별 세그먼트를 조작하는 데 필요한 해시 전력이 줄어들기 때문에 해커가 단일 샤드를 더 쉽게 제어할 수 있게 되어 공격에 취약해질 수 있습니다. 세그먼트가 손상되면 악의적인 트랜잭션이 광범위한 네트워크로 전파되어 전체 시스템에 중단을 초래할 수 있습니다. [3][6][7]
  • 인프라 비용: 더 정교한 네트워크 메시가 종종 필요하며, 이로 인해 실험실 및 인프라 비용이 증가합니다. [9]
  • 필요한 전문 지식: 샤딩 패턴은 DBA가 샤딩 분할을 효과적으로 관리하기 위해 특정 도메인 전문 지식과 사용 중인 데이터베이스 기술의 모범 사례에 대한 경험을 모두 갖추어야 합니다. [8]
  • 네트워크 트래픽: 많은 지리적 위치에 분산된 샤드는 과도한 네트워크 트래픽으로 인해 성능 저하가 발생할 수 있습니다. [8]

참고 문헌.

카테고리순위이벤트용어집