Shopify ersetzt Redis durch MySQL für Inventarreservierungen – und es skaliert
Shopify replaced Redis with MySQL for inventory reservations–and it scaled

Shopify hat sein System zur Verhinderung von Überverkäufen von Redis auf MySQL umgestellt. Der Schlüssel war die Nutzung von SKIP LOCKED mit einer Zeile pro verkaufbarer Einheit und begrenzten Pools. Die Umstellung brachte ACID-Garantien und beseitigte Synchronisationsprobleme. Doch der eigentliche Engpass war nicht die Datenbank, sondern die Verbindungsnutzung: Andere Teile des Checkouts hielten Verbindungen zu lange. Durch Optimierungen und Konfigurationsänderungen konnte Shopify die Spitzenlast des Black Friday 2025 bewältigen.
Verbindungen sind endlich: Bei hohem Durchsatz brauchen wir viele kurze Transaktionen pro Sekunde. Wenn anderer Code Verbindungen länger hielt, waren Reservierungen der Tropfen, der das Fass zum Überlaufen brachte – nicht weil Reservierungen langsam waren, sondern weil der Pool bereits fast leer war.