© Excellent backgrounds/Shutterstock.com
Java Magazin
Bücher

Bücher: Designing Data-Intensive Applications

Bei dem hier besprochenen Buch handelt es sich um ein Werk, das bald zur definitiven Referenz für die Welt Verteiltersysteme, Datenbanken und Big Data werden könnte - vergleichbar etwa mit „Design Patterns“ für das objektorientierte Softwaredesign. Das bei allem Anspruch anschaulich geschriebene und illustrierte Buch gliedert sich in drei große Teile mit insgesamt zwölf Kapiteln.

Matthias Merdes


Im ersten Teil werden nach der Definition wesentlicher Begriffe wie Reliability, Skalierbarkeit und Wartbarkeit die Grundlagen für Datenmodelle, Speicherung und Abfrage gelegt. Der Autor erörtert, ob es so etwas wie Schemafreiheit überhaupt gibt. Der zweite Teil nimmt dann die mannigfaltigen Probleme ins Visier, die eine Verteilung der Datenhaltung mit sich bringt. Auf Basis der Theorie verteilter Systeme werden nun die hierfür relevanten Themen Replikation, Partitionierung, Transaktionen, Konsistenz und Consensus entwickelt. Dieser Teil ist sicherlich der theoretisch anspruchsvollste, wenn etwa Konsistenzmodelle wie Linearizability oder Causality diskutiert werden. Der dritte Teil über abgeleitete Daten widmet sich den Themen Batch und Stream Processing und schließt mit Überlegungen zur Zukunft von Datensystemen. Gleich zu Beginn verdeutlicht Kleppmann, was ein Datenbanksystem ausmacht („the world’s simplest database“), indem eine im Prinzip voll funktionsfähige Datenbank nur auf Basis einfacher Shell-Befehle und gewöhnlicher Dateien aufgebaut wird. Weiter geht es zu anspruchsvolleren Themen. Wer schon immer wissen wollte, was es mit dem CAP-Theorem („The Unhelpful CAP Theorem“) auf sich hat, oder ob das berühmte ACID-Akronym aus den richtigen Namensbestandteilen besteht, kommt hier auf seine Kosten. Man muss allerdings kein Theoretiker mit einem Faible für formale Konsistenzgarantien, Vektoruhren oder Lamport Timestamps sein. Auch über die eigene Lieblingsdatenbank lässt sich leicht Nützliches nachschlagen.Wer sich nicht von der akribischen Sichtung wissenschaftlicher und technischer Literatur abschrecken lässt, wird durch eine Kombination aus tiefem Verständnis aller wichtigen Grundlagen und vielen praktischen Beispielen belohnt. Zu Letzteren gehören nicht nur kommerzielle Produkte, auch eine große Zahl an Open-Source-Projekten wird eingeordnet und bewertet. So listet der Index allein 32 Apache-Projekte. Diese Dualität von Theorie und Praxis spiegelt die Stationen des Autors wider: Engineer bei LinkedIn, Open-Source-Committer und Researcher an der Universität Cambridge.Gegen Ende des Buchs entwickelt Kleppmann seine Vision einer „Future of Data Systems“, die wesentlich darauf beruht, dass die verschiedenen Funktionen einer Datenbank wie Speicherung, Volltextindizierung, Materialized Views oder Batch/Stream Processing auch von unterschiedlichen Systemen wahrgenommen werden (Unbundling Databases). Hier zeigt der Autor auf, unter welchen Bedingungen kom...

Java Magazin
Bücher

Bücher: Designing Data-Intensive Applications

Bei dem hier besprochenen Buch handelt es sich um ein Werk, das bald zur definitiven Referenz für die Welt Verteiltersysteme, Datenbanken und Big Data werden könnte - vergleichbar etwa mit „Design Patterns“ für das objektorientierte Softwaredesign. Das bei allem Anspruch anschaulich geschriebene und illustrierte Buch gliedert sich in drei große Teile mit insgesamt zwölf Kapiteln.

Matthias Merdes


Im ersten Teil werden nach der Definition wesentlicher Begriffe wie Reliability, Skalierbarkeit und Wartbarkeit die Grundlagen für Datenmodelle, Speicherung und Abfrage gelegt. Der Autor erörtert, ob es so etwas wie Schemafreiheit überhaupt gibt. Der zweite Teil nimmt dann die mannigfaltigen Probleme ins Visier, die eine Verteilung der Datenhaltung mit sich bringt. Auf Basis der Theorie verteilter Systeme werden nun die hierfür relevanten Themen Replikation, Partitionierung, Transaktionen, Konsistenz und Consensus entwickelt. Dieser Teil ist sicherlich der theoretisch anspruchsvollste, wenn etwa Konsistenzmodelle wie Linearizability oder Causality diskutiert werden. Der dritte Teil über abgeleitete Daten widmet sich den Themen Batch und Stream Processing und schließt mit Überlegungen zur Zukunft von Datensystemen. Gleich zu Beginn verdeutlicht Kleppmann, was ein Datenbanksystem ausmacht („the world’s simplest database“), indem eine im Prinzip voll funktionsfähige Datenbank nur auf Basis einfacher Shell-Befehle und gewöhnlicher Dateien aufgebaut wird. Weiter geht es zu anspruchsvolleren Themen. Wer schon immer wissen wollte, was es mit dem CAP-Theorem („The Unhelpful CAP Theorem“) auf sich hat, oder ob das berühmte ACID-Akronym aus den richtigen Namensbestandteilen besteht, kommt hier auf seine Kosten. Man muss allerdings kein Theoretiker mit einem Faible für formale Konsistenzgarantien, Vektoruhren oder Lamport Timestamps sein. Auch über die eigene Lieblingsdatenbank lässt sich leicht Nützliches nachschlagen.Wer sich nicht von der akribischen Sichtung wissenschaftlicher und technischer Literatur abschrecken lässt, wird durch eine Kombination aus tiefem Verständnis aller wichtigen Grundlagen und vielen praktischen Beispielen belohnt. Zu Letzteren gehören nicht nur kommerzielle Produkte, auch eine große Zahl an Open-Source-Projekten wird eingeordnet und bewertet. So listet der Index allein 32 Apache-Projekte. Diese Dualität von Theorie und Praxis spiegelt die Stationen des Autors wider: Engineer bei LinkedIn, Open-Source-Committer und Researcher an der Universität Cambridge.Gegen Ende des Buchs entwickelt Kleppmann seine Vision einer „Future of Data Systems“, die wesentlich darauf beruht, dass die verschiedenen Funktionen einer Datenbank wie Speicherung, Volltextindizierung, Materialized Views oder Batch/Stream Processing auch von unterschiedlichen Systemen wahrgenommen werden (Unbundling Databases). Hier zeigt der Autor auf, unter welchen Bedingungen kom...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang