Historically, we have used Redis in two ways at GitHub: We used it as an LRU cache to conveniently store the results of expensive computations over data originally persisted in…
Overview
The article discusses GitHub's transition from using Redis as a persistent datastore to relying on MySQL for data persistence. It outlines the motivations behind this decision, the challenges faced during migration, and the performance improvements achieved through this transition.
What You'll Learn
How to transition from Redis to MySQL for data persistence
Why to consider operational costs when choosing a datastore
How to optimize write operations in a high-traffic environment
Prerequisites & Requirements
- Understanding of Redis and MySQL
- Experience with data migration strategies(optional)
Key Questions Answered
What were the main reasons for GitHub to stop using Redis for persistence?
How did GitHub handle the migration of activity feeds from Redis to MySQL?
What performance improvements were observed after migrating from Redis to MySQL?
What challenges did GitHub face during the migration process?
Key Statistics & Figures
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Key Actionable Insights
1Evaluate the operational costs and performance needs when selecting a datastore.Understanding the trade-offs between different datastores can help in making informed decisions that align with your application's requirements and budget.
2Implement batching and throttling techniques to optimize write operations.By reducing the frequency of writes through batching, you can significantly decrease the load on your database, improving overall system performance.
3Leverage existing expertise in your team when choosing technologies.Utilizing familiar technologies like MySQL can lead to better maintenance and performance, especially if your team has significant experience with them.