Streaming SQL
summary
Apache Calcite extends SQL with a stream-table duality so the same object can be queried as a growing table or as a continuous stream; watermarks and an omit clause let queries make progress and handle late arrivals. Flink uses Calcite for parsing and cost-based planning, supports tumbling/hopping/session/sliding windows, and requires time constraints for stream–stream joins. Queries can feed BI tools like Tableau and the planner can replan at runtime (e.g., after minutes of sampling if throughput is 10/sec vs 10M/sec).
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:33What is streaming
- 2:19Why are people streaming
- 5:03Why query streams
- 10:10Database workloads
- 11:35Sequel extensions
- 15:21Stream table duality
- 16:30Why is it important
- 19:54Semantics
- 23:33Handling Late Data
- 27:25GroupBy
- 27:52Window Types
- 28:59Pie Chart Problem
- 30:47Joining Streams
- 31:30Calcite
- 32:24Apache
- 33:22Questions
related talks
21mStream Processing and SQL
43mUnified stream and batch processing with Apache Flink’s relational APIs
23mBetter, Faster, Stronger Streaming: Your First Dive into Flink SQL
31mWriting a Streaming SQL & Materialized View Engine
39mBuilding modern SQL query optimizers with Apache Calcite
58mApache Calcite: A Platform for Building Advanced SQL Optimizers on Java
40mOne SQL to Rule Them All
40mThe Seven Deadly Sins of Streaming
