Skip to main content
QUICK REVIEW

[論文レビュー] UStore: A Distributed Storage With Rich Semantics

Anh Dinh, Ji Wang|arXiv (Cornell University)|Feb 9, 2017
Distributed systems and fault tolerance参考文献 40被引用数 11
ひとこと要約

UStore は、データの不変性、共有、セキュリティをネイティブにサポートする、豊富な意味論を備えた分散ストレージシステムであり、現代のアプリケーションのコアな特性を統合する。UObject と呼ばれる Git に類似したコンテンツアドレス可能なデータ構造を用い、効率的なバージョン管理操作を実現し、一般のキー値ストアーや Ethereum ような専用システムを上回る性能を発揮する。

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.

研究の動機と目的

  • キーバリュー ストアのような意味論が乏しいシステムや、リレーショナル データベースのようなあまりに硬直的なシステムに起因する、既存のストレージ システムにおけるギャップを埋める。
  • 不変性、データ共有、セキュリティという3つの重要な特性を、1つのストレージ層に統合し、アプリケーション開発の複雑さを軽減する。
  • 効率的で拡張性のあるシステムを設計し、パフォーマンスチューニングおよび多様なハードウェアとワークロードとの統合を可能にする。
  • コアな意味論をストレージ層にオフロードすることで、共同作業、バージョン管理、セキュアなアプリケーションの開発を高速化し、パフォーマンスを向上させる。

提案手法

  • Git にインspired されたが、分散システム向けに拡張された、コンテンツアドレス可能な不変オブジェクト(UObject)と呼ばれる、新しいデータ構造を設計する。
  • 効率的なバージョンスキャン、時点指定クエリ、アクセス制御ポリシーを介したセキュアなアクセスをサポートする分散でスケーラブルなストレージ層を実装する。
  • インメモリ性能や信頼実行環境(例:Intel SGX)といった現代のハードウェアトレンドを活用し、パフォーマンスとセキュリティを最適化する。
  • GetKPreviousVersion/Value やバージョン付き Put/Get といったコア API を公開し、効率的なバージョン管理されたデータアクセスを可能にし、アプリケーションレベルの複雑さを低減する。
  • Git や共同分析のような高レベルのデータモデルを、コアな UObject 层の上にサポートするためのビュー層抽象化を構築する。
  • クエリエンジンや認証モジュールなどのモジュラー コンponent を通じて、既存システムと統合し、多様なワークロードをサポートする。

実験結果

リサーチクエスチョン

  • RQ1統合されたストレージシステムが、不変性、共有、セキュリティをネイティブにサポートすることで、多様なワークロードにおいてアプリケーション開発の負荷を軽減できるか?
  • RQ2Git をインspired したコンテンツアドレス可能なデータモデルは、一般のキー値ストアーやブロックチェーンと比較して、実世界のワークロードにおいてどの程度のパフォーマンスを発揮するか?
  • RQ3ストレージに豊富な意味論を組み込むことで、バージョンスキャンや時点指定クエリのようなバージョン管理されたデータ操作のパフォーマンスがどの程度向上するか?
  • RQ4強い一貫性とセキュリティ保証を維持しながら、分散環境において効率的にスケーリングできるか?
  • RQ5非常に多数のバージョンを持つ分散ストレージシステムにおいて、アクセス制御とデータの履歴(プロヴェナンス)を効率的にモデル化・実装できるか?

主な発見

  • UStore は、バージョンスキャン操作において一般のインメモリキー値ストアーよりも優れた性能を示し、バージョン管理されたデータアクセスにおいて優れた効率性を実証した。
  • ブロックチェーンのユースケースにおいて、UStore は GetKPreviousVersion/Value を直接使用することで、以前のアカウント状態を再構築する際のブロックパースィングの冗長性を回避し、オーバーヘッドを低減した。
  • 頻繁なバージョン指定クエリを要するワークロード、たとえば共同分析や取引管理において、UStore のパフォーマンス優位性が顕著に現れた。
  • Ethereum よりも直接的なバージョンアクセスが可能であるため、UStore はバージョン管理されたデータ取得において、Ethereum よりも優れたパフォーマンスを発揮した。Ethereum はブロック単位でのパースィングに起因し、I/O の負荷が高くなる。
  • UStore は、不変性、共有、セキュリティといった豊富な意味論を標準で提供するため、カスタムデータ構造や調整ロジックの必要性を減らし、アプリケーション開発を高速化した。
  • 現在の実装は、強力なスケーラビリティと低レイテンシを達成しており、特にバージョン管理されたデータアクセスやプロヴェナンス追跡を伴うワークロードにおいて、パフォーマンスの恩恵が顕著に現れた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。