Warenkorb

Ihr Warenkorb ist leer

Ihr Warenkorb ist leer

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Kostenloser Versand ab 25.99€

50.97€

23 .99 23.99€

Auf Lager



Produktbeschreibung des Verlags

s

a

Wer sollte dieses Buch lesen?

Wenn Sie Anwendungen entwickeln, die über eine Art Server/Backend zum Speichern oder Verarbeiten von Daten verfügen, und Ihre Anwendungen das Internet verwenden (z. B. Webanwendungen, mobile Apps oder mit dem Internet verbundene Sensoren), dann ist dieses Buch genau das Richtige für Sie.

Dieses Buch richtet sich an Softwareingenieure, Softwarearchitekten und technische Manager, die gerne programmieren. Dies ist besonders relevant,

wenn Sie Entscheidungen über die Architektur der Systeme treffen müssen, an denen Sie arbeiten – zum Beispiel, wenn Sie Tools zur Lösung eines bestimmten Problems auswählen und herausfinden müssen, wie sie am besten anzuwenden sind. Aber selbst wenn Sie bei Ihren Werkzeugen keine Wahl haben, wird Ihnen dieses Buch dabei helfen, ihre Stärken und Schwächen besser zu verstehen.

Sie sollten über Erfahrung im Erstellen webbasierter Anwendungen oder Netzwerkdienste verfügen und mit relationalen Datenbanken und SQL vertraut sein. Alle nicht relationalen Datenbanken und andere datenbezogene Tools, die Sie kennen, sind nett, aber nicht erforderlich.

Ein allgemeines Verständnis gängiger Netzwerkprotokolle wie TCP und HTTP ist hilfreich. Ihre Wahl der Programmiersprache oder des Frameworks spielt für dieses Buch keine Rolle.

Wenn einer der folgenden Punkte auf Sie zutrifft, werden Sie dieses Buch wertvoll finden:

  • Sie möchten lernen, wie Sie Datensysteme skalierbar machen, um beispielsweise Web- oder mobile Apps mit Millionen von Benutzern zu unterstützen.
  • Sie müssen Anwendungen hochverfügbar (Minimierung von Ausfallzeiten) und betriebssicher machen.
  • Sie suchen nach Möglichkeiten, Systeme auch bei wachsendem Wachstum, sich ändernden Anforderungen und Technologien nachhaltig wartungsfreundlicher zu gestalten.
  • Sie sind von Natur aus neugierig, wie Dinge funktionieren, und möchten wissen, was auf großen Websites und Online-Diensten vor sich geht. Dieses Buch schlüsselt die Interna verschiedener Datenbanken und Datenverarbeitungssysteme auf, und es macht großen Spaß, das intelligente Denken zu erkunden, das in ihr Design eingeflossen ist.

a

Wenn es um skalierbare Datensysteme geht, machen die Leute manchmal Kommentare wie: „Du bist nicht Google oder Amazon. Hören Sie auf, sich Gedanken über die Skalierung zu machen, und verwenden Sie einfach eine relationale Datenbank. An dieser Aussage ist etwas Wahres: Das Bauen für einen Maßstab, den Sie nicht benötigen, ist verschwendete Mühe und kann Sie an ein unflexibles Design binden.

Tatsächlich handelt es sich um eine Form der vorzeitigen Optimierung. Es ist jedoch auch wichtig, das richtige Werkzeug für die jeweilige Aufgabe auszuwählen, denn verschiedene Technologien haben jeweils ihre eigenen Stärken und Schwächen. Wie wir sehen werden, sind relationale Datenbanken wichtig, aber nicht das letzte Wort im Umgang mit Daten.

Dieses Buch versucht nicht, detaillierte Anweisungen zur Installation oder Verwendung bestimmter Softwarepakete oder APIs zu geben, da es bereits eine Menge Dokumentation für diese Dinge gibt. Stattdessen diskutieren wir die verschiedenen Prinzipien und Kompromisse, die für Datensysteme grundlegend sind, und untersuchen die unterschiedlichen Designentscheidungen, die von verschiedenen Produkten getroffen werden.

