> For the complete documentation index, see [llms.txt](https://gchandra.gitbook.io/big-data-and-tools-with-nosql/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gchandra.gitbook.io/big-data-and-tools-with-nosql/nosql/types-of-nosql-databases.md).

# Types of NoSQL Databases

<figure><img src="https://1471795080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrtXPLjVTxuTGIysjCx89%2Fuploads%2Fiyz4pslyutxRCGYIOUdZ%2Fno_sql_types_dbs.svg?alt=media&amp;token=2e6ccc2b-edac-4236-b629-eb0ea5ba28f7" alt=""><figcaption></figcaption></figure>

### **Key-Value Store**

* **Description**: Stores data as a collection of key-value pairs where a key serves as a unique identifier. Highly efficient for lookups, insertions, and deletions.
* **Examples**:
  * **Redis (Open Source)**: An in-memory data structure store used as a database, cache, and message broker.
  * **DynamoDB (Commercial)** is a fully managed, serverless, key-value NoSQL database designed for internet-scale applications provided by AWS.

### **Document Store**

* **Description**: It stores data in documents (typically JSON, BSON, etc.) and allows nested structures. It is ideal for storing, retrieving, and managing document-oriented information.
* **Examples**:
  * **MongoDB (Open Source)** is a document database with the scalability and flexibility you want, as well as the querying and indexing you need.
  * **CouchDB (Open Source)** is a database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API.

### **Wide-Column Store**

* **Description**: It stores data in tables, rows, and dynamic columns. It is efficient for querying large datasets and suitable for distributed computing.
* **Examples**:
  * **Cassandra (Open Source)** is a distributed database system for handling large amounts of data across many commodity servers.
  * **HBase (Open Source)** is an open-source, distributed, versioned, non-relational database modeled after Google's Big Table.

### **Graph Database**

* **Description**: Stores data in nodes and edges, representing entities and their interrelations. Ideal for analyzing interconnected data and complex queries.
* **Examples**:
  * **Neo4j (Open Source / Commercial)** is a graph database platform that provides an ACID-compliant transactional backend for your applications.
  * **OrientDB (Open Source)** is a multi-model database that supports graph, document, object, and key/value models.

### **Time Series DB**

* **Description**: Optimized for handling time-stamped data. Ideal for analytics over time-series data like financial data, IoT sensor data, etc.
* **Examples**:
  * **InfluxDB (Open Source)**: An open-source time series database that handles high write and query loads.
  * **TimescaleDB (Open Source / Commercial)** is an open-source time-series SQL database optimized for fast ingest and complex queries.

### **Multi-Model DB**

* **Description**: Supports multiple data models against a single, integrated backend. This can include documents, graphs, key values, in-memory, and search engines.
* **Examples**:
  * **Redis (with Extensions)**
  * **FaunaDB (Commercial)**: A distributed database that supports multiple data models and is designed for serverless applications.
  * **ArangoDB (Open Source)** is a native multi-model database with flexible data models for documents, graphs, and key values.

<br>
