π A Streaming SQL Service built with Rust and Differential Dataflow
This project is part of my Masterβs Thesis, where I designed and implemented a minimal Streaming SQL Service using Rust and Differential Dataflow. The system processes continuous data streams, executes SQL-like queries in real-time, and leverages incremental computation for efficient updates.
πΉ Why Streaming SQL?
Traditional SQL databases struggle with real-time stream processing, requiring specialized solutions like Flink or Materialize. This project explores an alternative minimal approach using Rustβs powerful dataflow libraries.
πΉ Goals of the Project:
β
Implement a lightweight SQL-like interface for continuous queries
β
Utilize Differential Dataflow for efficient incremental computation
β
Provide a low-latency, high-throughput streaming processing engine
β
Streaming SQL Query Execution β Run continuous queries on real-time data streams (limited to JOINs and WHERE)
β
Incremental Computation β Uses Differential Dataflow for efficient updates
β
Minimal & Lightweight β Focuses on core functionality without unnecessary complexity
β
Rust-Powered Performance β Memory-safe, efficient, and highly concurrent
π Core Technologies:
- Rust β Memory safety, concurrency, and performance
- Differential Dataflow β Incremental computation framework
- Timely Dataflow β Stream processing model for parallel computation
π Additional Components:
- Serde & JSON β For efficient serialization & deserialization
- Tokio β Asynchronous runtime for handling concurrent streams
- PostgreSQL β For query persistence
This project is licensed under the MIT License β see the LICENSE file for details.
β If you found this project helpful, consider giving it a star! π