Discord faced the challenge of managing trillions of messages while experiencing rapid growth. In 2017, they switched to Cassandra but faced scaling issues. They migrated to Scylla DB, a high-performance NoSQL database written in Rust. They improved performance using data services and successfully migrated their data, reducing latency and improving message insertion times. The migration was a massive success, and Discord's engineering team actively monitored performance during peak events like the World Cup. The key takeaways include not relying solely on shiny new technology, using the right tool for the job, and continuous improvement.
Here are the key facts extracted from the text:
1. Discord faced scalability issues with its previous MongoDB database in 2017.
2. Discord switched to a Cassandra database to address the scaling issues.
3. Discord continued to grow, reaching over 140 million users in 2021.
4. The Cassandra database had challenges with managing trillions of messages across 177 nodes.
5. Discord engineers introduced data services to handle message traffic and implemented them using Rust.
6. Discord considered migrating to Scylla DB, a NoSQL database written in C++.
7. Discord successfully migrated all databases to Scylla DB, except one for messages.
8. They developed a new migration tool in Rust to speed up the migration process.
9. The migration was completed in nine days, significantly faster than the initial estimate of three months.
10. After the migration, Scylla DB improved message latency and performance.
11. Discord engineers monitored message performance during popular events like the World Cup.
12. The migration was considered a success due to minimal downtime.
13. The article emphasizes the importance of choosing the right technology for the job and not being overly attached to existing tech stacks.
These facts provide an overview of Discord's database challenges and their successful migration to Scylla DB.