Updated March 24, 2023
Introduction to Types of NoSQL Databases
- NoSQL is a non-relational database management system, which does not need to have a fixed schema.
- NoSQL database system contains various database technologies that can manage structured, unstructured, semi-structured and polymorphic data.
- We must use the relevant database to solve a specific set of problems as there are various solutions that are better than all of the others.
Different Types of NoSQL Databases
To understand the NoSQL database, let’s go through the following types,
1. Key-Value Stores
- Based on distributed hash tables and Amazon’s Dynamo paper.
- Created to handle massive amounts of data and store schema-free data.
- Data insertion and retrieval are simple.
- Stores data as a hash table where all keys are unique and the value can be a string, JSON, BLOB, etc.
- Values can be stored against strings, lists, hashes sets and sorted sets as a key.
- Collections, associative arrays, and dictionaries, etc. can be used as key-value stores.
Examples:
- Redis
- Memcached
Use Cases:
- Key-value data stores are ideal for storing session information, user profiles, comments, and recommendations of products.
- Redis:
- Pinterest uses to store lists of images, galleries, users, boards, followers, and un-followers.
- Coinbase uses to authorize rate points and assurance the rightness of the Bitcoin transactions.
- Twitter uses to manage the Twitter timeline.
- Memcached:
- Quora uses to maintain the cache of moderate, determined databases.
2. Document Stores
- It is a collection of documents and a document is a collection of key-value type. All values or the data stored in documents can be accessed using the keys.
- All documents are independent of each other.
- Documents are schema-free and therefore are flexible and easy to modify.
- Collections are used to store documents in order to group different kinds of data.
- Documents may have nested documents, various different key-value pairs, or key-array pairs.
Examples of Document Databases:
- MongoDB
- Couchbase
- RavenDB
Use Cases:
- MongoDB:
- SEGA uses for managing game accounts.
- Aer Lingus uses to handle ticket management and internal applications.
- ly and Sourceforge use to manage data.
- Couchbase:
- Cisco used to achieve greater scalability.
3. Column-Oriented
- The databases came into the picture after Google’s research on the Google file system named BigTable distributed storage system.
- Column-oriented databases basically designed to work on columns, every column is treated separately. All values are stored contiguously for each column.
- Column-oriented databases stores data in column specific files with the same type.
- In column-oriented databases, query processors operate on columns, it improves query performance as it can access specific column data. Also, it gives a performance on aggregation queries.
- All data associated with the single column is ideal for compression because of the same type.
- Column-oriented databases are designed like arrays with three-dimensional, the row identifier is the first dimension, a combination of a column identifier with family is the second and the timestamp is third.
Examples of Column Databases:
- Apache Cassandra
- Hadoop HBase
- HyperTable
Use Cases:
- The column-oriented database gives a highly scalable architecture. and high performance as they are fast for insertion and retrieval, They have been very popular among organizations working on internet of things, big data, and personalized content recommendations.
- Cassandra:
- Outbrain uses to serve personalized content recommendations.
- Spotify uses to store metadata about artists, songs, etc. and user profile parameters for better personalization.
- HBase:
- Facebook used for various services like search indexing and the “Nearby Friends” feature.
4. Graph Network
- Graph network database stores data in a graph like structure.
- Graph databases used for storing frequently changing data.
- Graph databases are capable of representing any kind of data. It provides high accessibility as it uses indexes for lookups.
- A graph database is a collection of one or more nodes and edges.
- Each node represents an entity (such as a student or business) and each edge connects two nodes that show the relationship between them.
- A unique identifier is used to define every node and edge and aware of its adjacent nodes.
- The graph can be traversed in a depth-first or breadth-first fashion.starting from any arbitrary or start node.
Example of graph databases:
- FlockDB
- HyperGraphDB
- Neo4j
Use Cases:
- Graph databases are getting used when dealing with large datasets for establishing data relationships.
- Graph databases offer fast query performance than relational databases, especially as data grows.
- Neo4j:
- Walmart uses to provide relevant product promotions and recommendations.
- Medium uses it to build its social network to improve content personalization.
- Cisco uses to analyze customer support issues to anticipate bugs.
5. Hierarchical
- Uses parent-child relationships or tree structures to store data.
- In relational models, this is referred to as a one-to-many.
- Location information is stored in Geospatial databases in the hierarchical.
Examples of Hierarchical Database:
- PostGIS
- Oracle
- Spatial
Use Case:
- Microsoft’s Windows registry and IBM’s IMS database are the best examples of hierarchical
6. Object-Oriented
- These databases are fully NoSQL databases is a debatable topic yet. These databases are not similar to data models based on traditional RDBMS.
- Allows the storage of data in the form of objects.
Examples of Object-Oriented Database:
- db4o
- NEO
- Versant
Use Case:
- Object-oriented databases are generally used in web-scale production or research purposes.
7. Triple Stores
- Triple stores manage the data in the form of Subject-Predicate-Object.
- The predicate is used for linking subject and object.
- Triple Scores are a variety of network databases.
Examples of Triple Store Database:
- Sesame
- Jena
- Virtuoso
- Allegro Graph
Use Case:
- Example: ‘Adam writes eduCBA blog.’ Here, Adam is the subject, while eduCBA blog is the object, here the predicate is the term ‘writes’ which links the subject and the object. In such scenarios, NoSQL is the best option as mapping it into SQL queries is quite difficult.
Conclusion
- Seven types of NoSQL Database are Key-value stores, Document stores, Column-oriented, Graph Network, Hierarchical, Object-oriented and Triple Stores, etc.
- We hope this guide helps you get an idea of which NoSQL database type to choose for your application or project. More supported data models within one database mean more versatility for you and to the end-user, in the way you should store your data.
Recommended Articles
This is a guide to Types of NoSQL Databases. Here we discuss the introduction and top 7 types of NoSQL Databases along with the examples and its use cases. You may also look at the following articles to learn more-