Timeplus Proton: Streaming SQL Engine
A unified streaming SQL engine in a single C++ binary, delivering millisecond latency and 100+ GB/s throughput as a simpler, faster alternative to ksqlDB and Flink.
Evidence shows no permission model, user confirmation mechanism, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. All trust criteria scored 0 due to lack of evidence.
Self-consistency: README and CI workflows are mostly consistent, but there are inconsistencies (e.g., README claims zero dependencies, but CI scripts depend on ClickHouse submodules). Dependency availability: Dependencies (e.g., ClickHouse) are not explicitly listed with versions or sources, but CI scripts show cloning of ClickHouse repo. Failure messages: CI scripts include error handling, but user-facing failure messages are limited.
Audience and scenarios: README clearly identifies target users and use cases. Capability boundaries: README distinguishes Proton and Enterprise features. Trigger precision: No Agent trigger mechanism provided. Environment fit: Multiple deployment methods (binary, Docker, Homebrew) are provided.
Information architecture: README is well-structured with TOC. Install notes: Multiple installation methods provided. Naming stability: No explicit naming conventions. Examples and FAQ: Examples and FAQ links provided. Known limitations: Not explicitly listed, but implied via comparison table. License: Apache-2.0, LICENSE file complete. Versioning and changelog: No changelog provided. Maintenance responsibility: Clear via contribution guide and community support.
Output usability: SQL query examples and output examples provided. Marginal value: Provides unique value as Flink/ksqlDB alternative. Cost-benefit: Lightweight, no JVM dependency, low cost.
Claim traceability: Performance claims lack reproducible benchmark details. Cross-source corroboration: No independent verification. Fact-inference separation: Performance claims in README may be based on internal tests, not clearly distinguished.
- The repository provides no security model or permission control documentation; caution is advised when using as an Agent.
- Performance claims lack reproducible benchmark details; independent verification is recommended.
- Dependencies are not explicitly listed with versions and sources, posing supply chain risks.
What does this agent do, and when should you use it?
Timeplus Proton is an open-source streaming SQL engine written in C++, powered by ClickHouse, designed for real-time data processing. It offers robust stream processing features including streaming ETL, windowed aggregations, watermarks, incremental materialized views, and CDC support. Unlike pure stream processors, Proton stores queryable analytical/row-based materialized views within itself, suitable for dashboards and applications. The engine is packaged as a single binary (<500MB) with no JVM or ZooKeeper dependencies, deployable on Mac/Linux or via Docker. It supports Kafka, Redpanda, ClickHouse, MySQL, Postgres, MongoDB, S3/Iceberg, OpenSearch as sources/sinks, and allows UDFs in Python/JS.
Proton operates via SQL interface, providing streaming ingestion, multi-stream JOINs, incremental materialized views, alerting, and tasks. Users start a SQL shell with proton client, define Kafka topics via CREATE EXTERNAL STREAM, connect ClickHouse with CREATE EXTERNAL TABLE, and create long-running materialized views to write aggregated data to destinations. Example SQL reads from AWS MSK, writes to ClickHouse, and generates random data for testing. The engine uses SIMD optimizations, achieving 90 million EPS and 4ms end-to-end latency on M2 Max MacBook Pro.
- Real-time analytics pipeline builders: need to ingest live data from Kafka, perform transformations (filtering, enrichment, masking), and route to ClickHouse or downstream Kafka topics.
- Observability engineers: process logs, metrics, and traces with noise reduction and real-time alerts before forwarding to Splunk, Elastic, or S3.
- AI/ML feature engineers: compute real-time features using low-latency streaming SQL and materialized views with backfill and advanced windowing.
- Kafka/Redpanda users: query live data in Kafka or Redpanda directly using external streams.
- Data platform teams: need a lightweight stream processing engine deployable on single-node Docker or small AWS instances like t2.nano.
What are this agent's strengths and limitations?
- Extreme performance: SIMD-optimized, 90M EPS and 4ms end-to-end latency on M2 Max.
- Lightweight deployment: single binary <500MB, no JVM/dependencies, runs on small instances.
- Built-in materialized view storage: combines streaming and analytical query capabilities.
- Designed for Kafka/ClickHouse integrations; external systems may require additional configuration.
- Enterprise features (clustering, Kubernetes, more connectors) require Timeplus Enterprise.
- Platform relies on C++ and ClickHouse, which may have a learning curve for non-experts.
How do you install or deploy this agent?
On Mac/Linux, run curl https://install.timeplus.com/oss | sh to install the proton binary; Mac users can also use Homebrew: brew install timeplus-io/timeplus/proton. Docker: docker run -d --pull always -p 8123:8123 -p 8463:8463 --name proton d.timeplus.com/timeplus-io/proton:latest. Expose ports 8123 and 8463 for tool connectivity.
How do you use this agent?
Start the server with proton server; data is stored in the proton-data folder in the current directory. Open another terminal and use proton client to start the SQL shell. Inside the client, execute SQL to create external streams or tables, e.g., create a Kafka stream, a ClickHouse external table, and a materialized view to write aggregated data in real-time. You can also run CREATE RANDOM STREAM devices(...) to generate test data.
How does this agent compare with similar options?
Compared to Apache Flink and ksqlDB, Proton is a lighter, faster alternative. Unlike pure stream processors, it also stores queryable materialized views.