Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Replacing MySQL With REDIS For High Volume Processing by George Nassef
1. High Volume Consumer Mobile
Application Using Redis on AWS
Presentation to Tech Meetup
George Nassef
Chief Technology Officer
2. Previous Architecture
Multiple MySQL Clusters on AWS Instances
Geo-Distributed For Low-Latency
Load-balanced RO MySQL Instances Using
Replication.
Cached Videos Using ElasticCache CDN.
MySQL Replication for Speed.
3. Problems
MySQL Replication is Cumbersome
Management of Multiple RO MySQL, No Fun.
Code Complexity and Management.
Cache Expiration and Object Permanence.
Scaling User-Authentication Special Case.
4. Solution
Migrated Heavy Hit Data to Redis
Setup Redis Clusters for Performance Fail-over.
Code simplification was dramatic.
Nearly All MySQL was able to be retired.
Kept MySQL Insert (1-time) for persistent data.
Kept keyed Redis entries for subsequent Reads.
5. Benefits
150x performance improvement.
Able to reduce AWS footprint, save $$$$.
Switched to Spot Instances for Redis Slaves.
Saved more $$$$.
Faster Mobile Consumer Experience.
Able to geo-distribute worker servers for even better
speed.
Smaller Code Footprint, faster development.