Daten stehen heute im Mittelpunkt vieler Herausforderungen beim Systemdesign. Schwierige Probleme müssen geklärt werden, wie z. B. Skalierbarkeit, Konsistenz, Zuverlässigkeit, Effizienz und Wartbarkeit. Darüber hinaus verfügen wir über eine überwältigende Vielfalt an Tools, darunter relationale Datenbanken, NoSQL-Datenspeicher, Stream- oder Batch-Prozessoren und Nachrichtenbroker. Was sind die richtigen Optionen für Ihre Anwendung? Wie verstehen Sie all diese Schlagworte?
In diesem praktischen und umfassenden Leitfaden hilft Ihnen Autor Martin Kleppmann, sich in dieser vielfältigen Landschaft zurechtzufinden, indem er die Vor- und Nachteile verschiedener Technologien zur Verarbeitung und Speicherung von Daten untersucht. Software ändert sich ständig, aber die Grundprinzipien bleiben dieselben. Mit diesem Buch lernen Softwareentwickler und -architekten, wie sie diese Ideen in die Praxis umsetzen und Daten in modernen Anwendungen optimal nutzen können.
Schauen Sie unter die Haube der Systeme, die Sie bereits nutzen, und erfahren Sie, wie Sie diese effektiver nutzen und betreiben können Treffen Sie fundierte Entscheidungen, indem Sie die Stärken und Schwächen verschiedener Tools identifizieren Navigieren Sie durch die Kompromisse zwischen Konsistenz, Skalierbarkeit, Fehlertoleranz und Komplexität Verstehen Sie die verteilte Systemforschung, auf der moderne Datenbanken basieren Werfen Sie einen Blick hinter die Kulissen großer Online-Dienste und lernen Sie von deren Architekturen
Publication Name Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems Language English Publication Year 2017 Subject Data Modeling & Design, Desktop Applications / Databases Type Textbook Subject Area Computers Author Martin Kleppmann
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures