A list of data models used by various web-storage systems.
Example: SANs LUNs - Linear array of fixed size blocks
Name space: (array#, LUN, block number, snapshot)
Operations: Read Block, Write Block
Name Space: (Bucket, Key)
Operations: Get/Put/Delete objects - Entire object update only Memcache
Data: Blocks identified by a key
Memcache Operations: (set, add, replace, append, prepend, cas, get, gets, delete, intr, decr)
Example: SimpleDB Blobs with attribute-value pairs
GET, PUT or DELETE items in your domain, along with the attribute-value pairs
Query on objects with various lexicographical queries
Sparse Multidimensional sorted map
(row:string, column:string, time:int64) -> string
Column/Row database tradeoff
Row key unique - locality, ordered on it (row, column family, column qualifier, and timestamp) Different numbers of columns per rows. Hybrid column/row oriented storage (user-specified locality)
Scheme free. Example: CouchDB
JSON objects
Data types: All or nothing update of documents Views - JavaScript (Map of map reduce) Add structure back Query-able and index-able, featuring a table oriented reporting engine that uses Javascript as a query language.
MongoDB(JSON DSON, with Indexs, Nested URL structure)
Simplied relation data (SELECT - toss hard parts)