> For the complete documentation index, see [llms.txt](https://functional.gitbook.io/database_comparison_report/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://functional.gitbook.io/database_comparison_report/types-of-databases-relational-vs-non-relational/non-relational-or-nosql-databases.md).

# Non-relational or NoSQL databases

A non-relational database is a non-tabular database that uses different data models for storing, managing, and accessing data. The most common data models are

* **document-oriented** — to store, retrieve, and manage data as JSON documents;
* **key-value** — to represent data as a collection of key-value pairs, where keys are unique strings having corresponding data values;
* **graph** — to store data in the node-edge-node structure where nodes are data points and edges are their relationships; and
* **wide-column** — to store data in the tabular format with flexible columns, meaning they can vary from row to row in the same table.

As these databases aren’t limited to a table structure, they are called NoSQL. They allow for storing unstructured data such as texts, photos, videos, PDF files, and a bunch of other formats. Data is simple to query but isn’t always classified into rows and columns as in a relational database.

**Scalability.** When the number of data and requests increases, non-relational or NoSQL databases are usually scaled horizontally by adding more servers to the pool. They share data between various servers where each contains only a part of the data, decreasing the request-per-second rate in each server.

**Performance.** Non-relational databases are known for their high performance: They have a distributed design, which lowers the performance load on the system and provides a large number of users with simultaneous access. Such databases can store unlimited sets of data that come in all types and shapes. They are also quite flexible when it comes to changing data types.

**Security.** Unlike relational systems, NoSQL databases have weak security, making them a major concern for many infrastructures. While they may provide ACID guarantees, they are typically available within the scope of one database partition, though some DBMSs offer advanced security features that meet strict security and compliance standards.

Since NoSQL databases allow for reserving various data types together and scaling it by growing around multiple servers, their never-decreasing popularity is understandable. Also, building an MVP it’s a great option for startups with sprint-based Agile development. NoSQL requires no pre-deployment preparations, making quick, time-lag-free updates to the data structure easier.

So, what are the most commonly used database systems in SQL and NoSQL? What are their main advantages and disadvantages, and how should businesses use them? Let’s take a deeper look.

**Below, we’ll discuss the list of SQL databases including**

* MySQL
* MariaDB
* Oracle
* PostgreSQL
* &#x20;MSSQL,

**and will complement it with such NoSQL databases as**

* MongoDB
* Redis
* Cassandra
* Elasticsearch
* Firebase

The screenshot below reflects the popularity of these and a few other databases.

<figure><img src="/files/TcXt0300yRBIFZlWzYte" alt=""><figcaption></figcaption></figure>

While more detailed descriptions of the aforementioned databases await you further in the post, the table here aims at providing a quick-look comparison against key criteria.

<figure><img src="/files/lmQOCuTitViX8uxvZ5zb" alt=""><figcaption></figcaption></figure>

Now that you have a general understanding of the differences between relational and non-relational databases, we’re moving on to describe the main modern database management systems along with the pros, cons, and use cases of each.
