Retour au classement

timeplus-io/proton

C++timeplus.com

The Fastest Unified Streaming SQL Engine in a Single C++ Binary. ⚡ Millisecond latency. 100+ GB/s throughput. Continuously compute real-time context from streams, logs, metrics, events, and CDC.

clickhousekakfasqlredpandasingle-binarystream-processingcppicebergetlflinkksqldbobservability
Croissance des étoiles
Étoiles
2.2k
Forks
110
Croissance hebdomadaire
Issues
83
1k2k
sept. 2023août 2024août 2025juil. 2026
README

Website Demo Apache 2.0 License



The Timeplus company logo.
Fastest SQL pipeline engine for stream processing, analytics, observability and AI



    Release  YouTube  Slack  follow on LinkedIn  X 

What's Timeplus Proton

🚀 The fastest SQL pipeline engine in a single C++ binary, for stream processing, analytics, observability and AI. A simple, fast and efficient alternative to ksqlDB and Apache Flink, powered by ClickHouse engine.

🔥 SQL for everything : Native source/sink (Kafka, ClickHouse, MySQL, Postgres, MongoDB, S3/Iceberg, OpenSearch etc.), Streaming ingestion, Multi-stream JOINs, Incremental Materialized Views, Alerting, Tasks, UDF in Python/JS etc.

⚡ No JVM. No ZooKeeper. Zero dependencies. Just speed, control and scale.

Timeplus Architecture

Get started in seconds

curl https://install.timeplus.com/oss | sh

Why Timeplus Proton

  • Apache Flink or ksqlDB alternative. Timeplus Proton provides powerful stream processing functionalities, such as streaming ETL, tumble/hop/session windows, watermarks, incremental materialized views maintenance, CDC and data revision processing. In contrast to pure stream processors, it also stores queryable analytical/row based materialized views within Proton itself for use in analytics dashboards and applications.

  • Fast. Timeplus Proton is written in C++, with optimized performance through SIMD. For example, on an Apple MacBookPro with M2 Max, Timeplus Proton can deliver 90 million EPS, 4 millisecond end-to-end latency, and high cardinality aggregation with 1 million unique keys.

  • Lightweight. Timeplus Proton is a single binary (<500MB). No JVM or any other dependencies. You can also run it with Docker, or on an AWS t2.nano instance (1 vCPU and 0.5 GiB memory).

  • Powered by the fast, resource efficient ClickHouse. Timeplus Proton extends the historical data, storage, and computing functionality of ClickHouse with stream processing. Thousands of SQL functions are available in Timeplus Proton. Billions of rows are queried in milliseconds.

  • Best streaming SQL engine for Kafka or Redpanda. Query the live data in Kafka or other compatible streaming data platforms, with external streams.

See our architecture doc for technical details and our FAQ for more information.

Use Cases

Timeplus Proton empowers you to build a wide range of real-time applications and data pipelines. Common use cases include:

  • Real-time Analytics ETL/Pipeline: Efficiently ingest live data from sources like Kafka, perform in-pipeline transformations (filtering, enrichment, masking), and route it to downstream systems, including data warehouses like ClickHouse, other Kafka topics, or analytical stores.

  • Real-time Telemetry Pipeline and Alerting: Process and route logs, metrics, and traces with in-pipeline noise reduction, real-time alerts before forwarding to Splunk, Elastic, or S3.

  • Real-time Feature Pipeline for AI/ML: Compute real-time features using low-latency, high-throughput streaming SQL and materialized views with support for backfill and advanced windowing over live data.

Demo

2-minute short video👇. Check out the full video at YouTube.

https://github.com/timeplus-io/proton/assets/5076438/8ceca355-d992-4798-b861-1e0334fc4438

Deployment

A single binary:

curl https://install.timeplus.com/oss | sh

Once the proton binary is available, you can run proton server to start the server and put the config/logs/data in the current folder proton-data. Then use proton client in the other terminal to start the SQL client.

