NoSQL Databases


NoSQL Databases

- The term NoSQL Database includes a Wide scope of solutions which address the concerns of exponential growth and complex inter-dependency.

Features of NoSQL Databases

- Data store
- referred to as NoSQL = "not only SQL"
- not relational
- no fixed schema
- can handle hierarchical nested data structures easily, avoiding the need for multi-table joins
- much faster than relational db
- less robust than relational db
- do not have to have a strict support for ACID transactions

Usage
- very large scale websites like facebook, google, typically distrbuted store

Types of NoSQL Databases

(1) Key Value pairs - most common
(2) BigTable or Column Family stores - Has keys which point to multiple columns
(3) Document databases - versioned documents.
(4) Graph databases - nodes, node relationships, properties of nodes. uses graph model which is flexible and scalable.

Major NoSQL Databases in the market

- CouchDB and MongoDB: open source, document oriented
- BigTable: Google. column oriented
- HyperTable: open source, based off the BigTable database system
- Cassandra: Facebook. column oriented
- Dynamo: Amazon

Query solutions

The final objective of any database is it's capability to be queried.
For querying NoSQL data, options are provided in different ways ,through RESTful solutions or through Query APIs, depending on the data model.