Wir betrachten hauptsächlich die Architektur von Datensystemen und die Art und Weise, wie sie in datenintensive Anwendungen integriert werden. Dieses Buch hat keinen Platz, um Bereitstellung, Betrieb, Sicherheit, Verwaltung und andere Bereiche zu behandeln – das sind komplexe und wichtige Themen, und wir würden ihnen nicht gerecht, wenn wir sie in diesem Buch nur als oberflächliche Randbemerkungen machen würden. Sie verdienen eigene Bücher.

Viele der in diesem Buch beschriebenen Technologien fallen in den Bereich des Schlagworts Big Data. Der Begriff „Big Data“ wird jedoch so überstrapaziert und unterdefiniert, dass er in einer ernsthaften technischen Diskussion nicht sinnvoll ist. Dieses Buch verwendet weniger zweideutige Begriffe, wie z. B. Single-Node versus verteilte Systeme oder Online-/interaktive versus Offline-/Batch-Verarbeitungssysteme.

Dieses Buch hat einen Schwerpunkt auf freie und Open-Source-Software (FOSS), da das Lesen, Modifizieren und Ausführen von Quellcode eine großartige Möglichkeit ist, zu verstehen, wie etwas im Detail funktioniert. Offene Plattformen reduzieren auch das Risiko von Vendor Lock-in. Gegebenenfalls diskutieren wir aber auch über proprietäre Software (Closed-Source-Software, Software as a Service oder unternehmenseigene Software, die nur in der Literatur beschrieben, aber nicht veröffentlicht wird).


