Skip to main content
QUICK REVIEW

[論文レビュー] Unbundling Transaction Services in the Cloud

David Lomet, Alan Fekete|ArXiv.org|Sep 9, 2009
Distributed systems and fault tolerance参考文献 22被引用数 74
ひとこと要約

本論文は、トランザクションコンponent(TC)とデータコンponent(DC)に分離することで、物理的ストレージからトランザクションサービスを分離する新しいクラウドデータベースアーキテクチャを提案する。TCは論理的トランザクション、並行制御、リカバリを管理するが、DCはトランザクションの知識を持たない原子的物理操作を処理し、マルチレベルリドゥーを可能にし、カスタムストレージ構造やマルチコアシステムに対する優れたサポートを実現する。

ABSTRACT

The traditional architecture for a DBMS engine has the recovery, concurrency control and access method code tightly bound together in a storage engine for records. We propose a different approach, where the storage engine is factored into two layers (each of which might have multiple heterogeneous instances). A Transactional Component (TC) works at a logical level only: it knows about transactions and their "logical" concurrency control and undo/redo recovery, but it does not know about page layout, B-trees etc. A Data Component (DC) knows about the physical storage structure. It supports a record oriented interface that provides atomic operations, but it does not know about transactions. Providing atomic record operations may itself involve DC-local concurrency control and recovery, which can be implemented using system transactions. The interaction of the mechanisms in TC and DC leads to multi-level redo (unlike the repeat history paradigm for redo in integrated engines). This refactoring of the system architecture could allow easier deployment of application-specific physical structures and may also be helpful to exploit multi-core hardware. Particularly promising is its potential to enable flexible transactions in cloud database deployments. We describe the necessary principles for unbundled recovery, and discuss implementation issues.

研究の動機と目的

  • クラウド環境におけるモノリシックDBMSアーキテクチャの硬直性を解消するため、トランザクション管理を物理的ストレージから分離すること。
  • データベースサービスのモジュラー化を通じて、アプリケーション固有の物理的ストレージ構造を実現すること。
  • トランザクションロジックを低レベルのストレージ操作から分離することで、マルチコアハードウェアの効果的活用を図ること。
  • クラウドベースのデータベースデプロイメントにおいて、柔軟でカスタマイズ可能なトランザクションセマンティクスを実現すること。
  • 分散システムにおける異種で階層的なデータベースコンponentに対して、リカバリメカニズムを再設計すること。

提案手法

  • 従来のストレージエンジンを、トランザクションコンponent(TC)とデータコンponent(DC)の2つの異なるレイヤーに分解する。
  • TCは論理レベルで動作し、物理的ストレージの知識を持たずに、トランザクション、並行制御、アンドゥ/リドゥーリカバリを管理する。
  • DCは物理的ストレージ構造(例:Bツリー、ページレイアウト)を用いて原子的レコード操作を提供し、トランザクションセマンティクスを抽象化する。
  • DC内でのローカルな並行制御とリカバリは、システムレベルのトランザクションを用いて実装する。
  • マルチレベルリドゥーを導入し、リカバリがTCおよびDCの両レイヤーをカバーする。これはモノリシックシステムにおけるリピート履歴パラダイムとは異なる。
  • TCおよびDCの両方の異種インスタンスをサポートすることで、デプロイの柔軟性とハードウェアに最適化された設計を実現する。

実験結果

リサーチクエスチョン

  • RQ1クラウド環境において、ACID特性を保持しつつ、トランザクションサービスを物理的ストレージから分離する方法は何か?
  • RQ2論理的に分離されたトランザクションコンponentとデータコンponentを持つシステムにおけるリカバリの設計原則は何か?
  • RQ3アーキテクチャ的分離によって、トランザクションとストレージロジックを分離することで、マルチコアハードウェアをどのように効果的に活用できるか?
  • RQ4分散的でクラウドベースのデータベースにおいて、マルチレベルリドゥーの影響は一貫性とパフォーマンスにどのような意味を持つのか?
  • RQ5モジュラーかつ分離されたデータベースアーキテクチャにおいて、アプリケーション固有の物理的ストレージ構造を効率的にサポートできるか?

主な発見

  • 分離アーキテクチャにより、トランザクションロジックから分離されたアプリケーション固有の物理的ストレージ構造のデプロイが可能になる。
  • TCとDCの分離により、トランザクション処理とデータアクセスパターンの独立した最適化が可能になる。
  • リピート履歴とは異なり、マルチレベルリドゥーは、異種コンponent間でよりスケーラブルかつ柔軟なリカバリモデルを提供する。
  • トランザクションの調整を低レベルのストレージ操作から分離することで、マルチコアプロセッサの効率的利用が可能になる。
  • TCおよびDCコンponentの独立したインスタンス化と設定が可能になるため、クラウドデプロイメントにおける柔軟なトランザクションセマンティクスが実現できる。
  • DC内でのローカルリカバリおよび並行制御は、システムトランザクションを用いて実装可能であり、DCにトランザクションセマンティクスを露呈させることなく信頼性を保持できる。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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