NOSQLのデータモデル
データモデル
マスタ型 | P2P型 | イネーブラ型 | ||
---|---|---|---|---|
オンメモリタイプ | オンディスクタイプ | |||
KVS型 | Hibari | Dynamo Voldemort Riak ROMA | Memcashed | TokyoCabinet/ Tyrant |
カラム型 | Bigtable HBase HyperTable | Cassandra | ||
グラフ型 | Neo4j | InfiniteGraph | ||
ドキュメント型 | MongoDB CouchDB |
KVS型
- key(データの番号のようなもの)Value(データ本体)を1対1で管理
- スケールアウトに最適
有名なプロダクト
- Dynamo
- Amazonがショッピングカートの為に開発
- Voldemort
- Riak
- Redis
カラム指向型
有名なプロダクト
- Bigtable
- Google analytics, Google mapなど60以上のサービスで利用
- Cassandra
- HBase
- Hypertable
ドキュメント指向型
有名なプロダクト
- MongoDB
- CouchDB
グラフ型
- データとデータ間の関係性を管理するデータモデル
- SNSの人のつながり
- 同じ商品を購入した人達の関連性など
- 以下の3構成要素からなる
- node: 関係性を保持する主体を表す
- relationship: ノード間における関係の有無とその方向を表す
- property: ノードの属性とリレーションシップの属性を表す
- 関係性をグラフにする場合に最適
有名なプロダクト
- InfiniteGlaph
- Neo4j