Der Forever-Log: Warum Tiered Storage die Rechnung (und die Risiken) verändert

Tiered Storage verwandelt Kafka in ein System of Record mit unbegrenzter Retention. Doch mit großen Möglichkeiten kommen neue Albträume. Anatoly Zelenin und Bryan De Smaele diskutieren, warum Replikation kein Backup ist und warum ein einziges gelöschtes Topic Terabytes an Daten vernichten kann.

Dieses Interview ist eine bearbeitete Fassung des Gesprächs aus dem Cymo EDA Podcast. Bitte beachte, dass es sich hierbei nicht um ein wortwörtliches Transkript handelt; es wurde gekürzt und strukturiert, um die wichtigsten architektonischen Erkenntnisse zu vermitteln.

Bryan De Smaele (Cymo): Willkommen, Anatoly. Wir sprechen oft über Kafka als Werkzeug für Agilität, aber heute möchte ich die Sicht des Betriebs beleuchten. Du arbeitest viel im Finanzsektor. Meiner Erfahrung nach waren Banken tatsächlich einige der frühen Kafka-Anwender außerhalb der Tech-Welt. Was hat diese frühe Adaption vorangetrieben?

Anatoly Zelenin (DataFlow Academy): Danke, Bryan. Du hast recht. Banken waren im Grunde gezwungen, es früh einzuführen, wegen eines einfachen Rechenproblems.

Sie haben diese riesigen Legacy-Kernsysteme. Mainframes oder gigantische Oracle-Monolithen. Das Problem ist: Jedes Mal, wenn du einen Mainframe abfragst, berechnet IBM dir MIPS (Million Instructions Per Second). Und auf der Oracle-Seite laufen diese Datenbanken oft schon am Limit. Wenn du eine moderne mobile App direkt daran anschließt, wirst du entweder durch die MIPS-Gebühren bankrottgehen oder die Datenbank komplett zum Absturz bringen.

Der Treiber war also das "Offloading". Wir extrahieren die Daten einmal aus dem Kernsystem in Kafka, und von dort aus können wir sie fast kostenlos an Anwendungen verteilen . Aber sobald die Daten einmal in Kafka sind, stellt sich sofort die Frage: Warum sie wieder löschen?

Der finanzielle Wandel: Tiered Storage

Bryan: Das bringt uns zu Tiered Storage. Davor war es zwar technisch möglich, Daten für immer in Kafka zu halten, aber sehr teuer.

Über Bryan De Smaele: Bryan De Smaele ist Technologie-Unternehmer und Architekt, spezialisiert auf Event-Driven Architecture und Apache Kafka. Als Mitgründer von Cymo & Kannika entwirft er skalierbare Data-Streaming-Lösungen für komplexe digitale Transformationen. Als regelmäßiger internationaler Speaker und Community-Organisator schlägt Bryan die Brücke zwischen anspruchsvoller Softwarearchitektur und echtem geschäftlichen Mehrwert.

Anatoly: Exakt. Vor Tiered Storage war Kafka einfach nur eine sehr teure, schnelle Festplatte. Weil Speicher und Rechenleistung (Compute) gekoppelt waren, musstest du, wenn du 100 TB Historie speichern wolltest, auch die Server kaufen, um diesen Speicher zu unterstützen – selbst wenn du die CPU-Leistung gar nicht benötigt hast.

Tiered Storage ändert diese Rechnung grundlegend. Es entkoppelt Compute von Storage. Du behältst deine heißen Daten (die letzten paar Stunden oder Tage) auf teuren SSDs auf dem Broker. Alles andere, Monate oder Jahre an Historie, wird auf S3 oder einen anderen Object Store ausgelagert.

client-quote-img

Vor Tiered Storage war Kafka ein sehr teures Speichersystem… Mit Tiered Storage zahlst du nicht mehr den Aufpreis für SSDs, sondern nur noch die Preise für Object Storage.

Anatoly Zelenin
Gründer, DataFlow Academy

Bryan: Aber ich höre oft Leute fragen: "Warum soll ich alles in Kafka behalten? Ich kann es doch einfach in meine Datenplattform laden und von dort nutzen."

Anatoly: Das ist das übliche Gegenargument. Aber Kafka kann als System of Record sowohl für operationale als auch für analytische Daten fungieren. Das ermöglicht dir einen zentralen Zugriffspunkt für alte und neue Daten.

Das macht den Forever-Log möglich. Plötzlich ist Kafka nicht mehr nur eine Pipe. Es wird zum System of Record. Aber genau hier beginnen die neuen Herausforderungen.

Das Backup-Paradoxon: Replikation ≠ Backup

Bryan: Wenn Kafka zum System of Record wird, ändern sich die Anforderungen an die Zuverlässigkeit. Aber viele Teams arbeiten immer noch unter der Annahme: "Kafka braucht keine Backups, weil es Replikation hat."

client-quote-img

Es ist die ewige Geschichte von Hochverfügbarkeit gegenüber echtem Disaster Recovery.

Bryan De Smaele
Co-Founder, Cymo

Anatoly: Das ist ein gefährlicher Irrtum. Zu sagen "Ich habe einen Replikationsfaktor von 3, also brauche ich keine Backups", ist wie zu sagen "Ich habe RAID 5, also brauche ich keine Backups". Wir haben spätestens in den 90ern gelernt, dass RAID kein Backup ist.

Replikation bietet Hochverfügbarkeit. Sie schützt dich, wenn ein Server abstürzt. Sie schützt dich nicht vor menschlichem Versagen.

