StreamQL: A Query Language for Processing Streaming Time Series
summary
StreamQL presents an algebra of stream transformations (monotone As→Bs functions) that composes relational, dataflow and temporal operators so a pipeline like smooth→derivative→detect for ECG peak finding is written as composable stages using temporal sequencing and temporal iteration. A Java library implements the semantics and avoids creating intermediate stream objects by resetting query state on tumbling windows. Evaluation against RxJava, Reactor and Siddhi on four benchmarks (micro, stock, TAQ, NEXMark) shows competitive throughput speedups.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:17Processing of Streaming Time Series
- 1:05Healthcare Monitoring
- 2:31Low-level Stream Processing
- 4:00Relational, Dataflow, and Temporal Constructs
- 4:52The Stream Query Language (StreamQL)
- 5:47Outline
- 6:10Semantics of Data Stream
- 7:31Semantics of Stream Transformation
- 8:13StreamQL Construct: Map
- 9:33StreamQL Construct: Temporal Iteration
- 10:46ECG Peak Detection: Intermediate Outputs
- 11:00ECG Peak Detection: Detect a Single Peak
- 11:35ECG Peak Detection: Detect All Peaks
- 13:02Experimental Evaluation: Intermediate Streams
- 14:34Summary StreamQl: a query language for processing streaming time series
related talks
21mStream Processing and SQL
22mStream SQL with Flink @ Yelp
08mPREVIEW: Kafka Stream Processing for Everyone with KSQL
40mOne SQL to Rule Them All
31mWriting a Streaming SQL & Materialized View Engine
41mStreaming SQL
23mBetter, Faster, Stronger Streaming: Your First Dive into Flink SQL
52mHow Do You Query a Stream?
