Scotty: Efficient Window Aggregation for your Stream Processing System
summary
Scotty is a standalone window operator that uses stream slicing and partial pre-aggregates to avoid assigning each event to every overlapping window (example: a 10‑minute window sliding every second would otherwise create 600 buckets per event). It exploits function properties (invertible, associative), supports sliding, session, time/count measures, and handles out‑of‑order updates. Benchmarks show Scotty embedded in Flink/Storm/Beam reaches up to one order of magnitude speedups and sustained throughput near 2 million tuples/sec; code and connectors are on GitHub.
AI-written summary · about
chapters (15)
- 0:00Intro
- 1:19Stream Processing Systems
- 2:50Aggregations in Stream Processing Pipelines
- 4:54Apache Flink - Stateful Stream Processing
- 5:56Motivation
- 7:14Research Background
- 8:59Stream Slicing Example
- 13:56Impact of Workload Characteristics
- 17:37Key-Facts
- 19:34Scotty Core
- 21:00Benchmark
- 22:08Using Scotty on Flink
- 23:22Implement your own Aggregations Functions
- 25:46Upcoming Research Projects
- 28:29Scotty Window Processor
related talks
24mScotty: Efficient Window Aggregation with General Stream Slicing
19mDisco: Efficient Distributed Window Aggregation
39mAdvanced Stream Processing on the Edge
45mData Stream Processing Concepts and Implementations
31mHelp I need a stream processor - learning how to chose ...
40mRobust Stream Processing with Apache Flink
26mHow to Pick Your Next Streaming Architecture
38mSelf-managed and automatically reconfigurable stream processing
