High-Performance Time Series Database
基于 Rust 实现的时序数据库。列式存储与向量化执行引擎,单机即可承载大规模分析查询; 数据规模增长后可通过增加节点横向扩展。同机对打中,查询延迟已全面领先 DolphinDB 与 PostgreSQL。 SQL、流式订阅、多协议接入(HTTP / tcp-fast / tcp-mpx)与 Python、Go、C++ 客户端共用同一套引擎。
Core Features
从存储格式到查询语法,围绕时序数据的工作方式设计。
数据按列、按时间分区落盘,查询走向量化执行,配合 B-tree 与 Hash 索引。亿级行的范围扫描和聚合,延迟保持在毫秒级。
除了标准 SQL,还有 ASOF JOIN WINDOW JOIN PIVOT BY CONTEXT BY、CTE 与递归查询。13 种窗口函数和 20 种金融时序函数内置。
HTTP REST(兼容面)、tcp-fast 低延迟点查(0.02ms)、tcp-mpx 多路复用 + 预编译语句(单连接并发 14k ops/s)、TCP 订阅流。五个监听器可独立启停、端口可配,HTTP 可整体关闭组成纯二进制节点。
引擎内置 WebSocket 发布/订阅与连续查询,写入即可推送给下游,无需额外部署消息中间件。
内置节点注册、心跳、分片路由与查询转发。支持从单机部署起步,按数据规模平滑扩容至多节点集群。
开发调试可使用内存引擎,生产环境切换至磁盘引擎(段文件与压缩存储)。导入导出覆盖 CSV、Parquet、HDF5 等 7 种格式。
Data Flow
写入、查询、订阅三条路径共用同一存储引擎,互不阻塞。
Ecosystem
数据库内核之外,客户端与驱动由项目同步维护。
基于 egui/eframe 的桌面客户端,交互设计参照 DBeaver:左侧浏览表结构,上方编辑 SQL,下方展示结果集。
实现标准 java.sql.* 接口,覆盖 174 个 DatabaseMetaData 方法,Java 项目与 BI 工具可直接接入。
通过 FDW,PostgreSQL 可以直接查询 TSDB 中的时序数据;反向亦然,TSDB 可挂载并访问 PG 的表。
查询、批量写入、流式订阅与三通道可选(protocol="http" / "fast" / "mpx"),mpx 客户端支持单连接多线程并发与 PREPARE 预编译,可直接对接 pandas 数据分析流程。
作为依赖直接嵌入:tsdb::prelude 暴露 Database / QueryEngine / StorageEngine;network::Client 提供带认证的异步 HTTP 客户端。examples/ 附 6 个可运行示例。
tsdb_fdw 以 C 完整实现了与 TSDB 的对接,可直接作为 C 项目接入的参考实现;对外协议为文档化的 HTTP REST 与 TCP 二进制帧。
两端均提供 header-only / 零依赖客户端:HTTP REST、Arrow 批量、TCP 流式订阅(cpp-tsdb / go-tsdb),并同步支持 tcp-fast 与 tcp-mpx 二进制协议(多路复用 + 预编译语句)。
Use Cases
从金融行情到物联网与运维监控,三类典型负载的落地方式。
成交流与盘口流按时间对齐(ASOF JOIN),CONTEXT BY 按标的分组计算,为策略回测与实时风控提供毫秒级数据基础。
高频采样数据按时间分区落盘并压缩存储;连续查询做增量聚合,异常指标通过 WebSocket 实时推送至告警与看板。
应用与基础设施指标统一写入,引擎自身暴露 Prometheus 指标,配合 Grafana 构建从业务到数据库的一体化监控链路。
Architecture
系统分为客户端、协议、引擎三层,各层可独立替换、互不耦合。
Latest News
版本发布与核心能力进展,持续更新。
TSDC 页级 zstd(格式 v6,段头记 codec,保留页剪枝);含 null 浮点页改用 bitmap 编码(ENC_PLAIN_BITMAP)并统一走 F64Dense 纯列式聚合;batch_update_f64 列式折叠 + 全表同组检测;TSDB_AGG_THREADS 并行页聚合(多核可开)。
PG 风格登录 + 双 token 轮换,12 项安全加固(高危及以上全落地);视图与物化视图(REFRESH 重跑替换);事务内 DDL 与嵌套 SAVEPOINT;Tsdb 统一入口支持运行中服务 / 嵌入模式动态切换,--no-default-features 纯嵌入构建。
SIMD wave 后重对打(432 万行,rows_match 三口径门禁):DolphinDB 内存口径 order_by_limit 71.40× / window_rownum 22.20× / asof_join 17.67×;DFS 口径 group_by 0.2ms(≤2ms 门)、range_scan 与 DDB 1.00× 持平;PostgreSQL tcp-fast 通道 q1–q9 全胜(q7 915× / q9 710×)。
同机对打(432 万行):DolphinDB 内存口径 point 亚毫秒 / group_by 110× / order_by 71.40× / time_bucket 13.83× 全面领先;PostgreSQL tcp-fast 通道 q1–q9 全胜(q9 group-by 710×,q7 lastpoint 915×);存储体积仅为 DolphinDB 最优压缩的 1/16。
单连接并发多查询(req_id 乱序匹配)、PREPARE 预编译复用(重查询再 −24%);五个协议监听器可启停 / 换端口;Python / Go / C++ 三端 SDK 与 deb / rpm 安装包同步发布。
Leader Lease 决定分片写入归属,Metadata Quorum 记录事务投票,2PC 推进跨分片提交,decision replay 负责故障后的状态对齐。
节点重启后由 leader 周期性触发 repair 补齐副本,恢复收敛 34ms;进度通过 /cluster/recovery/state 接口实时可查。
流式订阅基于 sequence 与 replay buffer,连接断开重连后自动补齐缺失数据;非 owner 节点的请求会被自动转发。
Quick Links
下载、文档与客户端的统一入口。
Download
提供 deb 安装包(含 systemd 单元与默认配置,Ubuntu 24.04 实机安装验证通过)与 Linux / macOS / Windows 三平台二进制包。
Clients
GUI、JDBC、PostgreSQL FDW、Python SDK,以及 Rust / C / C++ 接口,与内核同步维护。
Quick Start
一条命令完成构建,一条命令启动服务,随即执行第一条查询。
Debian / Ubuntu 一键安装 deb 包;或克隆仓库后执行 ./scripts/build-linux.sh(macOS / Windows 脚本同目录)。
指定监听地址和数据目录即可启动。HTTP 默认 :8080,TCP 默认 :9090。
使用 GUI、Python、JDBC,或任意 HTTP 客户端连接后即可执行 SQL。