NoSQL databases (“not only SQL”) are non tabular, and store data differently than relational tables. NoSQL databases come in a variety of types based on their data model. The main types are document, key-value, wide-column, and graph. They provide flexible schemas and scale easily with large amounts of data and high user loads.
The simplest type of NoSQL database is a key-value store . Every data element in the database is stored as a key value pair consisting of a key and a value. Well-known key value stores include Redis, Voldemort and Dynamo.
A document database stores data in JSON, BSON , or XML documents (not Word documents or Google docs, of course). Each document can have a different structure. MongoDB is the most popular document database store.
When you want to run analytics on a small number of columns, you can read those columns directly without consuming memory with the unwanted data.
Well-known Wide-Column stores include Cassandra and HBase.
A graph database focuses on the relationship between data elements. Each element is stored as a node (such as a person in a social media graph). The connections between elements are called links or relationships.
Examples of graph database include Neo4J and InfiniteGraph.