We replaced Redis with MySQL for inventory reservations—and it scaled
Summary
Shopify's engineering blog explains migrating inventory reservations from Redis to MySQL using SKIP LOCKED, one row per unit, and a bounded pool to scale for high checkout volumes. It details core design decisions like composite primary keys, READ COMMITTED isolation, and lock ordering, plus insights on bottlenecks being connections rather than CPU and the shadow-mode roll-out.