Alles, was Software Engineers über Logs wissen sollten | Der Hintergrund zur Entstehung von Apache Kafka
(link.medium.com)Ein Artikel, der den Beitrag von Jay Kreps aus dem Jahr 2013 über die Entwicklung von Apache Kafka bei LinkedIn übersetzt und einordnet.
- Log: der am einfachsten abstrahierte Speicher, bei dem nur Append-only möglich ist, und eine Datenstruktur, in der alle Ereignisse in zeitlicher Reihenfolge angeordnet sind
- In traditionellen Datenbanksystemen spielt das Log eine zentrale Rolle bei der Implementierung von Replikation
- Auch verteilte Systeme auf Basis von State-Machine-Replication sind letztlich Systeme, die Logs replizieren
- Log und Tabelle sind äquivalent.
- Am Beispiel einer Bank ist das Log die Ein- und Auszahlungs-Historie, während die Tabelle den Kontostand darstellt. Aus einem Log lässt sich eine Tabelle erzeugen, und umgekehrt kann aus einer Tabelle ein Log extrahiert werden
- Viele Unternehmen waren zwar aktiv bei der Einführung von Big Data, schenkten dem Aufbau zuverlässiger Datenpipelines jedoch wenig Aufmerksamkeit
- Der End-to-End-Ansatz zur Verbindung von Daten wurde durch Ausfälle, Wartung, Datenfragmentierung und die Weiterentwicklung von Event-Daten zunehmend schwieriger.
- Aus der Motivation heraus, die Datenstruktur Log als zentrale Netzwerkebene zu abstrahieren, entstand die Idee für Apache Kafka
- Jay Kreps erklärte auf Quora, dass Message Queues früher in der Infrastrukturwelt ein sehr kleines Nischenthema waren. Er war der Ansicht, dass Echtzeitdaten als Event-Stream abstrahiert werden sollten, und erklärte, dass ein persistentes Commit Log dafür die passende Datenstruktur sei
Noch keine Kommentare.