Kapitel 6. Konsistenz

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wenn du mit Datenbanken vertraut bist, hältst du Konsistenz für selbstverständlich. Du weißt, dass die Ergebnisse deiner Abfragen mit den Eingabedaten übereinstimmen werden. Stell dir nun vor, du wagst den Sprung von der Datenbank in die Streaming-Welt. Kannst du dich hier auf ähnliche Konsistenzgarantien verlassen, auch wenn die Komplexität der Daten, die verspätet und in ungeordneter Reihenfolge eintreffen, noch größer ist und der Schwerpunkt auf niedrigen Latenzzeiten und hohem Durchsatz liegt?

Für klassische Stream-Prozessoren lautet die Antwort: Nein. Sie garantieren eine schwächere Form der Konsistenz, die sogenannte eventuelle Konsistenz. Für klassische Stream-Processing-Anwendungsfälle, bei denen es oft um die Aggregation von Daten mit Fenstern geht, ist die eventuelle Konsistenz perfekt geeignet und ermöglicht außerdem Datenpipelines mit extrem niedriger Latenz, sehr hohem Durchsatz und extrem großem Maßstab. Wenn du aus der Datenbankwelt kommst, kann sich eventuelle Konsistenz jedoch als verwirrend und kontraintuitiv erweisen - vor allem in Kombination mit Daten ohne Fenster.

In diesem Kapitel werden wir anhand eines Beispiels aus dem Bankensektor zeigen, was bei konsistenten Stream-Prozessoren wie Flink, ksqlDB und Proton schiefgehen kann, wenn man nur seinen Intuitionen aus der Datenbankwelt folgt.

Interessanterweise ...

Get Streaming-Datenbanken now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.