CockroachDB vs Amazon Aurora

Distributed SQL has become the go-to choice for modern applications, offering the scalability, resilience, and performance needed in today’s global landscape. However, not all distributed SQL databases are created equal.

In this comparison, we look at CockroachDB alongside Amazon Aurora, a cloud database with scalable extensions, but one that falls short of CockroachDB’s native resilience, consistency, and global distribution.


Why CockroachDB over Amazon Aurora?

elastic scale

Unlimited write scale

CockroachDB allows you to scale both reads and writes with every endpoint accepting all transactions

multi region

Global data

CockroachDB provides simple DDL that allows you to define where data will live across multiple regions

geographic scale

Multi-region scale

CockroachDB delivers an automated, simple and resource efficient database that can can span regions, clouds, and self-hosted environments


Side-by-side comparison

image
image
image
Availability
All public clouds, on-prem, and local
AWS only
AWS only
Architecture
Architected to span globally distributed data centers, yet still valuable in single data center
Single write node in one data center, then sync data across regions for distributed reads

Harnesses a journal and adjudicator for distributed writes

Replication
Intelligent replication uses Raft to place data and efficiently utilize storage and compute

Replication of data at storage layer; replication across regions is asynchronous

Replication of data at storage layer; replication across regions is synchronous
Writes
Every node is a gateway to the entirety of the database for unlimited reads and writes in any region
Single node writes causes bottlenecks (multimaster limited)
Each node is capable of writing to any piece of data using OCC with snapshot isolation
Multi-region Writes
Native, all nodes can accept reads and writes even across regions
Write operations must go through the primary region; secondary regions use write forwarding to route writes to the primary
All nodes can accept reads and writes, even across regions
Data Residency
Tie data to a node to optimize performance or comply with data regulations
No ability to tie data to a location
No ability to tie data to a location
PostgreSQL Compatibility
PostgreSQL compatible

PostgreSQL compatible with shard key considerations

Unsupported objects, constraints, operations, extensions, expressions
Transactional Consistency
Serializable, guaranteed consistent
Configurable within single region
Snapshot isolation with OCC which limits access patterns
Ideal Use Case
Single-region or multiple-region applications that may need to scale and want the freedom to run in any cloud or self-hosted environment
Single-region applications that will not scale and are tied to AWS
OCC specific greenfield, AWS-centric architecture where a multi-tenant serverless database is appropriate
Pricing
Simple, straightforward pricing, plus the ability to tie data to a location to avoid egress costs
A-la-carte pricing for IOPS/storage, backups are additional costs & cross-region replication incurs egress cost
Pay-as-you-go usage of compute (measured in Distributed Processing Units) and storage (measured in GB-months)

*Comparison data as of April 2025

Databases and platform freedom

CockroachDB is architected to give you the freedom to deploy your database anywhere, on any cloud. Use the best solution for your workloads and still gain value from any cloud provider.

Group 19591

Freedom from lock-in

Make smart use of your existing resources with CockroachDB’s hybrid-cloud capabilities. AWS Aurora won’t let you deploy in a hybrid environment

Group 19592

Freedom of choice

Pick any (or multiple) providers and run self-deployed or as-a-service. Because no one should have to be locked into a single provider

Group 19593

Freedom to grow

Effortlessly scale and take control of your workloads. Avoid the significant egress costs often seen when moving data with AWS Aurora