IEEE Transactions on Parallel and Distributed Systems · 2018 · 24 citations · 18 references
ComputingComputer ScienceComputer SystemsBig Data AnalyticsInternet Of ThingsTime Series AnalysisData AggregationReal-time AnalyticsStream ProcessingStreaming AlgorithmsData Stream ProcessingInternet Of Things ApplicationsMemory Footprint ReductionReal-time Data ProcessingReal-time ProcessingReal-time Stream ProcessingSliding WindowsStream Aggregation
The fast evolution of data analytics platforms has resulted in an increasing demand for real-time data stream processing. From Internet of Things applications to the monitoring of telemetry generated in large data centers, a common demand for currently emerging scenarios is the need to process vast amounts of data with low latencies, generally performing the analysis process as close to the data source as possible. Stream processing platforms are required to be malleable and absorb spikes generated by fluctuations of data generation rates. Data is usually produced as time series that have to be aggregated using multiple operators, being sliding windows one of the most common abstractions used to process data in real-time. To satisfy the above-mentioned demands, efficient stream processing techniques that aggregate data with minimal computational cost need to be developed. In this paper we present the Monoid Tree Aggregator general sliding window aggregation framework, which seamlessly combines the following features: amortized <inline-formula><tex-math notation="LaTeX">$O(1)$</tex-math></inline-formula> time complexity and a worst-case of <inline-formula><tex-math notation="LaTeX">$O(\log {n})$</tex-math></inline-formula> between insertions; it provides both a window aggregation mechanism and a window slide policy that are user programmable; the enforcement of the window sliding policy exhibits amortized <inline-formula><tex-math notation="LaTeX">$O(1)$</tex-math></inline-formula> computational cost for single evictions and supports bulk evictions with cost <inline-formula><tex-math notation="LaTeX">$O(\log {n})$</tex-math></inline-formula> ; and it requires a local memory space of <inline-formula><tex-math notation="LaTeX">$O(\log {n})$</tex-math></inline-formula> . The framework can compute aggregations over multiple data dimensions, and has been designed to support decoupling computation and data storage through the use of distributed <i>Key-Value Stores</i> to keep window elements and partial aggregations.
18
Learning from Time-Changing Data with Adaptive Windowing
Albert Bifet, Ricard Gavaldà · 2007 · 1.7K citations
Ankit Toshniwal, Siddarth Taneja, Amit K. Shukla et al. · 2014 · 858 citations
Maintaining Stream Statistics over Sliding Windows
Mayur Datar, Aristides Gionis, Piotr Indyk et al. · SIAM Journal on Computing · 2002 · 846 citations