Skip to content
Home › SQL Tools › NoSQL & Distributed Databases
Software category

NoSQL and Distributed SQL Databases

Databases that scale out across many servers: NoSQL systems (document, key-value, wide-column, graph, multimodel and in-memory) that trade the relational model for flexible data shapes, and distributed SQL databases that keep SQL and ACID transactions while sharding automatically.

21 listings 8 comparisons Research-based
Last verified November 2026. Listings are research-based profiles built from official vendor and project documentation; no vendor paid for inclusion and the order is alphabetical, not a ranking.

This page is for architects and developers choosing a database for workloads that a single relational server handles poorly: very high write rates, flexible or nested data, relationship-heavy queries, global distribution or sub-millisecond lookups. It lists two different families and keeps them apart. NoSQL systems use a non-relational data model and their own query APIs: document databases (MongoDB, Couchbase, Apache CouchDB, RavenDB), key-value stores (Amazon DynamoDB, FoundationDB, Aerospike), wide-column stores (Apache Cassandra, ScyllaDB, Apache HBase, Bigtable), graph databases (Neo4j), multimodel databases (ArangoDB, OrientDB, Azure Cosmos DB) and in-memory systems (Redis, Apache Ignite).

Distributed SQL databases are relational: tables, SQL, joins and serializable or strongly consistent transactions, with data split and replicated across nodes by consensus. The listings are CockroachDB and YugabyteDB (both PostgreSQL-compatible to different degrees), TiDB (MySQL-compatible) and the PostgreSQL extension Citus. Licensing has moved in several products: ScyllaDB and ArangoDB are no longer open source, the free CockroachDB Core licence ended with v24.3, MongoDB Community Server is under the SSPL, and Redis 8 is offered under RSALv2, SSPLv1 or AGPLv3.

What this software does

Every product here scales by partitioning data across nodes on a key: a shard key in MongoDB, a partition key hashed onto a token ring in Cassandra, a partition key in DynamoDB, row-key ranges in HBase and Bigtable, or automatic ranges and tablets in CockroachDB, YugabyteDB and TiDB. Each partition is replicated for availability. Replication follows one of two broad designs: a primary per partition with followers (MongoDB replica sets, and Raft consensus groups in distributed SQL), or masterless replication where any replica accepts writes (Cassandra, ScyllaDB). The design sets the consistency you get. Cassandra is tunable per request, eventual by default and strong with quorum reads and writes; DynamoDB reads are eventually consistent unless you request strong reads; distributed SQL databases are strongly consistent by default.

NoSQL systems give up some relational features to scale or to fit a data shape. Queries are designed around keys and access patterns, often without joins: Cassandra tables are modelled per query, and DynamoDB queries must follow the key design. Transaction scope is usually narrower: Cassandra and ScyllaDB offer single-partition lightweight transactions, HBase and Bigtable are atomic per row, DynamoDB transactions are limited to 100 actions in one Region, and FoundationDB offers full ACID but limits transactions to five seconds and 10 MB. Each family also has its own query language, such as the MongoDB Query API, CQL, SQL++ (Couchbase), Cypher (Neo4j), AQL (ArangoDB) and RQL (RavenDB).

Distributed SQL takes the opposite trade: it keeps the relational model and multi-row ACID transactions across nodes, using consensus replication (Raft in CockroachDB, YugabyteDB and TiDB) so that a node or zone can fail without manual failover. The cost is extra latency for distributed transactions and the need for applications to retry on serialization conflicts. Compatibility is a key buying point: YugabyteDB reuses the PostgreSQL query layer, CockroachDB speaks the PostgreSQL wire protocol but is not a drop-in replacement, TiDB targets MySQL 8.0 compatibility, and Citus is PostgreSQL itself with sharding added.

