RDS is a great solution, until you run out of vertical scaling headroom and need to figure out how to horizontally scale the solution. RDS also requires planned downtime for maintenance operations like schema changes, software updates, or manual sharding. Downtime that CockroachDB doesn't share because those maintenance activities are done online.

I came across an article on Medium about Thoughtworks' journey from RDS to CockroachDB and it's worth keeping track of their experience because it speaks not only to RDS but also to "regular" Postgres limitations.

Thoughtworks Case Study

Thoughtworks was successfully using Amazon RDS (Postgres) until they hit scale limits and wrote a great post on why they migrated to CockroachDB.

In their own words:

Postgres on RDS is a best-in-class “scale-up” database, and it served us well. But our needs shifted. We needed a “scale-out” database that was designed to be global, distributed, and “survivable.”

The author mentions seven specific differences between the two offerings that make CockroachDB simpler to operate:

  1. MVCC: From Manual VACUUM to Automatic GC
  2. Going Global: True Multi-Region Writes
  3. Resilience: Fast Failover vs. Zero Downtime
  4. Beyond HA: The Nightmare of DR Drills
  5. Smarter Resource Management: Handling Connection “Arrival Rate”
  6. Recovery: Point-in-Time Snapshots vs. Revision History
  7. Data Lifecycle: Cron Jobs vs. Built-in TTL

It also briefly covers two other solutions that were considered, Aerospike and Yugabyte. The main part of the article, however, discusses the differences between RDS Postgres and CockroachDB and makes for a really useful read.

In the end, their decision came down to simplicity. Again, in their own words:

The rationale for migrating to CockroachDB was simple: We chose to trade operational complexity for architectural simplicity.

Really, take a few minutes and read the article directly. It's worth your time.

DoorDash Case Study

Another company that moved from RDS to CockroachDB is DoorDash. They migrated when systems failed during pandemic growth.

While this article is old, it is, as they say, an oldie but a goodie.

How DoorDash Migrated from Aurora Postgres to CockroachDB
At the start of the pandemic, the food-ordering app crashed under overwhelming demand. Moving to a distributed SQL database management system made it more resilient.

Riskified Case Study

Another company, Riskified, has done a whole case study with us describing their migration from RDS Postgres to CockroachDB, including interesting details of their migration strategy.

They've even done a video interview talking about the migration:

Learn More

We're created a detailed comparison between CockroachDB and two Amazon offerings - RDS and DSQL that's worth checking out if you're looking for even more information:

CockroachDB vs Amazon Aurora
CockroachDB vs Amazon Aurora