Ddia Architecture

Foundational architectural concepts for data-intensive applications, distilled from "Designing Data-Intensive Applications" (Kleppmann, 2nd ed) chapters 1-2. Covers the operational vs analytical split, cloud vs self-hosted trade-offs, distributed systems trade-offs, and the core nonfunctional requirements (performance, reliability, scalability, maintainability). Use this skill when: - Choosing between OLTP (operational) and analytical (OLAP) storage - Deciding cloud vs self-hosted / managed service vs build-your-own - Evaluating distributed (microservices, multi-node) vs single-node architectures - Defining performance SLOs and reasoning about response-time percentiles - Designing for reliability, defining a fault model, and choosing fault tolerance strategies - Planning capacity / scalability and choosing scale-up vs scale-out - Architecting for long-term maintainability (operability, simplicity, evolvability) - Reviewing an architecture proposal against DDIA fundamentals

ebarti f818ef9 26 files · 164.4 KB Updated

File contents

ebarti/skills/tree/main/ddia-architecture commit f818ef9cf1

Frequently asked questions

npx skillmds@latest add ebarti/ddia-architecture