We replaced Redis with MySQL for inventory reservations and it scaled
- ID
- 12392
- Status
- summarized
- Published
- 09 Aug 2026, 6:32 AM
- Fetched
- 11 Aug 2026, 7:54 AM
- Provider
- Hacker News
- Category
- dev-community
- Original URL
- https://shopify.engineering/scaling-inventory-reservations
- Source URL
- https://hnrss.org/best
Summary
- Score
- 8.5
- Created
- 11 Aug 2026, 9:00 AM
- Tags
- Audience
- developersdatabase_learnerssaas_founders
What happened
Shopify replaced Redis with MySQL for its oversell protection system to align with a unified database strategy. By using MySQL 8's SKIP LOCKED feature and shifting to a one-row-per-inventory-unit design instead of one row per item, they handled Black Friday 2025 peak traffic of $5.1 million in sales per minute. The hardest lesson was discovering their actual bottleneck wasn't what they were initially measuring.
Why it matters
If you are building high-throughput reservation or locking systems, do not default to Redis just for speed. MySQL 8's SKIP LOCKED combined with a granular row-per-unit design can handle massive contention while preserving ACID guarantees, allowing you to simplify your infrastructure by dropping a specialized cache layer.
Discussion angle
When does it make sense to consolidate your stack into a single database using advanced features like SKIP LOCKED versus keeping specialized tools like Redis for high-contention workloads?