Streaming data is a big deal in big data these days. As more and more businesses seek to tame the massive unbounded data sets that pervade our world, streaming systems have finally reached a level of maturity sufficient for mainstream adoption. With this practical guide, data engineers, data scientists, and developers will learn how to work with streaming data in a conceptual and platform-agnostic way.

Expanded from Tyler Akidau’s popular blog posts "Streaming 101" and "Streaming 102", this book takes you from an introductory level to a nuanced understanding of the what, where, when, and how of processing real-time data streams. You’ll also dive deep into watermarks and exactly-once processing with co-authors Slava Chernyak and Reuven Lax.

You’ll explore:

- How streaming and batch data processing patterns compare
- The core principles and concepts behind robust out-of-order data processing
- How watermarks track progress and completeness in infinite datasets
- How exactly-once data processing techniques ensure correctness
- How the concepts of streams and tables form the foundations of both batch and streaming data processing
- The practical motivations behind a powerful persistent state mechanism, driven by a real-world example
- How time-varying relations provide a link between stream processing and the world of SQL and relational algebra

- Preface Or: What Are You Getting Yourself Into Here?
- I. The Beam Model
- 1. Streaming 101
- 2. The What, Where, When, and How of Data Processing
- 3. Watermarks
- 4. Advanced Windowing
- 5. Exactly-Once and Side Effects
- II. Streams and Tables
- 6. Streams and Tables
- 7. The Practicalities of Persistent State
- 8. Streaming SQL
- 9. Streaming Joins
- 10. The Evolution of Large-Scale Data Processing
- Index