NoSQL databases refer to any database types that are not only relational. “NoSQL” stands for “not only SQL”.
Relational database is the most popular database type nowadays. Structure Query Language (SQL) is a language to manage data in a relational database. This is why NoSQL is the term used to referred to not only relational databases.
NoSQL databases are Basically Available Soft-State Eventually consistency (BASE). This is a difference regarding relational databases, which are ACID.
Types of NoSQL Databases
Types of NoSQL Databases:
- Key-value stores
- Document stores
- Graph databases
- Wide-column stores
- Search stores
- Object-oriented stores
- Multi-model stores
Key-value stores are key/value pairs.
Document stores are similar to key/value stores, but the value is much more complex and it is in the form of a document, like XML or JSON
Graph databases store data in graph format.
Wide-column stores are optimized for queries over large datasets, and instead of rows, they store columns of data together.
NoSQL Databases Solutions
No SQL databases solutions:
- Key-value stores
- Valkey
- Redis
- Amazon Dynamo DB
- Etcd
- Riak
- Document stores
- FerretDB
- MongoDB
- DocumentDB
- Apache Couchbase
- Firebase
- Wide-column stores
- Apache Cassandra
- Apache HBase
- Bigtable
- Apache Druid
- Hypertable
- Graph store
- JanusGraph
- Neo4j
- Amazon Neptune
- Search
- ElasticSearch
- Algolia
- Mellisearch
- Object-oriented
- Multi-model
- Azure Cosmo DB
- ArangoDB
Take into account that traditionally relational DB PostgreSQL also accepts some of these models.
Key-value Store Solutions
The most popular key-value databases are Valkey, Redis and Amazon DynamoDB.
You can read more about key-value store solutions on this post.
Document Store Solutions
Document stores are specifically designed to handle JSON-like documents.
Some of the most popular document store databases are Apache CouchDB and MongoDB.
You can read more about document store solutions on this post.
Wide-column Store Solutions
You can read this post about wide-column store.
Graph Store Solutions
You can read this post about graph databases.
Search
- OpenSearch
- ElasticSearch
- Algolia
- Mellisearch
Object-oriented
Object-oriented database (OODB) is a database paradigm.
Mandatory characteristics of a OODB:
- All objects have a unique identifier, independent to their attributes.
- It allows building complex objects.
- The BBDD schema includes a limited set of classes or types.
- The data type are variable.
Object-oriented databases featured on this post:
- db4o (discontinued but historically significant)
- ObjectDB
- Versant Object Database
Multi-model
- OrientDB
- Azure Cosmos DB
- FaunaDB
- Couchbase Server
- ArangoDB (value-key + document + graph)
OrientDB
OrientDB is a multi-model database that combines the features of graph databases and document databases. It supports SQL-like queries, graph traversals, and ACID transactions.
Azure Cosmos DB
Azure Cosmos DB offers all types of NoSQL store.
Azure Cosmos DB official website
FaunaDB
FaunaDB
Couchbase Server
The community edition is released under an Apache 2.0.
Do not confuse it with document-based store CouchDB.
ArangoDB
ArangoDB is a value, document and graph.
It is source-viewable under a BSL (Business Source License) 1.1.
Choosing the right database
As a general rule:
- Highly relationed data: graph
- Queries with aggregation: columns
- Value-based queries: document
- Else: key-value
Distribution models
- Replication
- Master-slave
- Peer-to-peer.
- Sharding
You might also be interested in…
External references
- “CISSP Offical Study Guide: 9th Edition”, pp. 983; Chapple et al; Wiley, 2021.
- Reddit community; “Alternative to MongoDB“; Reddit, 2022
- Redis
- Quora community; “Is Redis a NoSQL database?“; Quora
- MongoDB
- Reddit community; “Looking for active fork of MongoDB under AGPL“; Reddit, 2019
- Reddit community; “Has SSPL-licensed MongoDB been accepted?“; Reddit, 2024