Stripe architecture: how Stripe scaled (3 case studies)

Stripe's data runs on document databases: MongoDB in its 2017 post and DocDB, its own document database platform, in 2024 (1.5 PB, 99.999% uptime). Stripe published a four-step dual-write playbook for migrating data models without downtime, later built a Data Movement Platform that moves data between shards without downtime, and protects its API with four kinds of rate limiters and load shedders built on Redis.

We track 3 public engineering write-ups by Stripe, published between 2017 and 2024. They cover dual writes, load shedding, online migration and rate limiting. Stack mentioned most: MongoDB (2). 1 of the 3 state concrete scale numbers, for example "1.5 PB". Each card below links to our short summary and the original post.

Tech used in Stripe's scaling write-ups

Stripe scaling timeline: every story, summarized

  1. 2017-02-02

    Online migrations at scale

    Stripe's four-step dual-write playbook for migrating data models without downtime.

    online migrationdual writesMongoDBRuby

    Read the original post →

  2. 2017-03-30

    Scaling your API with rate limiters

    The four kinds of rate limiters and load shedders Stripe uses to protect its API.

    rate limitingload sheddingRedis

    Read the original post →

  3. 2024-06-06

    How Stripe's document databases supported 99.999% uptime with zero-downtime data migrations

    Stripe's DocDB and its Data Movement Platform move data between shards without downtime.

    1.5 PB99.999% uptimeshardingshard migrationzero downtimeMongoDBDocDB

    Read the original post →

FAQ

What database does Stripe use?

Document databases: MongoDB in Stripe's 2017 online migrations post, and DocDB in its 2024 post, which cites 1.5 PB of data and 99.999% uptime.

How does Stripe do zero-downtime migrations?

Stripe's 2017 post lays out a four-step dual-write playbook for changing data models without downtime. Its 2024 post describes a Data Movement Platform that moves data between DocDB shards without downtime.

How does Stripe rate limit its API?

Stripe's 2017 post describes the four kinds of rate limiters and load shedders it uses to protect its API, built on Redis.

The best scaling write-ups, weekly

One email a week. No spam.

Subscribe

Stack in these stories

Browse all 87 topics →