Benefits of NoSQL databases
Schema agnostic
Scalability Performance High availability Global availability
Types of NoSQL databases
1. Key-value store NoSQL database
Use cases: Here are some popular use cases of the key-value databases:
For storing user session data
Maintaining schema-less user profiles
Storing user preferences
Storing shopping cart data
However key-value databases are not the ideal choice for every use case when:
We have to query the database by specific data value.
We need relationships between data values.
We need to operate on multiple unique keys.
Our business needs updating a part of the value frequently.
Examples of this database are Redis, MemcacheDB and Riak.
2.Document store NoSQL database
This structured/semi-structured value is referred to as a document and can be in XML, JSON or BSON format.
Use cases: Document store databases are preferable for:
E-commerce platforms
Content management systems
Analytics platforms
Blogging platforms
Examples of document store NoSQL databases are MongoDB, Apache CouchDB and Elasticsearch.
3.Column store NoSQL database
As an example, we often access customers’ names and profile information at the same time, but not the information on their orders.
The main advantages of storing data in columns over relational DBMS are fast search/access and data aggregation.
Use cases: Developers mainly use column databases in:
Content management systems
Blogging platforms
Systems that maintain counters
Services that have expiring usage
Systems that require heavy write requests (like log aggregators)
Examples of column store NoSQL databases are Cassandra and Apache Hadoop Hbase.
4.Graph base NoSQL database
Use cases: Graph base NoSQL databases are usually used in:
Fraud detection
Graph based search
Network and IT operations
Social networks, etc
Examples of graph base NoSQL databases are Neo4j, ArangoDB and OrientDB.