How Discord Stores Billions of Messages

Early story of Discord outgrowing MongoDB and moving messages to Cassandra with a channel+time-bucket partition key.

Published
2017-01-13
Scale
billions of messages, 120 million messages/day
Techniques
database migration data modeling partitioning
Stack
Cassandra MongoDB

Try this stack yourself

  • Railway · Deploy something like this on Railway: spin up MongoDB plus your app in a few clicks. New accounts get $20 in credit (applied when you pick a paid plan).
    Railway isn't part of Discord's setup in this story. It's just an easy place to try the same building blocks.

Some links above are affiliate links: if you sign up, How They Scaled may earn a commission at no extra cost to you. We only list tools that fit the stack in the story.

See also

The best scaling write-ups, weekly

One email a week. No spam.

Subscribe