NoSQL databases are of the following four types:
- Key-value stores: Data is stored as a key along with its value. A pointer and a unique identifier are associated with every data element. Arbitrary strings are used as keys, and the value could be a document or an image. Key-value data stores have large hash tables, which contain the keys and values. Some of the popular key-value NoSQL datastores are Cassandra and Redis.
- Document-based stores: Each record and all the associated data are stored within a document. The documents stored are made up of tagged elements. Some examples of document-based data stores include CouchDB and MongoDB.
- Column-based stores: Data is stored by column, not by row. Each storage block contains data from only one column. HBase and Hypertable are popular examples of column-based datastores.
- Graph-based stores: These are network databases that use edges and nodes to represent and store data. A popular example is Neo4J.
Here are some use cases where NoSQL databases outperform traditional databases:
- Storage of real-time big data
- The Internet of things (IoT)
- Customer 360° View
- Semi-structured data
Following are the three major NoSQL databases used in the industry.
- It is an open-source, column-oriented distributed database that is built on top of the HDFS.
- Common use cases of HBase include online log-analytics, write-heavy applications, etc.
- HBase provides immediate consistency.
- Key customers of HBase include Salesforce, Xiaomi, Yahoo, etc.
- It is a key-value datastore.
- Cassandra stores data in the form of rows and columns and allows rows to have multiple columns, the format of which is subject to change.
- Cassandra provides eventual consistency.
- It is used in messaging systems, e-commerce websites, real-time sensors, etc.
- Key customers of Cassandra include GitHub, Reddit, eBay, Netflix, etc.
- It is a document-based datastore.
- MongoDB is a schema-less database, and it stores data in the form of JSON-like documents.
- MongoDB provides immediate consistency.
- It is used in mobile applications, IoT applications, content management systems, etc.
- Key customers of MongoDB include Google, CISCO, Adobe, Royal Bank of Scotland, etc.