Types of product in this category

  • Document: Stores JSON or BSON documents with nested fields and flexible schemas, queried by field and index (MongoDB, Couchbase, Apache CouchDB, RavenDB).
  • Key-value: Addresses each item by a key for very fast reads and writes, with limited querying beyond the key (Amazon DynamoDB, FoundationDB, Aerospike).
  • Wide-column: Stores rows by partition or row key with many columns grouped in families or clustering columns, built for very large, write-heavy datasets (Apache Cassandra, ScyllaDB, Apache HBase, Bigtable).
  • Graph: Stores nodes and relationships as first-class data and queries paths through them, here with Cypher in Neo4j.
  • Multimodel: Supports several data models, such as document, graph and key-value, in one engine or service (ArangoDB, OrientDB, and Azure Cosmos DB with its NoSQL, MongoDB, Cassandra, Gremlin and Table APIs).
  • In-memory: Keeps the working dataset in RAM for very low latency, used for caching, sessions, queues and real-time data (Redis, Apache Ignite).
  • Distributed SQL: Relational databases that shard and replicate automatically while keeping SQL and distributed ACID transactions (CockroachDB, YugabyteDB, TiDB, and the Citus extension for PostgreSQL).

Typical use cases

High-volume writes: telemetry, events and logs

Wide-column stores such as Cassandra and ScyllaDB accept writes on any replica and scale by adding nodes, which suits sensor readings, activity feeds and audit events keyed by device or user and time.

Flexible product catalogues and user profiles

Document databases such as MongoDB and Couchbase store records whose fields vary between items, without schema migrations for every new attribute.

Caching, sessions and real-time counters

In-memory stores such as Redis hold sessions, rate limits, leaderboards and queues where sub-millisecond latency matters more than durability of every write.

Relationship-heavy queries

Fraud rings, recommendations, network topology and access graphs are simpler to express as graph traversals in Neo4j or ArangoDB than as many SQL joins.

Global OLTP that must stay relational

Order, payment and account systems that need SQL and strong consistency across zones or regions are the target of CockroachDB, YugabyteDB and TiDB, and of Google Cloud Spanner outside this list.

Offline-first mobile and edge sync

Apache CouchDB with PouchDB and Couchbase with Couchbase Lite replicate data to browsers and devices and sync it back when they reconnect.

How to choose

  • Data model and access patterns. Start from the queries, not the product. List the reads and writes the application performs and their volumes, then choose the model that serves them directly. Key-value and wide-column stores need every major query known in advance; document databases tolerate more ad hoc querying; relational distributed SQL handles changing query patterns best.
  • Consistency and transaction scope. Check what is atomic and what a read is guaranteed to see. Compare single-partition lightweight transactions (Cassandra, ScyllaDB), single-row atomicity (HBase, Bigtable), bounded multi-item transactions (DynamoDB, 100 actions), multi-document ACID transactions (MongoDB, Couchbase) and fully distributed ACID (CockroachDB, YugabyteDB, TiDB). Some features are edition-gated: Aerospike strong consistency and transactions need Enterprise licensing.
  • Query language and SQL needs. If analysts and tools need SQL, prefer distributed SQL or a NoSQL system with a SQL-like layer (Couchbase SQL++, Bigtable GoogleSQL for reads, HBase through Apache Phoenix). Proprietary languages such as AQL or RQL mean skills and queries do not transfer.
  • Partitioning and hot spots. Ask how the key is chosen and whether it can change later. A poor shard or partition key concentrates traffic on a few nodes and is hard to fix; MongoDB, Cassandra, DynamoDB, HBase and Bigtable all depend on key design for performance.
  • Multi-region and active-active. Check whether writes can be accepted in more than one region and how conflicts are handled. Options include Cassandra and ScyllaDB per-data-centre replication, DynamoDB global tables (with a strongly consistent mode), Couchbase XDCR (Enterprise Edition), and row-level regional placement in CockroachDB.
  • Licence and lifecycle. Several licences are not OSI open source: MongoDB (SSPL), Couchbase (BSL 1.1), ScyllaDB (source-available since 2025.1, free up to 10 TB and 50 vCPUs for non-customers), ArangoDB (BSL 1.1 since 3.12, with Community binaries limited to non-commercial use under 100 GB) and CockroachDB (proprietary since v24.3, when Core ended). Apache 2.0 options include Cassandra, HBase, CouchDB, FoundationDB, Ignite, YugabyteDB and TiDB. OrientDB has been community-maintained since SAP ended its maintenance in 2023.
  • Managed service and cloud lock-in. DynamoDB runs only on AWS, Bigtable only on Google Cloud and Cosmos DB only on Azure. MongoDB Atlas, Couchbase Capella, CockroachDB Cloud, YugabyteDB Aeon, TiDB Cloud and Neo4j AuraDB run on several clouds. Some open source projects (Cassandra, CouchDB, FoundationDB, Ignite) have no managed service from the project, only from third parties.
  • Operational burden. Self-managed distributed databases need specialist skills. Cassandra needs repair, compaction and capacity planning; HBase needs HDFS and ZooKeeper; a self-managed TiDB cluster runs TiDB, TiKV, PD and TiFlash components; Vitess-style external sharding is not needed with distributed SQL, but node, zone and region placement still need planning. Managed services remove most of this work.
  • Compatibility with existing code. APIs can shorten a migration: ScyllaDB runs CQL applications and offers a DynamoDB-compatible API, YugabyteDB offers PostgreSQL-compatible YSQL and Cassandra-style YCQL, TiDB is MySQL 8.0-compatible, Bigtable has an HBase-compatible client, and Cosmos DB offers MongoDB and Cassandra APIs. Check the unsupported-features list before assuming a drop-in replacement.

