The five requirements Discord wrote down
Before shopping for a tool, they defined what they needed (4:14, 4:31):
- Scale easily by just adding machines.
- Survive failures on its own — nobody paged at 3:00 AM.
- Need very little babysitting.
- Be battle-tested at massive scale, not experimental.
- Be predictable / consistent — the most important one.
Why "predictable" outranks "fast"
- A database that is fast most of the time but randomly slow is harder to live with than one that is steadily a bit slower (
4:31). - This requirement is the through-line of the whole story — it is exactly what they finally get years later with ScyllaDB.
The pick: Apache Cassandra
- Only one database ticked every box: Apache Cassandra (
4:31). - Justification at the time (
4:55):- Big names already ran thousands of Cassandra nodes in production.
- It scaled horizontally.
- It self-healed.
- It was open source.
Lesson
Write the wishlist first, then go find the tool. Most teams do it backwards — they fall in love with a tool, then try to justify it (
4:55,5:10).