Types of NoSQL Databases

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.

Last updated