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.
- Source repo
- timeplus-io/proton
- Stars
- ★ 2.3k
- Last updated
- 6d ago
- License
- Apache-2.0
- Primary language
- C++
- FA score
- 37/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- 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.
- Not a fit if
- Teams needing clustering, Kubernetes, or HA deployment, which require Timeplus Enterprise
- Users needing out-of-the-box connectors like NATS, Webhook, or Slack sinks
- Teams unfamiliar with C++/ClickHouse or streaming SQL concepts
- Source review
- 37/100 · Major gaps 8 safety controls not found
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.
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.
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 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.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Timeplus Proton: Streaming SQL Engine This agent | 37 · Major gaps | CLIFreemium | ★ 2.3k | 6d ago | C++ | — |
| Seal Report | 50 · Major gaps | Desktop appFree | ★ 1.6k | 10d ago | C# | OpenAI API · Claude API |
| ktx — Context layer for data agents | 64 · Some gaps | CLIFree + model costs | ★ 1.6k | 3mo ago | TypeScript | Codex · Claude Code |
| Cube Core | 59 · Major gaps | Self-hosted serviceFreemium | ★ 21k | today | Rust | — |
How does FollowAgents rate this agent?
Why each dimension lost points
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.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- 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.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
Docker Images Available ```bash docker pull d.timeplus.com/timeplus-io/proton:latest ``` For detailed usage and more information, check out the Timeplus documentation: https://docs.timeplus.com/ What's Changed * chore(deps): bump kafka-python from 2.0.2 to 2.3.2 in /tests/stream/h… by @yl-lisen in https://github.com/timeplus-io/proton/pull/1219 * fix(s3): do not send the Keep-Alive header to S3 (S3 Tables rejects it) by @timotejkralik-oddin in https://github.com/timeplus-io/proton/pull/1222 …View on GitHub ↗ -
Release notes excerpt
Docker Images Available ```bash docker pull d.timeplus.com/timeplus-io/proton:latest ``` For detailed usage and more information, check out the Timeplus documentation: https://docs.timeplus.com/ What's Changed * fix(metrics): freeze the disk_utils key set after the first collection by @yokofly in https://github.com/timeplus-io/proton/pull/1210 * ci: migrate CI to new AWS account (draft — merge only in cutover window) by @gangtao in https://github.com/timeplus-io/proton/pull/1212 …View on GitHub ↗ -
Release notes excerpt
Docker Images Available ```bash docker pull d.timeplus.com/timeplus-io/proton:latest ``` For detailed usage and more information, check out the Timeplus documentation: https://docs.timeplus.com/ What's Changed * fix(ci): unblock the manual darwin x86_64 cross-compile build by @yokofly in https://github.com/timeplus-io/proton/pull/1208 * feat(metrics): per-disk IO stats in system.server by @yokofly in https://github.com/timeplus-io/proton/pull/1209 Full Changelog: https://github.com/timeplus-io/proton/compare/v3.0.28...v3.0.29View on GitHub ↗