Miguel Vieites
Bewertet in Spanien am 3. Januar 2025
Libro difícil de conseguir
Eva
Bewertet in Deutschland am 19. Februar 2025
Happy with the book and the seller. Came well packaged, fast and on time.
Lars Marowsky-Brée
Bewertet in Deutschland am 17. Januar 2025
This topic is my professional career and area of expertise of decades.Even then, one necessarily specializes and can't know everything. This is a great overview for the big picture and refresher.I also highly recommend it to anyone starting out. Don't learn on the job pretty please, get this primer to avoid learning all our painful lessons all over again 🙂Especially when dealing with legacy systems, the historical context becomes crucial too, and that's something that many online tutorials just skip over.The book cites all its sources.I wish there was an update, but it is still most excellent.
Lokesh Bisht
Bewertet in Deutschland am 9. Januar 2024
I can recommend
Siamak
Bewertet in Kanada am 27. Dezember 2024
This book provides extensive knowledge about data management and systems. Written in understandable and easy words, the flow of the content is completely straightforward and relevant to each other. The content is managed due to dependencies respectively
Dominik
Bewertet in Deutschland am 23. März 2024
Super. Must read(!) für jeden Softwareentwickler
Sparky Wonderdog
Bewertet in Mexiko am 20. September 2024
Es una compilación de mejores prácticas y conceptos hasta cierto punto "universales" que ayudan a entender las aplicaciones de alto rendimiento ejecutadas sobre entornos de alta disponibilidad en nuestros días.Sentido común para profesionales de TI, que nunca está de más repasar.Muy vigente, muy ameno, cuando termine de leerlo le doy un update a la reseña, por lo que llevo, mis diez.
Joachim O.
Bewertet in Großbritannien am 17. November 2024
This book covers pretty much all topics which are relevant to managing databases or designing data models in more than 800 pages. It also provides detailed information about the inner workings of databases to the degree that you might be able to implement your own simple database.The book is very well didactically structured which is no surprise given that the author is a professor at Cambridge. For example, it explains batch processing algorithms (e.g. Map Reduce) and uses this as basis to delve into data streaming. Strong emphasis is laid on the problems with regards to distributed computing (replication, partitioning, node failures, etc.) and the discussion of the compromises one must make.Overall, an easy recommendation for anyone is interested in data architectures and the inner workings of databases which are the backbone of pretty much any application in today’s world.
Reader
Bewertet in Deutschland am 10. Dezember 2024
A great book for every Software Developer
Kurt Keller
Bewertet in Deutschland am 14. Juni 2021
This is one of the best technical books I have ever read. Not only is it comprehensive and thorough, but also comprehensible. Martin Kleppmann has a knack for explaining things in a manner that is easy to understand and follow, even if their complexity is non-trivial.Rather than telling you step-by-step how to design your data applications, it gives you a very good and broad idea about what to watch out for, where mistakes and difficulties are lurking and what options you have, what the advantages and disadvantages are of various options and approaches.In the first part, the book briefly talks about reliability, scalability and maintainability, data models, different possibilities for storing and retrieving data, including encodings. And it does not forget about the fact, that you might want or need to adapt your data structures over time due to new requirements.Sometimes you might need to distribute your data over several machines, be it to meet a higher load, for faster response time in different locations, because the whole dataset is too big for a single machine, for redundancy or simply because the whole set of data consists of various systems, each holding a different part of the data but all of them with the need to keep in sync. As soon as multiple systems are involved, things get way more complicated and fragile. That's what the second part is all about.The last part is mainly about different ways to process data. Not every access to data is a query to a database. There are many other situations where you need to process data and possibly in a very different style.At the end of each chapter, there are several pages of references for further information.I'm convinced, if this book was required reading for every programmer and system administrator, we would see more quality in how applications and systems are designed.
Ivan de Oliveira Costa Junior
Bewertet in Brasilien am 13. Dezember 2021
Livro completo, mostra as entranhas e os mecanismos dos sistemas distribuídos modernos com bastante ênfase a streams e Big data. Muito já consideram a obra como um clássico e não é atoa, é por merecimento! Recomendadíssimo!
Felix Kunde
Bewertet in Deutschland am 6. September 2017
Wow. Ist selten, dass mich ein IT-Buch so begeistert zurücklässt. Wer interessiert ist an neuen Big Data Möglichkeiten ist (ohne selbst Big Data zu haben ;), aber sich etwas verloren fühlt im Softwaredschungel der verschiedenen Skalierungskonzepte, bekommt hier einen sehr fundierten Überblick (Landkarten inkl.). Heutzutage wird ja gefühlt wöchentlich über neue Frameworks oder Datenbanken gebloggt. Erst war MapReduce das Ding, dann Batch Processing, dann Stream Processing…All das findet man auch in diesem Buch. Es hilft also beim Lesen, wenn man selbst schon einen groben Überblick vom Markt hat. Grundlegendes Wissen zu Datenbanken ist, denke ich, ein Muss, da das Buch eher für Backend-Leute geschrieben ist. Aber statt Algorithmen und APIs mit Code-Listings aufzudröseln und eine Anleitung mit Beispieldatensätzen zu geben (was man bei dem Titel des Buches vielleicht vermuten könnte), geht es hier eher um die Ideen hinter den verschiedenen Ansätzen und wie sie alle untereinander bzw. mit bekannten altgedienten Lösungen im Zusammenhang stehen. Einzelne Software-Produkte sind hier nur Randnotizen. Dafür wird jedoch an jedem Ende eines Kapitels eine sagenhafte Liste an weiterführenden Material geboten, was deutlich die Leidenschaft des Autors für das Thema erkennen lässt.Ich fand es spannend wie der Bogen von einfachen überschaubaren Datenbank-Architekturen (Single-Leader) zu verteilten Systemen geschlagen wird. Man ist überrascht wie viele Integritätsprobleme sich für Daten ergeben können (Zitat Kollege: „Verteilte Systeme sind die Hölle“). Durch die einfach gehaltenen Flussdiagramme sind die lauernden Gefahren immer sofort verständlich. Der Autor verwendet zudem sehr oft Querverweise und wiederholt Erklärungen mehrmals. Liest man große Passagen am Stück, ist es vielleicht etwas zu viel des Guten. Aber es ist gerade dann hilfreich, wenn man das Buch wieder in die Hand nimmt, um weiterzulesen oder man bestimmte Abschnitte nochmal nachschlagen möchte. Letzteres werde ich sicherlich noch viele Male tun.
Produktempfehlungen

44.26€

21 .99 21.99€

4.7
Option wählen