Skip to main content
QUICK REVIEW

[논문 리뷰] UStore: A Distributed Storage With Rich Semantics

Anh Dinh, Ji Wang|arXiv (Cornell University)|2017. 02. 09.
Distributed systems and fault tolerance참고 문헌 40인용 수 11
한 줄 요약

UStore는 데이터의 불변성, 공유, 보안을 네이티브로 지원하는 분산 스토리지 시스템으로, 현대 애플리케이션의 핵심 특성을 통합한다. UStore는 Git 유사한 콘텐츠 기반 주소 지정 방식의 데이터 구조(UObject)를 사용하여 효율적인 다중 버전 운영을 가능하게 하며, 일반 키-값 스토리지 및 이더리움과 같은 전용 시스템보다 버전 스캔 및 검색 워크로드에서 뛰어난 성능을 보인다.

ABSTRACT

Today's storage systems expose abstractions which are either too low-level (e.g., key-value store, raw-block store) that they require developers to re-invent the wheels, or too high-level (e.g., relational databases, Git) that they lack generality to support many classes of applications. In this work, we propose and implement a general distributed data storage system, called UStore, which has rich semantics. UStore delivers three key properties, namely immutability, sharing and security, which unify and add values to many classes of today's applications, and which also open the door for new applications. By keeping the core properties within the storage, UStore helps reduce application development efforts while offering high performance at hand. The storage embraces current hardware trends as key enablers. It is built around a data-structure similar to that of Git, a popular source code versioning system, but it also synthesizes many designs from distributed systems and databases. Our current implementation of UStore has better performance than general in-memory key-value storage systems, especially for version scan operations. We port and evaluate four applications on top of UStore: a Git-like application, a collaborative data science application, a transaction management application, and a blockchain application. We demonstrate that UStore enables faster development and the UStore-backed applications can have better performance than the existing implementations.

연구 동기 및 목표

  • 기존 스토리지 시스템이 빈약한 의미 체계(예: 키-값 스토리지)를 지니거나 너무 엄격한 구조(예: 관계형 데이터베이스)를 지닌다는 격차를 해결한다.
  • 불변성, 데이터 공유, 보안이라는 세 가지 핵심 특성을 하나의 스토리지 레이어에 통합하여 애플리케이션 개발 복잡도를 줄인다.
  • 성능 조정 및 다양한 하드웨어 및 워크로드와의 통합을 지원하는 효율적이고 확장 가능한 시스템을 설계한다.
  • 핵심 의미 체계를 스토리지 레이어로 이관하여 협업형, 버전 관리형, 보안 중심 애플리케이션의 개발 속도 향상과 성능 향상을 이룬다.

제안 방법

  • Git을 영감으로 삼았지만 분산 시스템에 맞게 확장된 콘텐츠 기반 주소 지정 방식의 불변 객체인 UObject라는 새로운 데이터 구조를 설계한다.
  • 효율적인 버전 스캔, 특정 시점 쿼리, 액세스 제어 정책을 통한 보안 액세스를 지원하는 분산형이고 확장 가능한 스토리지 레이어를 구현한다.
  • 메모리 성능과 신뢰할 수 있는 실행 환경(예: Intel SGX)과 같은 현대 하드웨어 트렌드를 활용하여 성능과 보안을 최적화한다.
  • GetKPreviousVersion/Value 및 버전 관리형 Put/Get와 같은 핵심 API를 노출하여 효율적인 버전 관리 데이터 액세스를 가능하게 하고 애플리케이션 수준의 복잡성을 줄인다.
  • 핵심 UObject 레이어 위에 고수준 데이터 모델(예: Git, 협업 분석)을 지원하기 위한 뷰 레이어 추상화를 구축한다.
  • 쿼리 엔진 및 인증 모듈과 같은 모듈러 컴포넌트를 통해 기존 시스템과의 통합을 지원하여 다양한 워크로드를 처리한다.

실험 결과

연구 질문

  • RQ1통합된 스토리지 시스템이 불변성, 공유, 보안을 네이티브로 지원함으로써 다양한 워크로드에서 애플리케이션 개발 노력 감소에 기여할 수 있는가?
  • RQ2일반 키-값 스토리지 및 블록체인과 비교해 실제 워크로드에서 Git 기반의 콘텐츠 기반 주소 지정 데이터 모델은 어떤 성능을 보이는가?
  • RQ3스토리지에 풍부한 의미 체계가 버전 스캔 및 특정 시점 쿼리와 같은 버전 관리 데이터 작업에서 성능 향상에 얼마나 기여하는가?
  • RQ4강한 일致성과 보안 보장을 유지하면서도 분산 환경에서 효율적으로 확장 가능한가?
  • RQ5매우 높은 수준의 버전 관리가 이루어지는 분산 스토리지 시스템에서 액세스 제어 및 데이터 기원은 어떻게 효율적으로 모델링하고 강제할 수 있는가?

주요 결과

  • UStore는 버전 스캔 작업에서 일반 메모리 기반 키-값 스토리지보다 뛰어난 성능을 보이며, 버전 관리 데이터 액세스에 있어 뛰어난 효율성을 입증한다.
  • 블록체인 워크로드의 경우, UStore는 GetKPreviousVersion/Value를 통해 직접 이전 버전에 액세스함으로써 블록을 다시 분석할 필요 없이 이전 계정 상태를 추출하여 오버헤드를 줄인다.
  • 자주 버전 쿼리를 수행하는 워크로드, 예를 들어 협업 분석 및 거래 관리에서 UStore의 성능 이점이 가장 두드러진다.
  • 이더리움은 블록 단위로 파싱해야 하므로 I/O 부담이 크지만, UStore는 직접적인 버전 액세스 기능 덕분에 버전 관리 데이터 검색에서 이더리움보다 뛰어난 성능을 발휘한다.
  • UStore는 불변성, 공유, 보안 등의 풍부한 의미 체계를 기본 제공함으로써 애플리케이션 개발 속도를 빠르게 하고, 사용자 정의 데이터 구조와 조율 로직이 필요로 하는 경우를 줄인다.
  • 현재 구현은 강력한 확장성과 낮은 지연 시간을 보이며, 특히 버전 관리 데이터 액세스 및 기원 추적을 포함한 워크로드에서 성능 이점이 뚜렷하게 드러난다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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