

This part is dedicated to offline and near-real-time systems.Ĭhapter 1 is the introduction of the book and describes in many details the 3 keywords of the book: Reliability, Scalability, and Maintainability. Part 3, called Derived Data, is the last of this book and it is composed of chapters 10 to 12. Is composed of chapters 5 to 9 and it presents commons problems and solutions in distributed systems. Part 1, called Foundations of Data Systems, is composed of chapters 1 to 4 and describes the foundations of the book, partners to storage, encoding, and retrieval information. The book Designing Data-Intensive Applications by Martin Kleppmann is divided in 3 parts. This book is fantastic and you should read it if you like this subject.Īfter the important disclaimer and the clarification about this review, here are my notes after reading this book. Also, do not think that this is a replacement or a complement of the book, it is not. So, do not expect here a complete resume of the book or the concepts present in it. Not to publish, but to describe in our words what we read and also to future references. After reading a paper, we should write a review. However, as a researcher, one of the most important things that I learned during my years at the university was the importance to write a review of papers. The only reason that I wrote this is for my future reference.įirst of all, I love to read books and I do not believe that a review should influence someone to read or not a book.

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.Disclaimer: Don’t read this review, go ahead and read the book, it will be much better for you. Software keeps changing, but the fundamental principles remain the same. 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. What are the right choices for your application? How do you make sense of all these buzzwords? In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. Data is at the center of many challenges in system design today.
