Watermarks in stream processing systems
Authors:
Open Access
- 1 July 2021
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the VLDB Endowment
- Vol. 14 (12) , 3135-3147
Abstract
Streaming data processing is an exercise in taming disorder: from oftentimes huge torrents of information, we hope to extract powerful and timely analyses. But when dealing with streaming data, the unbounded and temporally disordered nature of real-world streams introduces a critical challenge: how does one reason about the completeness of a stream that never ends? In this paper, we present a comprehensive definition and analysis of watermarks , a key tool for reasoning about temporal completeness in infinite streams. First, we describe what watermarks are and why they are important, highlighting how they address a suite of stream processing needs that are poorly served by eventually-consistent approaches: • Computing a single correct answer, as in notifications. • Reasoning about a lack of data, as in dip detection. • Performing non-incremental processing over temporal subsets of an infinite stream, as in statistical anomaly detection with cubic spline models. • Safely and punctually garbage collecting obsolete inputs and intermediate state. • Surfacing a reliable signal of overall pipeline health . Second, we describe, evaluate, and compare the semantically equivalent, but starkly different, watermark implementations in two modern stream processing engines: Apache Flink and Google Cloud Dataflow.Keywords
This publication has 13 references indexed in Scilit:
- TrillProceedings of the VLDB Endowment, 2014
- Naiad2013
- MillWheelProceedings of the VLDB Endowment, 2013
- Temporal features in SQL:2011ACM SIGMOD Record, 2012
- ETALIS: Rule-Based Reasoning in Event Processing2011
- High-performance complex event processing over streams2006
- Flexible time management in data stream systems2004
- Exploiting punctuation semantics in continuous data streamsIEEE Transactions on Knowledge and Data Engineering, 2003
- Modeling and simulation of heterogeneous real-time systems based on a deterministic discrete event model1995
- Temporal specialization and generalizationIEEE Transactions on Knowledge and Data Engineering, 1994