We replaced Redis with MySQL for inventory reservations—and it scaled (2026) - Shopify
shopify.engineering · 2,161 words · saved by 1 readers
How we used SKIP LOCKED, composite primary keys, and connection visibility to hit our scale targets.
During checkout, when a buyer clicks "Complete purchase," we need to guarantee the items they're buying are still available. If we get this wrong in one direction, two buyers purchase the same last unit: the merchant has to cancel an order, send an apology email, and eat the support cost. If we get it wrong in the other direction, we tell a buyer something is sold out when it isn't, and the merchant loses a sale they should have made. At Shopify's scale, either failure compounds fast. On Black Friday 2025, merchants on our platform hit a record $5.1 million in sales per minute at peak.…
saved by
related reading
- Building Venice with Apache Helixlinkedin.com
- Redis High Availability: Sentinel, Replication, and Failover Guideredis.io
- Brief History of Scaling Uberhighscalability.com
- Blog — PlanetScaleplanetscale.com
- Everything I know about good system designseangoedecke.com
- Making Shopify’s Flagship App 20% Faster in 6 Weeks Using a Novel Caching Solution - Shopifyshopify.engineering
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.github.com
- Scaling PostgreSQL to power 800 million ChatGPT users | OpenAIopenai.com
- Databases in 2024: A Year in Review // Blog // Andy Pavlo - Carnegie Mellon Universitycs.cmu.edu
- Design a Ticket Booking Site Like Ticketmaster | Hello Interview System Design in a Hurryhellointerview.com
- Making 768 servers look like 1 — PlanetScaleplanetscale.com
- Napkinsirupsen.com