Erstgespräch vereinbaren
Kommende Termine
4. Mai 2026
IT-Talk: Digitale Verantwortung
Details →
12. Juni 2026
Vernissage
28. September 2026
IT-Talk: Event-Driven Architecture

Designing Data-Intensive Applications - Martin Kleppmann

Buchrezension: Designing Data-Intensive Applications von Martin Kleppmann – ein Standardwerk über skalierbare und wartbare Systeme.

Dashboard mit Datenvisualisierung

Das Buch

  • Autor: Martin Kleppmann
  • Verlag: O’Reilly Media
  • Erschienen: März 2017
  • Format: Paperback, 614 Seiten
  • Print ISBN: 978-1-4493-7332-0 | ISBN 10: 1-4493-7332-1
  • Ebook ISBN: 978-1-4919-0308-7 | ISBN 10: 1-4919-0308-2

Der Autor

Martin Kleppmann forscht an der Universität Cambridge zu verteilten Systemen. Zuvor gründete er mehrere Unternehmen, von denen eines von LinkedIn übernommen wurde. Sein Blog ist unter martin.kleppmann.com verfügbar.

Worum geht es?

Das Buch behandelt “data-intensive applications” – Systeme, bei denen Datenvolumen, Komplexität und Änderungsraten und nicht die CPU-Leistung den limitierenden Faktor darstellen. Der Untertitel beschreibt den Fokus treffend: “The Big Ideas Behind Reliable, Scalable, and Maintainable Systems.”

Kleppmann präsentiert grundlegende Konzepte, die Tools und Techniken zum Umgang mit Datenherausforderungen zugrunde liegen. Anstatt spezifische Produkte hervorzuheben, untersucht er beständige Prinzipien, Vor- und Nachteile sowie Einschränkungen verschiedener Ansätze – von Datenmodellen (relational, dokumentenbasiert, graphbasiert) über Herausforderungen verteilter Systeme bis hin zu Datenverarbeitungsmethoden.

Aufbau

Das Buch folgt einer pädagogischen Organisation, die mit Überblicken beginnt und dann tiefer einsteigt. Leser können sequenziell oder selektiv vorgehen. Einige Abschnitte enthalten granulare technische Details; andere können übersprungen werden, ohne das Verständnis zu verlieren.

Jedes Kapitel schließt mit Zusammenfassungen und umfangreichen Fußnoten, die auf zusätzliche Quellen verweisen.

Foundations of Data Systems

Dieser Abschnitt eröffnet mit einer Anforderungsdiskussion und geht schnell in die Spezifika über. Kleppmann betont, dass “data models are perhaps the most important part of developing software” aufgrund ihrer tiefgreifenden Auswirkungen sowohl auf die Implementierung als auch auf die Problemlösungsansätze.

Das Buch vergleicht historische (hierarchische, Netzwerk-) und zeitgenössische (relationale, dokumentenbasierte, graphbasierte) Modellierungsansätze und stellt eine Konvergenz fest: RDBMS unterstützen nun JSON/XML; Dokumentdatenbanken unterstützen Joins.

Es werden Speicher- und Abruftechniken, Schemaentwicklung, Encoding-Kompatibilität und Rolling Upgrades diskutiert – Wissen, das für die Datenbankauswahl passend zu Projektanforderungen wertvoll ist.

Distributed Data

Dieser Abschnitt erweitert die Betrachtung einzelner Systeme auf Szenarien mit mehreren Computern, die Datenspeicherung und -verarbeitung umfassen. Themen sind Replikationsansätze, Vor- und Nachteile der Partitionierung sowie Transaktions-Isolationslevel.

Der Autor demonstriert, wie die Wahl des Transaktions-Isolationslevels scheinbar konsistente Systeme in eventually-konsistente verwandeln kann. Ein eigenes Kapitel untersucht spezifische Probleme und Fehlermodi verteilter Systeme. Eine theoretische Behandlung von Konsistenz und Konsens schließt diesen Abschnitt ab.

Derived Data

Der letzte Teil behandelt Szenarien, in denen mehrere Systeme um ein System of Record herum interagieren, und untersucht Strategien zur Pflege abgeleiteter Daten über Systeme hinweg. Die Darstellung führt von Batch Processing über Map-Reduce-Verfahren zu Stream Processing, einschließlich Synchronisierungstechniken, Domain Events, CQRS, Event Sourcing und der Nutzung von Write-Ahead Logs.

Ein abschließendes Kapitel behandelt zukünftige Richtungen durch konzeptionelle Abstraktion statt technologischer Vorhersage. Der Autor identifiziert zwei mögliche Entwicklungspfade und favorisiert “the unbundled database.”

Das letzte Kapitel (“Doing the Right Thing”) wechselt zu gesellschaftlich-ethischen Betrachtungen über massive Datenverarbeitung. Abschnitte behandeln, wie Predictive Analytics systematisch diskriminieren kann, und Auswirkungen auf die Privatsphäre, illustriert durch das Ersetzen von “data” durch “surveillance” in gängigen Phrasen.

Fazit

Die umfangreiche praktische Erfahrung, die durchgehend eingebettet ist, wird deutlich sichtbar. Das Buch identifiziert nicht offensichtliche Problemquellen, die weniger erfahrene Praktiker möglicherweise übersehen.

Mit umfassender thematischer Abdeckung, qualitativ hochwertiger Wissensvermittlung und starker Organisation fungiert dieses Werk als dauerhaftes Nachschlagewerk. Während Anfänger es als überwältigend empfinden könnten, werden diejenigen, die größere Systeme entworfen haben, erhebliches Wissen für weitere Fortschritte gewinnen.

Die O’Reilly-Webseite bewertet es derzeit mit 5.0 von 30 Rezensionen. Das Buch bietet ungewöhnlich umfassendes, fundiertes Wissen.

Zurück zum Blog