Difference between revisions of "NoSQL"
Jump to navigation
Jump to search
| Line 11: | Line 11: | ||
** Replication | ** Replication | ||
** Single-record transactions, "eventual consistency". | ** Single-record transactions, "eventual consistency". | ||
| + | |||
| + | * Example Systems (as of Nov 2011) | ||
| + | ** Google BigTable | ||
| + | ** Amazon Dynamo, | ||
| + | ** Cassandra | ||
| + | ** Voldemort | ||
| + | ** HBase | ||
| + | |||
| + | === Document Stores === | ||
| + | |||
| + | * Interface | ||
| + | ** Data model: (key, ''document'') pairs | ||
| + | ** ''document'': JSON, XML, other semistructured formats. | ||
| + | ** Basic operations: '''Insert'''(key, value), '''Fetch'''(key), '''Update'''(key), '''Delete'''(key) | ||
| + | ** Also '''Fetch''' based on document contents (very system/format specific as of Nov 2011) | ||
| + | |||
| + | * Example Systems (as of Nov 2011) | ||
| + | ** CouchDB | ||
| + | ** MongoDB | ||
| + | ** SimpleDB | ||
| + | |||
| + | === Graph Database Systems === | ||
| + | |||
| + | * Interface | ||
| + | ** Data model: '''nodes''' and '''edges''' | ||
| + | ** Nodes may have '''properties''' (including '''ID''') | ||
| + | ** Edges may have '''labels''' or '''roles''' | ||
| + | |||
| + | * Example Systems (as of Nov 2011) | ||
| + | ** | ||
| + | ** | ||
| + | ** | ||
| + | ** | ||
Revision as of 17:22, 17 November 2013
Key-Value Stores
- Interface: extremely simple
- Data model: (key, value) pairs
- Operations: Insert(key, value), Fetch(key), Update(key), Delete(key)
- Some allow (non-uniform) columns within value.
- Some allow Fetch on range of keys.
- Implementation: efficiency, scalability, fault-tolerance
- Records distributed to nodes based on key
- Replication
- Single-record transactions, "eventual consistency".
- Example Systems (as of Nov 2011)
- Google BigTable
- Amazon Dynamo,
- Cassandra
- Voldemort
- HBase
Document Stores
- Interface
- Data model: (key, document) pairs
- document: JSON, XML, other semistructured formats.
- Basic operations: Insert(key, value), Fetch(key), Update(key), Delete(key)
- Also Fetch based on document contents (very system/format specific as of Nov 2011)
- Example Systems (as of Nov 2011)
- CouchDB
- MongoDB
- SimpleDB
Graph Database Systems
- Interface
- Data model: nodes and edges
- Nodes may have properties (including ID)
- Edges may have labels or roles
- Example Systems (as of Nov 2011)