proton

timeplus-ioApache-2.0活跃维护

单二进制 C++ 流式 SQL 引擎,毫秒级延迟、百 GB/s 吞吐,可从日志、指标、事件和 CDC 流中持续计算有状态上下文。

The fastest unified streaming SQL Engine in a single C++ binary. ⚡ Millisecond latency. 100+ GB/s throughput. Continuously compute stateful context from streams, logs, metrics, events, and CDC.

v3.0.32发布于 2026-10-30 01:15 UTC2,281star112fork同步于 2026-11-10 11:44 UTC

怎么上手

由 README 提炼,执行前请确认
curl https://install.timeplus.com/oss | sh
proton server
硬件要求按 README 说明

README 称单二进制小于 500MB、无 JVM 和 ZooKeeper 等依赖,可在 AWS t2.nano(1 vCPU、0.5 GiB 内存)上运行;未提及 GPU 或显存要求。

支持 Apple Silicon有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

单 C++ 二进制的流式 SQL 引擎,替代 Flink/ksqlDB 做实时流处理与分析

单二进制 C++ 流式 SQL 引擎,毫秒级延迟、百 GB/s 吞吐,可从日志、指标、事件和 CDC 流中持续计算有状态上下文。

核心能力

  • 用 SQL 建外部流读写 Kafka、Pulsar、Redpanda
  • 支持 tumble/hop/session 窗口与 watermark
  • 增量物化视图持续维护并落盘可查询
  • 内置 ClickHouse 引擎,复用其存储与数千 SQL 函数
  • 支持 Python/JS UDF 与 REST API、SDK 集成

容易踩的坑

安装脚本只装二进制,需另开终端用 proton client 连接;默认数据/日志写在当前目录的 proton-data;Docker 方式需自行按文档暴露 8123/8463 等端口

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v3.0.32
  1. v3.0.32最新正式版2026-10-30 · 2026-10-30 01:15 UTC

    Docker Images Available

    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

    Full Changelog: https://github.com/timeplus-io/proton/compare/v3.0.31...v3.0.32

  2. v3.0.312026-09-17 · 2026-09-17 05:31 UTC
    查看更新说明

    Docker Images Available

    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

    New Contributors

    Full Changelog: https://github.com/timeplus-io/proton/compare/v3.0.30...v3.0.31

  3. v3.0.302026-09-01 · 2026-09-01 05:23 UTC
    查看更新说明

    Docker Images Available

    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

    Full Changelog: https://github.com/timeplus-io/proton/compare/v3.0.29...v3.0.30

  4. v3.0.292026-08-02 · 2026-08-02 12:48 UTC
    查看更新说明

    Docker Images Available

    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

    Full Changelog: https://github.com/timeplus-io/proton/compare/v3.0.28...v3.0.29

  5. v3.0.262026-06-22 · 2026-06-22 11:43 UTC
    查看更新说明

    Docker Images Available

    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

    Full Changelog: https://github.com/timeplus-io/proton/compare/v3.0.25...v3.0.26

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Website Demo Apache 2.0 License

    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.

    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 ProtonTimeplus Enterprise
    DeploymentSingle-node Docker imageSingle binary on Mac/LinuxSingle node, orClusterKubernetes-based self-hosting
    Data sourcesRandom streamsExternal streams to Apache Kafka, Apache Pulsar, Confluent Cloud, RedpandaExternal streams to another Timeplus Proton or Timeplus Enterprise deploymentExternal tables to ClickHouseStreaming ingestion via REST API (compact mode only)Everything in Timeplus ProtonWebSocket and HTTP StreamNATSCSV uploadStreaming 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, RedpandaExternal streams to another Timeplus Proton or Timeplus Enterprise deploymentExternal tables to ClickHouseEverything in Timeplus ProtonSlackWebhookHundreds of connectors from Redpanda Connect
    SupportCommunity support from GitHub and SlackEnterprise 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.

    Adding a Company Logo

    If you are using Timeplus Proton and would like your company logo displayed on our Home page, please email [email protected] 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.