Wenn jemand ein Skript ausführt, das ein Topic in der Produktion statt in der Entwicklungsumgebung löscht, sorgt die Replikation nur dafür, dass die Daten sofort von allen drei Brokern gelöscht werden.

Über Cymo: Cymo ist eine Technologieberatung, die auf Event-Driven Architecture (EDA) und Echtzeit-Datenstreaming spezialisiert ist. Mit Sitz in Belgien ist Cymo auch der Schöpfer von Kannika, der ersten produktionsreifen Backup-Lösung für Apache Kafka. Cymo baut nicht nur Streaming-Plattformen – sie stellen sicher, dass Unternehmensdaten widerstandsfähig und wiederherstellbar bleiben, egal in welcher Größenordnung.

Mit Tiered Storage wird deine Backup-Strategie tatsächlich etwas handhabbarer, aber du musst gezielt vorgehen. Es ist auch wichtig zu beachten, dass diese rohen Backups unflexibel sein können:

  • Kalte Daten: Das ist einfach. Sie liegen bereits in S3. Du kannst die Standard-Replikation des Object Stores nutzen, um sie zu sichern.

  • Heiße Daten: Das ist dein Risikofenster. Daten liegen auf dem Broker, bis das Segment rollt und auf S3 hochgeladen wird. In diesem Zeitfenster bist du immer noch verwundbar.

  • Wiederherstellung bestimmter Datensätze: Etwas genau in das Topic zurückzulegen, aus dem es kam, ist machbar. Aber spezifische Daten für die Wiederherstellung zu identifizieren, ist schwer.

Die versteckte Falle: Schema-IDs und Disaster Recovery

Bryan: Lass uns über die Metadaten sprechen. Du hast erwähnt, dass man selbst mit Backups der Logs die Daten möglicherweise nicht mehr lesen kann – wegen der Schema Registry.

Anatoly: Das ist der spezielle Albtraum, der mich nachts wach hält. Die Schema Registry weist jedem Schema eine ID zu. Diese ID ist in die Kafka-Nachricht eingebettet. Das Problem ist: Die ID hat keine semantische Bedeutung. Sie ist nur ein Zähler.

Bryan: Und was passiert, wenn diese Zuordnung verloren geht?

Anatoly: Ich kann dir ein echtes Beispiel geben. Ich hatte einen Kunden, bei dem das _schemas Topic versehentlich gelöscht wurde.

Es war eine Katastrophe. Die Daten waren noch da. Terabytes davon lagen in den Topics. Aber weil das _schemas Topic weg war, verloren sie die Zuordnung. Sie hatten Nachrichten, die sagten "Ich bin Schema ID 5", aber sie hatten keine Ahnung mehr, wie ID 5 aussah.

client-quote-img

Die Schema-IDs sind nur Nummern, die hochgezählt werden. Es gibt keine semantische Bedeutung… Wenn du dein Schema-Topic verlierst, hast du kaum eine Chance, die Informationen jemals wiederherzustellen.

Anatoly Zelenin
Gründer, DataFlow Academy

Bryan: Das ist beängstigend.

Anatoly: Ist es. Du musst dein _schemas Topic als ein extrem kritisches Datenstück behandeln. Wenn du Disaster Recovery betreibst, kannst du nicht einfach eine neue Registry hochfahren und erwarten, dass es funktioniert. Die IDs werden nicht übereinstimmen (ID 5 im alten Cluster könnte ID 1 im neuen sein).

Wenn du dieses spezifische Topic nicht Byte-für-Byte sicherst und wiederherstellst, könnten deine Terabytes an Daten zu binärem Müll werden.

Fazit

Bryan: Tiered Storage öffnet also die Tür zum Forever-Log, aber die operationale Reife muss erst noch aufholen?

Anatoly: Genau. Wir bewegen uns von Daten bewegen zu Daten behalten.

  1. Tiered Storage macht die Wirtschaftlichkeit möglich.

  2. Backups sind Pflicht, wenn dir deine historischen Daten wichtig sind.

  3. Schema Disaster Recovery ist die versteckte Falle, für die du planen musst, bevor es brennt.

Bryan: Danke für diesen Realitätscheck, Anatoly.

Anatoly: Jederzeit. Wir sehen uns auf dem nächsten Kafka Summit. Oder auf LinkedIn (Bryan und Anatoly).

Über Anatoly Zelenin
Hallo, ich bin Anatoly! Ich liebe es, bei Menschen das Funkeln in den Augen zu wecken. Als Apache Kafka Experte und Buchautor bringe ich seit über einem Jahrzehnt IT zum Leben - mit Leidenschaft statt Langeweile, mit Erlebnissen statt endlosen Folien.

Weiterlesen

article-image
Schema Management in Kafka

In diesem Post erfährst du, wie explizite Schemas, dir dabei helfen, ein mögliches Chaos in Kafka zu vermeiden und wie die Schema Registries dabei unterstützen.

Mehr lesen
article-image
Kafka in Banken: Eine Verbindung zwischen den Welten – für langfristig wirtschaftliche Projekte

Kernbankensysteme kümmern sich um die wichtigsten Prozesse im Bankenwesen. Das Problem: Diese unbeweglichen Kolosse harmonieren nur selten mit den Wünschen der heutigen Kundinnen und Kunden. Es braucht Systeme, die das Alte mit dem Neuen verbinden. In vielen Bankhäusern wird dafür auf Apache Kafka gesetzt. Warum?

Mehr lesen