What is NoSQL

There are four main types of NoSQL databases:

  1. Key-Value Stores: These are the simplest type of NoSQL databases. Each key is associated with one and only one value in a collection. Examples include Redis and DynamoDB.
  1. Document Databases: These pair each key with a complex data structure known as a document. Documents can contain many different key-value pairs, or key-array pairs, or even nested documents. Examples include MongoDB and CouchDB.
  1. Column-Family Databases: These store data in columns instead of rows and are highly scalable. Examples include Cassandra and HBase.
  1. Graph Databases: These are used to store information about networks, such as social connections. Examples include Neo4J and Amazon Neptune.

NoSQL is:

  1. Scalable:
    1. Can scale to manage increasing amounts of data
    1. They can be distributed across multiple servers to improve their performance and avoid any single point of failure.
    1. Good at handling alot of through-put, which is good for big data
  1. Non-relational:
    1. There is no fixed schema for say join operations
    1. Can store what ever you want
  1. Distributed:
    1. They can be stored across multiple nodes, which makes them fault talurent