(Here’s the preface in case you missed it - [[Reading DDIA - Preface]])
Chapter 1 - Reliable, Scalable and Maintainable Applications This chapter’s goal is to effectively give us a high level overview of what this book is fundamentally about -
Thinking about data systems along the axes of :
Reliability Scalability Maintainability What is a reliable system? My thoughts before reading the section : A system that is available to return results/outputs that are expected of it when it is employed. If I’m accessing an API, if the API is available 99 out of 100 times, then its reliability is 99% If a server is available for 23 hrs 45 minutes per day then its availability is 23.75/24 = 98.9% But is availability == reliability? Let’s see. A reliable human is someone who does something that he says he will do or is expected to do every time. Similarly a reliable system is one that returns the expected results every time that they are used. An ATM is reliable if I can withdraw money from it in the denominations that I want, when I want it. For example, the ATM in Puttenahalli , JP Nagar is perpetually unavailable. Everytime I go there, the system is under maintenance. It is 0% reliable. Let’s read the chapter.
...