はじめに
2010年のはじめ,
2010年7月の時点で,
本稿では,
NoSQL小史
まず,
RDBMSの限界
RDBMSは長年にわたって広く使われ,
サーバを増やすことでリニアに性能をスケールできるフロントエンドのWebサーバと違い,
GoogleのBigtableとAmazonのDynamo
そのような状況の中,
NoSQLという言葉の誕生
これらの論文は多くの人々に影響を与え,
そして2009年6月11日,
NOSQLは
NoSQLを理解する2つの軸
現在NoSQLとみなされる多くのシステムが存在します。それぞれ多様な特徴を持っており,
CAP定理
エリック・
- Consistency
(整合性) - Availability
(可用性) - Partition Tolerance
(ネットワーク分割耐性)
Cの整合性は,
C,
では,
表1 C,
種類 | 適した処理 |
---|---|
CA | 銀行口座など, |
AP | ショッピングカートなど, |
CP | 検索エンジンのインデックス処理など, |
- 注1)
- 「定理」
という言葉は本来, 理論体系の基礎として公に認められた証明済みの命題のことです。しかしCAP定理が 「定理」 と言えるかどうかは, まだ評価が定まっていません。
データモデル
NoSQLシステムがデータをどのようなモデルで取り扱うかは,
表2 NoSQLのデータモデル分類と,
データモデル | 説明 | 適した用途 |
---|---|---|
キー・ | キーに1つの値を対応づけるシンプルなデータモデル | キャッシュなど加工済みデータの保存 |
カラム指向 | キーに対する値として{名前:値}の集合を扱うデータモデル | ユーザアカウントなど多数のプロパティを持つオブジェクトの保存 |
ドキュメント指向 | XMLやJSONなどのツリー構造を扱うデータモデル | ディレクトリ・ |
2つの軸と各NoSQLシステムの位置づけ
米国の起業家ネイザン・
Cassandraは,
- 注2)
- 後述しますが,
実際は整合性について, この分類の枠に収まらない特徴的な機能を備えています。
結果整合性
AP型のNoSQLシステムでは,