For Mac users, you can also use Homebrew to manage the install/upgrade/uninstall:

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

Please check Server Ports to determine which ports to expose, so that other tools can connect to Timeplus, such as DBeaver.

Docker Compose:

The Docker Compose stack demonstrates how to read/write data in Kafka/Redpanda with external streams.

Demo:

Don't want to setup by yourself? Try Timeplus Demo (https://demos.timeplus.com/)

Usage

SQL is the main interface. You can start a new terminal window with proton client to start the SQL shell.

[!NOTE] You can also integrate Timeplus Proton with Python/Java/Go SDK, REST API, or BI plugins. Please check Integrations

In the proton client, you can write SQL to create External Stream for Kafka or External Table for ClickHouse.

For example, you can read from AWS MSK and write the data to ClickHouse for the following SQL:

-- Read from AWS MSK using IAM Role
CREATE EXTERNAL STREAM aws_msk_stream (
  device string,
  temperature float
)
SETTINGS
    type='kafka',
    brokers='prefix.kafka.us-west-2.amazonaws.com:9098',
    topic='topic',
    security_protocol='SASL_SSL',
    sasl_mechanism='AWS_MSK_IAM';

-- Write to ClickHouse
CREATE EXTERNAL TABLE ch_aiven
SETTINGS type='clickhouse',
            address='abc.aivencloud.com:28851',
            user='avnadmin',
            password='..',
            secure=true,
            table='events';

-- Setup a long-running materialized view to write aggregated data to ClickHouse
CREATE MATERIALIZED VIEW mv_msk2ch INTO ch_aiven AS
SELECT window_start as timestamp, device, avg(temperature) as avg_temperature
FROM tumble(aws_msk_stream, 10s) GROUP BY window_start, device;

If you don't have immediate access to Kafka or ClickHouse, you can also run the following SQL to generate random data:

-- Create a stream with random data
CREATE RANDOM STREAM devices(
  device string default 'device'||to_string(rand()%4),
  temperature float default rand()%1000/10);

-- Run the streaming SQL
SELECT device, count(*), min(temperature), max(temperature)
FROM devices GROUP BY device;

You should see data like the following:

┌─device──┬─count()─┬─min(temperature)─┬─max(temperature)─┐
│ device0 │    2256 │                0 │             99.6 │
│ device1 │    2260 │              0.1 │             99.7 │
│ device3 │    2259 │              0.3 │             99.9 │
│ device2 │    2225 │              0.2 │             99.8 │
└─────────┴─────────┴──────────────────┴──────────────────┘

What's next

To see more examples of using Timeplus Proton, check out the examples folder.

To access more features, such as sources, sinks, dashboards, alerts, and data lineage, try Timeplus Enterprise locally.

What features are available with Timeplus Proton versus Timeplus Enterprise?

Timeplus Proton Timeplus Enterprise
Deployment
  • Single-node Docker image
  • Single binary on Mac/Linux
  • Single node, or
  • Cluster
  • Kubernetes-based self-hosting
Data sources
  • Random streams
  • External streams to Apache Kafka, Apache Pulsar, Confluent Cloud, Redpanda
  • External streams to another Timeplus Proton or Timeplus Enterprise deployment
  • External tables to ClickHouse
  • Streaming ingestion via REST API (compact mode only)
  • Everything in Timeplus Proton
  • WebSocket and HTTP Stream
  • NATS
  • CSV upload
  • Streaming ingestion via REST API (with API key and flexible modes)
  • Hundreds of connectors from Redpanda Connect
Data destinations (sinks)
  • External streams to Apache Kafka, Apache Pulsar, Confluent Cloud, Redpanda
  • External streams to another Timeplus Proton or Timeplus Enterprise deployment
  • External tables to ClickHouse
  • Everything in Timeplus Proton
  • Slack
  • Webhook
  • Hundreds of connectors from Redpanda Connect
