This ~150 page book excerpt contains 3 new/revised chapters from the 2nd edition: Trade-offs in Data Systems Architecture, Defining Nonfunctional Requirements, and The Trouble with Distributed Systems.

Trade-offs in Data Systems Architecture: Considerations related to operational vs. analytical systems; cloud services vs. self-hosted systems; and single-node systems vs. distributed systems.

Defining Nonfunctional Requirements: Core principles underlying fast, reliable, scalable systems: how to measure performance, model load and capacity, handle failures, and manage complexity.

The Trouble with Distributed Systems: The wide range of things that can go wrong in distributed systems (network issues, clocks & timing issues) and the notions of knowledge and truth in distributed systems.

Top NoSQL/Distributed Database Resources