# 分散ストレージ
## 定義
分散ストレージ(distributed storage)とは、複数のコモディティサーバにまたがってデータを格納・管理するシステムの総称である。単一マシンの容量・帯域・可用性の限界を超え、ペタバイト規模のデータを水平スケーリングで取り扱う。データモデル(リレーショナル、キー値、多次元マップなど)、整合性保証、分散・レプリケーション戦略、障害耐性の設計がシステムごとに大きく異なる。(Source: [[@2006__OSDI__Bigtable - A Distributed Storage System for Structured Data]])
## 横断的知見
- (1 ソース目のため、他ソースとの突き合わせによる知見は今後蓄積する)
## 未解決の問い
- Bigtable のタブレットベース動的分割と、他の分散ストレージシステム(Dynamo のコンシステントハッシュなど)のパーティショニング手法はどのような条件下で優劣が分かれるか
- Bigtable が採用した Chubby への集中依存と、完全非集中のメンバーシップ管理(ゴシッププロトコルなど)は可用性・運用複雑性のトレードオフでどう評価されるか
- リレーショナルモデルを捨てた Bigtable の設計判断は、後続の NoSQL システムや NewSQL システムの登場にどのような影響を与えたか
- 単一行トランザクションのみの制約は、セカンダリインデックスやクロステーブル整合性が必要なアプリケーションでどう回避されたか
## 関連
- ソース: [[@2006__OSDI__Bigtable - A Distributed Storage System for Structured Data]]
- エンティティ: [[Bigtable]] / [[Google File System]] / [[Chubby]] / [[Google]] / [[Jeffrey Dean]] / [[Sanjay Ghemawat]]
- 関連 MOC: [[Systems for ML - MOC]]
## 出典
- [[@2006__OSDI__Bigtable - A Distributed Storage System for Structured Data]]