Support
  • Community support from GitHub and Slack
  • Enterprise support via email, Slack, and Zoom, with a SLA

Integrations

The following drivers are available:

Integrations with other systems:

Documentation

We publish full documentation for Timeplus Proton at docs.timeplus.com alongside documentation for Timeplus Enterprise.

We also have a FAQ for detailing how we chose Apache License 2.0, how Timeplus Proton is related to ClickHouse, and more.

Contributing

We welcome your contributions! If you are looking for issues to work on, try looking at the issue list.

Please see the wiki for more details, and BUILD.md to compile Timeplus Proton in different platforms.

If you are using Timeplus Proton and would like your company logo displayed on our Home page, please email info@timeplus.com with your request.

Need help?

Please use GitHub Discussions to share your feedbacks or questions for Timeplus Proton.

For filing bugs, suggesting improvements, or requesting new features, open GitHub Issues.

To connect with Timeplus engineers or inquire about Timeplus Enterprise, join our Timeplus Community Slack.

Licensing

Proton uses Apache License 2.0. See details in the LICENSE.

Dépôts similaires
ClickHouse/ClickHouse

ClickHouse® is a real-time analytics database management system

C++Apache License 2.0dbmsolap
clickhouse.com
48.8k8.7k
plausible/analytics

Open source, privacy-first web analytics. Lightweight, cookie-free Google Analytics alternative. Self-hosted or cloud.

ElixirGNU Affero General Public License v3.0analyticsprivacy
plausible.io
27.9k1.7k
OtterMind/Chat2DB

AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHouse, and more.

JavaMavenOtheraichatgpt
chat2db.ai
25.9k2.8k
dubinc/dub

The modern link attribution platform. Loved by world-class marketing teams like Framer, Perplexity, Superhuman, Twilio, Buffer and more.

TypeScriptnpmOthervercelnextjs
dub.co
24.1k3.1k
CodePhiliaX/Chat2DB

🔥🔥🔥AI-driven database tool and SQL client, The hottest GUI client, supporting MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, ClickHouse, and more.

JavaMavenApache License 2.0aichatgpt
bit.ly/4ilcSwa
19.6k2.2k
Tencent/APIJSON

🏆 Real-Time no-code, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and Frontend(Client) can customize response JSONs 🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构

JavaMavenOtherpostgresql-databasetidb
apijson.cn
18.4k2.3k
googleapis/mcp-toolbox

MCP Toolbox for Databases is an open source MCP server for databases.

GoGo ModulesApache License 2.0genaimcp
mcp-toolbox.dev/documentation/introduction/
16k1.6k
zhisheng17/flink-learning

flink learning blog. http://www.54tianzhisheng.cn/ 含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例,还有 Flink 落地应用的大型项目案例(PVUV、日志存储、百亿数据实时去重、监控告警)分享。欢迎大家支持我的专栏《大数据实时计算引擎 Flink 实战与性能优化》

JavaMavenApache License 2.0flinkkafka
54tianzhisheng.cn/tags/Flink/
15.1k3.9k
t8y2/dbx

20MB, lightweight, cross-platform database client. Supports MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server and more.20MB,轻量级跨平台数据库客户端、数据库管理工具。支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server 等。

Rustcrates.ioApache License 2.0clickhousedatabase
dbxio.com
11k1k
getlago/lago

Open Source Metering and Usage Based Billing API ⭐️ Consumption tracking, Subscription management, Pricing iterations, Payment orchestration & Revenue analytics

GoGo ModulesGNU Affero General Public License v3.0billingfintech
getlago.com
10.2k705
hyperdxio/hyperdx

Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by ClickHouse and OpenTelemetry.

TypeScriptnpmMIT Licenseanalyticsapplication-monitoring
hyperdx.io
9.7k430
tobymao/sqlglot

Python SQL Parser and Transpiler

PythonPyPIMIT Licensetranspilersql
sqlglot.com
9.4k1.2k