What is NoSQL?

NoSQL is a term generally used to describe any database management system that uses a non-relational data model. The following table lists several NoSQL data models and highlights a few of the popular open-source databases that implement them, but please note that this is not a comprehensive list:

Operational Database Model Example DBMSs
Key-value store Redis, MemcacheDB
Columnar database Cassandra, Apache HBase
Document store MongoDB, Couchbase, Elasticsearch
Graph database OrientDB, Neo4j

These different data models can allow for far greater flexibility than the rigid structure imposed by relational databases. Because of their flexibility, NoSQL databases have a reputation for being a better choice for storing semi-structured and unstructured data, as opposed to the normalized, structured data required by relational databases. Since NoSQL databases don’t come with a predefined schema, it’s typically up to developers or database administrators to define how the data should be organized and accessed in whatever way makes the most sense for their application.

For more educational resources related to NoSQL, please visit:

  • A Comparison of NoSQL Database Management Systems and Models
  • How to Install MongoDB
  • How to Install and Secure Redis
  • How To Install and Configure Neo4j on Ubuntu 20.04

A complete list of our educational resources on NoSQL can be found on our NoSQL tag page.