.. | ||
_navbar.md | ||
_sidebar.md | ||
ch1.md | ||
ch2.md | ||
ch3.md | ||
ch4.md | ||
ch5.md | ||
ch6.md | ||
ch7.md | ||
ch8.md | ||
ch9.md | ||
ch10.md | ||
ch11.md | ||
ch12.md | ||
ch13.md | ||
colophon.md | ||
glossary.md | ||
part-i.md | ||
part-ii.md | ||
part-iii.md | ||
preface.md | ||
README.md | ||
SUMMARY.md |
Designing Data-Intensive Applications
—— The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
The en-us version only includes intro, summary, references of all chapters to protect the intellectual property of author and publisher.
Technology is a powerful force in our society. Data, software, and communication can
be used for bad: to entrench unfair power structures, to undermine human rights, and to protect vested interests. But they can also be used for good: to make underrepresented people’s voices heard, to create opportunities for everyone, and to avert disasters. This book is dedicated to everyone working toward the good.
Computing is pop culture. [...] Pop culture holds a disdain for history. Pop culture is all about identity and feeling like you’re participating. It has nothing to do with cooperation, the past or the future—it’s living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from].
— Alan Kay, in interview with Dr Dobb’s Journal (2012)
Table of Contents
Preface
Part I: Foundations of Data Systems
- 1. Trade-offs in Data Systems Architecture
- 2. Defining Nonfunctional Requirements
- 3. Data Models and Query Languages
- 4. Storage and Retrieval
- 5. Encoding and Evolution
Part II: Distributed Data
- 6. Replication
- 7. Partitioning
- 8. Transactions
- 9. The Trouble with Distributed Systems
- 10. Consistency and Consensus