All nosql & distributed databases listings

Freemium Commercial software

Aerospike Database

Low-latency key-value and multi-model database with RAM indexes and SSD data; Community and Enterprise.

Linux, Kubernetes, Aerospike Cloud (AWS)
Key-value
Freemium Managed service

Amazon DynamoDB

Serverless AWS key-value and document database billed per request or capacity unit, with global tables.

AWS (managed)
Key-value
Free Open source database

Apache Cassandra

Apache 2.0 masterless wide-column database with CQL and tunable consistency for multi-data-centre workloads.

Linux, Docker, Kubernetes
Wide-column
Free Open source database

Apache CouchDB

Apache 2.0 JSON document database with an HTTP API and multi-primary replication for offline-first sync.

Linux, Windows, macOS
Document
Free Open source database

Apache HBase

Apache 2.0 Bigtable-style wide-column store on Hadoop HDFS with strictly consistent random reads and writes.

Linux, Hadoop (HDFS)
Wide-column
Free Open source database

Apache Ignite

Apache 2.0 distributed in-memory database with SQL, transactions and compute; Ignite 3 and Ignite 2 lines.

JVM (Linux, Windows, macOS), Docker
In-memory
Freemium Source-available database

ArangoDB

Multi-model document, graph and key-value database with AQL; BSL 1.1 source, Community limited to 100 GB.

Linux, Docker, Managed (AMP)
Multimodel
Freemium

Azure Cosmos DB

Microsoft's globally distributed NoSQL and vector database with several APIs and request-unit pricing.

Azure (managed)
Multimodel · Also in Cloud Database Platforms
Managed service

Bigtable

Google Cloud wide-column NoSQL service for huge key-addressed datasets, billed per node-hour plus storage.

Google Cloud (managed)
Wide-column
Free PostgreSQL extension

Citus

Open source PostgreSQL extension from Microsoft that shards tables or schemas across a cluster of nodes.

Linux, Docker, Azure
Distributed SQL · Also in Database Proxy & Connection Pooling
Freemium Commercial software

CockroachDB

PostgreSQL-wire distributed SQL database; proprietary licence since v24.3, free only under USD 10M revenue.

Linux, Kubernetes, Cloud (AWS, GCP, Azure)
Distributed SQL
Freemium Commercial database

Couchbase

JSON document and key-value database with SQL++, vector search and mobile sync; Community, Enterprise and Capella.

Linux, Windows, Kubernetes, Capella SaaS
Document
Free Open source database

FoundationDB

Apache 2.0 distributed ordered key-value store from Apple with cluster-wide ACID transactions and layers.

Linux, macOS
Key-value
Freemium Source-available database

MongoDB

Document database with replica sets, sharding and transactions; free Community Server (SSPL), paid Enterprise Advanced.

Linux, Windows, macOS, Kubernetes, Atlas
Document
Freemium Graph database

Neo4j

Property graph database queried with Cypher; free GPLv3 Community, paid Enterprise and AuraDB managed service.

Linux, Windows, macOS, Kubernetes, AuraDB
Graph
Free Open source database

OrientDB

Apache 2.0 graph and document database, community-maintained since SAP ended support in 2023.

JVM (Linux, Windows, macOS)
Multimodel
Freemium Commercial software

RavenDB

Transactional document database with RQL, auto indexes, time series and ETL; free Community licence.

Windows, Linux, macOS, Docker, Cloud
Document
Freemium In-memory database

Redis

In-memory data store with JSON, search and vector search in Redis 8; RSALv2, SSPLv1 or AGPLv3, plus Redis Cloud.

Self-hosted, Redis Software, Redis Cloud
In-memory
Freemium Source-available database

ScyllaDB

CQL and DynamoDB-compatible wide-column database; source-available since 2025.1, free up to 10 TB and 50 vCPUs.

Linux, Kubernetes, AWS, GCP, Azure, X Cloud
Wide-column
Freemium Open source database

TiDB

Apache 2.0 MySQL-compatible distributed SQL database with TiKV row and TiFlash columnar storage (HTAP).

Linux, Kubernetes, TiDB Cloud
Distributed SQL
Freemium Open source database

YugabyteDB

Apache 2.0 distributed SQL database with PostgreSQL-compatible YSQL and Cassandra-style YCQL APIs.

Linux, Kubernetes, Aeon (AWS, GCP, Azure)
Distributed SQL
No listings match this filter.

Comparisons

Alternatives and buyer guides

Related reading on CodeWithSQL

Frequently asked questions

What is the difference between NoSQL and distributed SQL?

NoSQL databases use non-relational models (documents, key-value items, wide-column rows, graphs) and their own query APIs, and usually limit joins and the scope of transactions in exchange for scale or flexibility. Distributed SQL databases such as CockroachDB, YugabyteDB and TiDB keep relational tables, SQL and ACID transactions across nodes, and scale out by sharding and replicating data automatically with consensus.

Is CockroachDB still open source?

No. From v24.3 (November 2024) all CockroachDB releases are under the proprietary CockroachDB Software License, and the free CockroachDB Core licence ended. An Enterprise Free licence is available to smaller businesses below a revenue threshold and requires telemetry; larger organisations need a paid Enterprise licence or CockroachDB Cloud.

Is ScyllaDB open source?

Not any more. ScyllaDB Open Source 6.2.x was the last AGPL release. From ScyllaDB 2025.1 there is one source-available product line, free for organisations that are not paying customers up to 10 TB and 50 vCPUs, with commercial licences above that. The licence also bars offering ScyllaDB as a service.

Is ArangoDB free for commercial use?

Not the Community Edition binaries from 3.12 onward: they are under the ArangoDB Community License, which limits use to non-commercial purposes and datasets under 100 GB, and the source is under the Business Source License 1.1, converting to Apache 2.0 four years after each release. Commercial use beyond that needs an Enterprise licence or the managed platform.

Is Cassandra eventually consistent?

By default, yes, but consistency is tunable per request. With quorum reads and quorum writes, a read sees the latest acknowledged write. Cassandra 5.0 offers lightweight transactions (compare-and-set) within a partition, but no multi-partition ACID transactions.

When is a NoSQL database the wrong choice?

When the data is highly relational, query patterns are not known in advance, or you need multi-row transactions and ad hoc reporting. Then a relational database, or distributed SQL if you need to scale out, is usually simpler. NoSQL key and shard design decisions are also hard to change later, so they suit stable, well-understood access patterns.

How we research listings: our editorial method. Other categories: the full SQL tools directory.

Compare before you choose

See the head to head comparisons or browse every category in the tools directory.