Dieses erweiterte Journal-Paper ist eine wesentliche Erweiterung des „Best Paper“ der EDBT 2019 mit dem Titel Efficient "Window Aggregation with General Stream Slicing" von den gleichen Autoren aus den Forschungsgruppen Datenbankssysteme und Informationsmanagement (DIMA) an der TU Berlin und Intelligente Analytik für Massendaten (IAM) am DFKI. Neben anderen Verbesserungen wurde das neue Journal-Paper mit detaillierten Algorithmus-Spezifikationen, API-Beispielen und Beispielen für die Verwendung von Scotty in verschiedenen Streaming-Systemen erweitert.
Abstract: Window aggregation is a core operation in data stream processing. Existing aggregation techniques focus on reducing latency, eliminating redundant computations, or minimizing memory usage. However, each technique operates under different assumptions with respect to workload characteristics such as properties of aggregation functions (e.g., invertible, associative), window types (e.g., sliding, sessions), windowing measures (e.g., time- or count-based), and stream (dis)order. In this paper, we present Scotty, an efficient and general open-source operator for sliding-window aggregation in stream processing systems, such as Apache Flink, Apache Beam, Apache Samza, Apache Kafka, Apache Spark, and Apache Storm. One can easily extend Scotty with user-defined aggregation functions and window types. Scotty implements the concept of general stream slicing and derives workload characteristics from aggregation queries to improve performance without sacrificing its general applicability. We provide an in-depth view on the algorithms of the general stream slicing approach. Our experiments show that Scotty outperforms alternative solutions by up to one order of magnitude.
Eine Preprint-Version des Papers ist hier verfügbar.