Skip to main content
QUICK REVIEW

[논문 리뷰] ForkBase: An Efficient Storage Engine for Blockchain and Forkable Applications

Sheng Wang, Tien Tuan Anh Dinh|arXiv (Cornell University)|2018. 02. 14.
Advanced Data Storage Technologies참고 문헌 29인용 수 24
한 줄 요약

ForkBase는 블록체인 및 협업 애플리케이션을 위한 블록체인 및 협업 애플리케이션을 위한 데이터 버전 관리, 포크 세미antics, 위변조 탐지 기능을 네이티브로 지원하는 새로운 스토리지 엔진이다. 버전화된 콘텐츠 기반 인덱스(POS-Tree)와 세밀한 중복 제거 기법을 통해 높은 성능과 낮은 스토리지 오버헤드를 달성하였으며, 블록체인, 위키, 분석 워크로드 전반에서 쿼리 효율성, 스토리지 소비, 개발 간편성 측면에서 최신 기술 대비 뛰어난 성능을 발휘한다.

ABSTRACT

Existing data storage systems offer a wide range of functionalities to accommodate an equally diverse range of applications. However, new classes of applications have emerged, e.g., blockchain and collaborative analytics, featuring data versioning, fork semantics, tamper-evidence or any combination thereof. They present new opportunities for storage systems to efficiently support such applications by embedding the above requirements into the storage. In this paper, we present ForkBase, a storage engine specifically designed to provide efficient support for blockchain and forkable applications. By integrating the core application properties into the storage, ForkBase not only delivers high performance but also reduces development effort. Data in ForkBase is multi-versioned, and each version uniquely identifies the data content and its history. Two variants of fork semantics are supported in ForkBase to facilitate any collaboration workflows. A novel index structure is introduced to efficiently identify and eliminate duplicate content across data objects. Consequently, ForkBase is not only efficient in performance, but also in space requirement. We demonstrate the performance of ForkBase using three applications: a blockchain platform, a wiki engine and a collaborative analytics application. We conduct extensive experimental evaluation of these applications against respective state-of-the-art system. The results show that ForkBase achieves superior performance while significantly lowering the development cost.

연구 동기 및 목표

  • 블록체인 및 협업 분석과 같은 현대 애플리케이션에서 데이터 버전 관리, 포크 세미antics, 위변조 탐지 기능을 네이티브로 지원하는 스토리지 시스템의 증가하는 수요를 해결하기 위해.
  • 핵심 블록체인 및 포크 가능 세미antics를 스토리지 레이어로 이관함으로써 애플리케이션 개발 복잡성을 줄이기 위해.
  • 애플리케이션 레이어 또는 키-밸류 스토어 기반 구현 대비 성능과 스토리지 효율성을 향상시키기 위해.
  • 신규 인덱스 구조와 콘텐츠 기반 청크 분할을 통해 역사적 쿼리와 증분 업데이트를 효율적으로 지원하기 위해.

제안 방법

  • ForkBase는 데이터 콘텐츠와 그 역사를 고유하게 식별하기 위해 버전 번호를 사용하여 빠른 무결성 검증과 버전 검색을 가능하게 한다.
  • 큰 객체는 청크로 분할되며, 새로운 POS-Tree를 사용해 구성되며, 콘텐츠 기반 슬라이싱, 메르클 트리 해싱, B+ -트리 인덱싱을 결합하여 효율적인 중복 제거 및 검색을 실현한다.
  • POS-Tree는 포크 시 복사-시-쓰기(copy-on-write)를 지원하여 중복 데이터 복사본 없이도 효율적인 암시적 및 명시적 포크를 가능하게 한다.
  • ForkBase는 단순한 고수준 API를 제공하며, 행 중심 및 열 중심의 다수의 물리적 레이아웃을 지원하여 쿼리 성능과 스토리지 효율성 최적화를 도모한다.
  • 콘텐츠 기반으로 청크를 해시하고 인덱싱함으로써 버전과 포크 간 세밀한 중복 제거를 실현하여 스토리지 오버헤드를 크게 감소시킨다.

실험 결과

연구 질문

  • RQ1스토리지 엔진이 데이터 버전 관리, 포크 세미antics, 위변조 탐지 기능을 네이티브로 지원함으로써 애플리케이션 레이어의 복잡성을 줄이고 성능을 향상시킬 수 있는가?
  • RQ2콘텐츠 기반의 버전화된 인덱스 구조(POS-Tree)가 버전 관리 및 포크된 데이터 워크로드에서 중복 제거 및 쿼리 효율성을 어떻게 향상시키는가?
  • RQ3통합 스토리지 엔진이 블록체인 및 협업 분석 워크로드에서 애플리케이션 전용 또는 키-밸류 스토어 기반 구현 대비 얼마나 뛰어난 성능을 발휘할 수 있는가?
  • RQ4물리적 레이아웃 선택(행 대비 열)이 버전 관리 스토리지 시스템에서 분석 쿼리 성능에 어떤 영향을 미치는가?

주요 결과

  • 클라이언트 측 캐싱을 통해 자주 액세스되는 데이터 청크를 저장함으로써, 특히 다수의 버전을 동시에 액세스할 경우 Redis보다 역사적 데이터 버전 읽기 성능에서 뛰어난 성능을 발휘한다.
  • 두 레이어 파artitioning(2LP)을 통해 노드 간 균형 잡힌 스토리지 분포를 달성하였으며, 위키 워크로드에서 단일 레이어 파artitioning(1LP)에서 관찰된 불균형 문제를 해결하였다.
  • 세밀한 청크 수준 중복 제거 덕분에, 데이터셋 수정 워크로드에서 OrpheusDB 대비 스토리지 소비를 최대 3배까지 감소시켰다.
  • 분석 쿼리에서 열 중심의 ForkBase는 행 중심의 ForkBase 및 OrpheusDB 대비 10배 뛰어난 성능을 기록하여, 레이아웃 인식 최적화의 유용성을 입증하였다.
  • 체크아웃 및 커밋 시 지연 로딩과 최소한의 데이터 커밋으로 인해, OrpheusDB 대비 업데이트 지연 시간을 두 계단 감소시켰다.
  • ForkBase의 버전 비교 비용은 POS-Tree 순회로 인해 작은 차이일 경우 효율적으로 스케일링되며, 반면 OrpheusDB는 전체 벡터 비교로 인해 일관되게 높은 비용을 부담한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.