An excerpt from the second edition of 'Designing Data-Intensive Applications' by Martin Kleppmann and Chris Riccomini, covering scalability fundamentals. Key points include: scalability is multidimensional and context-dependent, not a simple label; understanding current load (throughput, read/write ratios, access patterns) is a prerequisite for scaling decisions; shared-memory, shared-disk, and shared-nothing architectures each have distinct trade-offs; there is no universal 'magic scaling sauce' — architecture must match specific application needs; and good principles include decomposing systems into independent components and avoiding unnecessary complexity.

9m read timeFrom thenewstack.io
Post cover image
Table of contents
Understanding loadShared-memory, shared-disk, and shared-nothing architecturesPrinciples for Scalability

Sort: