全体概要

本セミナーは、2014年11月のAWS re:InventでAmazon社が発表した「Amazon Aurora」という新しいクラウド・データベースの設計思想と技術的核心を解明することを目的としています。[p.2]

中心的な問いはシンプルかつ根本的です。「もし今日、クラウド時代にリレーショナルデータベースをゼロから設計するとしたら、どのような姿になるべきか?」[p.13] 従来のリレーショナルデータベースは、1970年代に設計された「Monolithic(一枚岩)」なアーキテクチャ——SQL・Transactions・Caching・Loggingを単一ボックス上に積み重ねた構造——をいまだに踏襲しています。これはクラウド環境において、コスト・柔軟性・可用性の三点で根本的な限界をきたしています。[p.8, p.12]

Auroraはこの問いへの答えとして、「サービス指向アーキテクチャ(SOA)」をデータベース設計に適用した革新的な試みです。特にLoggingとStorageの層を切り出し、SSD・マルチテナント・スケールアウトに最適化された独立したクラウドサービスとして再構築した点が最大の特徴です。MySQL 5.6との完全互換を保ちながら、同等ハードウェア上でMySQLの最大5倍のスループットを実現し、商用エンタープライズDBの10分の1のコストで提供されます。[p.16, p.17]

セミナーはPart IとPart IIの二部構成をとります。Part IではAuroraの全体像と設計思想・スケーラビリティ・可用性を概観し、Part IIではその技術的心臓部である「Log-Structured File System(LFS)」の理論的起源(Rosenblum & Ousterhout, 1991年)から、BigTable・LevelDB・Facebookのリアルタイム解析システムにいたる現代的応用、さらにSSD内部のFlash Translation Layerとの構造的類似性まで、技術史を縦断する形で深く掘り下げます。[p.4, p.99, p.100]

Auroraの真の革新性は、「ログページがデータページを生成する」というLog-Structured Storageの採用にあります。これにより、クラッシュからの高速回復、継続的インクリメンタルバックアップ、レプリカラグの劇的短縮(MySQL比400倍以上)が同時に実現されます。[p.18, p.19, p.30] 本セミナーは、この画期的な技術の理解を、設計思想・具体的仕様・技術的先行研究という三つの軸から総合的に提供する内容となっています。

講義のロードマップ

ここでは、セミナーの講演資料がどのようなパートから構成されているかを示します。また、それぞれのパートのポイントを紹介します。

■ Part I: Amazon Aurora

現行DBの「Monolithic」構造が持つ本質的限界を明示したうえで、AuroraがSOAの適用によってその限界をいかに突破するかを、設計思想・クラスター構成・スケーラビリティ・可用性の四側面から体系的に解説します。re:InventでのAnurag Guptaのプレゼンテーションを起点として、AuroraのDBクラスターがどのように機能するかを具体的に明らかにします。[p.6, p.36]

■ Part II: Log-Structured File System

AuroraのCluster VolumeがLog-Structured Storage(LFS)に基づいているという事実を核心として、LFSの理論的起源から現代的応用・SSD内部構造との類似性まで、技術史を縦断する形で解説します。LFSを理解することが、Auroraの高速クラッシュ回復・継続的バックアップ・低レプリカラグのすべてを統一的に説明する鍵となります。[p.100, p.101]