Data is at the center of many great challenges in system design. There are so many tools to choose from and so many issues to consider. How do you make the right choices for your application? How do you make sense of all the 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. 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.