Nitendra Gautam

NoSQL databases

Non Relational or NoSQL Database is a data storage system that was designed for unstructured data which does not follows a ACID property like a traditional RDBMS . Many of the NoSQL database provides flexibility in consistency in favour of availability and partition tolerance as explained by CAP theorem.

Instead of having a fixed schema structure like RDBMS ,NoSQL provides a flexible data models.

NoSQL Data Models

In terms of fundamentals concepts we can classify NoSQL database into four basic types.

Key-value data store

These databases stores the values in the form of Key/Value Pairs and also stores the metadata about the values .Data in this database can be of any type of binary object { text ,video ,JSON }. Records in this database are stored and retrieved using a key that can identify and retrieve the records uniquely.
Example: Project Voldemort, riak, redis

Document store

In this database data are stored in the form for self describing documents like JSON ,XML and BSON. Each document can be a complex data structure which can or cannot have any pre-defined schema.If certain fields are popular, they can be indexed to provide fast retrieval without knowing the key. In this type of database ,it is possible for querying the document using single or set of fields .It is also possible to update the portion of field at once for the documents. Example:MongoDB, RavenDB, CouchDB

document data store
Figure:[Document Store Database](

Wide-Column family store

In this wide column database ,data are stored in a tables with rows and columns but with the possibility of having different column names and formats in different rows.Multiple column families can be grouped and stored together using a single row keys. We can pull individually column using this database in a single operation as it a columnar database . It aggregates the data based on the key Value. Based on the key values it can be distributed across the clusters. Example:Cassandra and Apache HBase

Graph stores

Graph stores or Graph oriented database is a NoSQL database that uses the graph structure and theory to store ,map and query the relationship between them . It is based on the Node and Arch Graph Structure. In this database adjacent elements are linked together without using and index. Example:Neo4J


[1] Introduction to Redis a NoSQL database

[2]NoSQL vs SQL Database

[3]NoSQL Database

[4]Cap Theorem