Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Book information
Description
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 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 effectivelyMake informed decisions by identifying the strengths and weaknesses of different toolsNavigate the trade-offs around consistency, scalability, fault tolerance, and complexityUnderstand the distributed systems research upon which modern databases are builtPeek behind the scenes of major online services, and learn from their architecture
Similar books
Geometric Transformations for 3D Modeling
2007 · RAR
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
2018 · PDF
Supercharge Excel: When you learn to Write DAX for Power Pivot
2018 · PDF
Deep Learning: A Practitioner’s Approach
2017 · PDF
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
2017 · PDF
Pentaho Data Integration Beginner’s Guide
2013 · PDF
Programming ArcGIS with Python Cookbook
2015 · PDF
Deep Learning: A Practitioner’s Approach
2017 · PDF