Replacing MySQL With REDIS For High Volume Processing by George Nassef

Preview:

Citation preview

High Volume Consumer Mobile

Application Using Redis on AWSPresentation to Tech Meetup

George Nassef

Chief Technology Officer

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.

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.

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.

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.

Recommended