In-Order Sliding-Window Aggregation in Worst-Case Constant Time

09/29/2020
by   Kanat Tangwongsan, et al.
0

Sliding-window aggregation is a widely-used approach for extracting insights from the most recent portion of a data stream. The aggregations of interest can usually be expressed as binary operators that are associative but not necessarily commutative nor invertible. Non-invertible operators, however, are difficult to support efficiently. In a 2017 conference paper, we introduced DABA, the first algorithm for sliding-window aggregation with worst-case constant time. Before DABA, if a window had size n, the best published algorithms would require O(log n) aggregation steps per window operation—and while for strictly in-order streams, this bound could be improved to O(1) aggregation steps on average, it was not known how to achieve an O(1) bound for the worst-case, which is critical for latency-sensitive applications. This article is an extended version of our 2017 paper. Besides describing DABA in more detail, this article introduces a new variant, DABA Lite, which achieves the same time bounds in less memory. Whereas DABA requires space for storing 2n partial aggregates, DABA Lite only requires space for n+2 partial aggregates. Our experiments on synthetic and real data support the theoretical findings.

READ FULL TEXT

page 5

page 7

page 10

page 14

research
07/20/2023

Out-of-Order Sliding-Window Aggregation with Efficient Bulk Evictions and Insertions (Extended Version)

Sliding-window aggregation is a foundational stream processing primitive...
research
10/26/2018

Sub-O(log n) Out-of-Order Sliding-Window Aggregation

Sliding-window aggregation summarizes the most recent information in a d...
research
09/29/2022

Low-Latency Sliding Window Algorithms for Formal Languages

Low-latency sliding window algorithms for regular and context-free langu...
research
08/06/2022

Implementing Window Functions in a Column-Store with Late Materialization (Extended Version)

A window function is a generalization of the aggregation operation. Unli...
research
07/20/2020

Support Aggregate Analytic Window Function over Large Data by Spilling

Analytic function, also called window function, is to query the aggregat...
research
11/21/2019

S-RASTER: Contraction Clustering for Evolving Data Streams

Contraction Clustering (RASTER) is a very fast algorithm for density-bas...
research
11/09/2022

Fully-dynamic-to-incremental reductions with known deletion order (e.g. sliding window)

Dynamic algorithms come in three main flavors: 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑎𝑙 (insertions-o...

Please sign up or login with your details

Forgot password? Click here to reset