#216 Konsistenz und Isolation: von Write Skew bis Dirty Reads

Datenbanken sind das Rückgrat vieler Anwendungen, aber wie konsistent sind deine Daten eigentlich? Egal ob Banküberweisung, Sneaker-Kauf im Online-Shop oder das neueste Side-Project: Oft verbergen sich hinter der vermeintlich „sicheren“ Datenhaltung komplexe Stolperfallen. Wie funktionieren Transaktionen wirklich? Und warum kann ausgerechnet ein falsch gewähltes Isolationslevel zu Dirty Reads, non-repeatable Reads oder sogar zu Write Skew führen? Wir nehmen dich in dieser Episode mit auf eine Reise in die Tiefen der Konsistenzmodelle. Wolfi ist ehemaliger Forscher für Datenbanksysteme an der Uni Innsbruck. Mit ihm steigen wir ein in die Praxis und Theorie; Von Foreign Keys und Check Constraints bis hin zur Multi-Version Concurrency Control (MVCC). Du erfährst, was sich hinter Serializable, Repeatable Read, Read Committed und Read Uncommitted verbirgt und weshalb Tools wie Jepsen immer neue Fehler in selbst „sicheren“ Systemen aufdecken. Am Ende weißt du, warum dich auch als Entwickler:in das Thema Konsistenz, Isolationslevel und Transaktionsmanagement beschäftigen solltest. Bonus: Dirty Reads sind wie Gerüchte: Man hört sie, bevor sie wahr sind… aber was, wenn sie nie stimmen? Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so) Anregungen, Gedanken, Themen und WünscheDein Feedback zählt! Erreiche uns über einen der folgenden Kanäle … EngKiosk Community: https://engineeringkiosk.dev/join-discord LinkedIn: https://www.linkedin.com/company/engineering-kiosk/Email: stehtisch@engineeringkiosk.devMastodon: https://podcasts.social/@engkioskBluesky: https://bsky.app/profile/engineeringkiosk.bsky.socialInstagram: https://www.instagram.com/engineeringkiosk/ Unterstütze den Engineering KioskWenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer Buy us a coffee: https://engineeringkiosk.dev/kaffee LinksMySQL's Terrible ACID https://pigsty.io/blog/db/bad-mysql/Jepsen Consistency Phenomena: https://jepsen.io/consistency/phenomenaJepsen Consistency Models: https://jepsen.io/consistency/modelsAantithesis Reliability Glossar - Consistency Models: https://antithesis.com/resources/reliability_glossary/#consistency-modelsEngineering Kiosk Episode #22 NoSQL: ACID, BASE, Ende einer Ära Teil 2: https://engineeringkiosk.dev/ep22 Engineering Kiosk Episode #91 Konsistent, Verfügbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen: https://engineeringkiosk.dev/ep91 Engineering Kiosk Episode #19 Datenbank-Deepdive (oder das Ende einer Ära): von Redis bis ClickHouse: https://engineeringkiosk.dev/ep19 Engineering Kiosk Episode #189 Fuzzing: Wenn der Zufall dein bester Tester ist mit Prof. Andreas Zeller: https://engineeringkiosk.dev/ep189 Sprungmarken(00:00:00) Konsistenzmodelle von Datenbanken (00:05:43) Info/Werbung (00:06:43) Konsistenzmodelle von Datenbanken (00:15:15) Crash-Kurs Datenbanken: ACID, BASE und CAP (00:27:52) Warum sollten sich Entwickler*innen mit Konsistenz oder Isolationsmodellen auseinandersetzen? (00:33:57) Isolation: Serializable (00:37:16) Isolation: Read uncommitted, Read Committed und Repeatable Read (00:45:38) Phantom Reads, Dirty Reads und Write Skew (00:50:27) Testing und Debugging (00:56:09) Technische Umsetzung von Konsistenzmodellen in Datenbanken (01:01:53) Wer sollte sich um Konsistenzmodelle und Isolationslevel kümmern? HostsWolfgang Gassler (https://gassler.dev) Andy Grunwald (https://andygrunwald.com/) CommunityDiskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord