NoSQL databases

"NoSQL" is an umbrella term for a range of non-relational databases, ie. database designs that are not based on the traditional model of relational, tabular data. NoSQL refers to any database management system that is based on schema-less data models, and therefore does not require stored data to be highly structured.

NoSQL databases have varied data storage models. The four main types are:

Other types of NoSQL databases include time-series databases.

NoSQL databases offer more flexibility and easier horizontal scalability than relational databases, but may sacrifice some of the [data integrity] and transactional guarantees of relational databases.

NoSQL is suited for handling large volumes of unstructured or semi-structured data (in which data structures may be changed, to some degree, on a per-record basis), and for applications requiring quick iterations in the design of their data model.

Compared to relational databases, NoSQL databases are more amenable to horizontal scaling. Indeed, some NoSQL databases systems are designed specifically to be distributed across multiple nodes. Examples include Cassandra and MongoDB.

Another way to classify databases is between transactional or operational databases and analytical databases.