Bicycle Guide

Book Profile

Streaming Systems The What, Where, When, and How of Large-Scale Data Processing

· 2018

A comprehensive guide to large-scale data processing that unifies batch and streaming paradigms through a principled model, enabling robust, correct, and low-latency analysis of unbounded, out-of-order data by reasoning about what is computed, where in event time, when in processing time, and how results are refined.

Get the book →

Streaming Systems provides a definitive guide to modern large-scale data processing, arguing that well-designed streaming systems are a strict superset of batch systems. The authors, from Google's core data processing teams, demystify the complexities of handling unbounded, out-of-order data by introducing the Beam Model. This model breaks down data processing into four fundamental questions: What results are calculated, Where in event time are they calculated, When in processing time are they materialized, and How do refinements of results relate. Through detailed explanations of event time vs. processing time, windowing, watermarks, and triggers, the book equips engineers and data scientists with the conceptual tools to build systems that balance correctness, latency, and cost. It further grounds these concepts in the practical theory of streams and tables, explores the mechanics of exactly-once processing, and charts the historical evolution of data processing systems, making it an essential resource for anyone serious about big data.

What it argues

This model describes how specific pipeline design choices, corresponding to the 'What, Where, When, and How' of data processing, influence the internal state and temporal processing behavior of a streaming system to achieve desired outcomes related to correctness, latency, and cost for unbounded, out-of-order data.

Key ideas it contributes