monoscope-tech/timefusion
面向日志、链路追踪、指标和事件的时序数据库,数据以 Delta Lake 表存于 S3,并通过 PostgreSQL 协议查询。
- Star
- 221
- Fork
- 9
- 未关闭 Issue
- 7
- 最近提交
- 前天
这是什么?
TimeFusion 将日志、链路追踪、指标和事件等可观测性数据以 Delta Lake 表的形式存放在用户自有的 S3 兼容对象存储中,支持 S3、MinIO、R2 等。它提供 PostgreSQL 连接协议,使用 psql 或常见 Postgres 驱动即可写入和查询,无需额外客户端。查询由 Apache DataFusion 在 Parquet 文件上执行。
写入先经过预写日志(WAL)和内存缓冲区,再由后台刷新到 Delta,因此写入确认较快。查询会同时读取内存缓冲区和 S3 上的数据,刚写入的数据可立即查到。数据按 project_id 和日期分区,查询需带上 project_id 条件以实现租户隔离并利用分区裁剪。
项目目前处于 1.0 之前阶段,已在 APIToolkit 生产环境使用。同一 WAL 目录同一时间只能由一个进程占用,缓冲区大小、刷新间隔以及基于 Foyer 的内存与磁盘缓存均可配置。
核心功能
- 01数据以 Parquet 格式存放在 S3 兼容存储上,并由 Delta Lake 事务日志管理。
- 02可使用 psql 及任意 PostgreSQL 驱动连接。
- 03基于 DataFusion 执行分析型 SQL,支持窗口函数和 PERCENTILE_CONT。
- 04写入先经 WAL 和内存缓冲区,再后台刷新到 Delta。
- 05按 project_id 分区并隔离多租户数据。
- 06通过 Foyer 提供内存加磁盘的两级缓存。
适用场景
- 将应用日志和 OpenTelemetry 链路数据存放在自有 S3 存储桶中。
- 用标准 SQL 对各项目的事件数据进行延迟和错误率分析。
- 让已有基于 Postgres 的 BI 或可观测性工具无需新客户端即可访问事件数据。
快速上手
- 1
克隆仓库
git clone https://github.com/monoscope-tech/timefusion.git - 2
启动内置的 Compose 环境(包含本地 MinIO,无需 AWS 账号)
docker compose up - 3
使用 psql 连接 5432 端口
psql "postgresql://postgres:postgres@localhost:5432/postgres"
使用前须知
- 项目处于 1.0 之前的阶段,模式、协议行为和配置可能在版本之间发生变化。
- 同一个 WAL 目录同一时间只能运行一个 TimeFusion 进程。
- 查询应始终包含 project_id 过滤条件,否则会跨租户扫描,速度明显变慢。
- 从源码构建需要 Rust 1.85 或更高版本。
收录于专题
标签
常见问题
- timefusion 是什么?
- 面向日志、链路追踪、指标和事件的时序数据库,数据以 Delta Lake 表存于 S3,并通过 PostgreSQL 协议查询。 TimeFusion 将日志、链路追踪、指标和事件等可观测性数据以 Delta Lake 表的形式存放在用户自有的 S3 兼容对象存储中,支持 S3、MinIO、R2 等。它提供 PostgreSQL 连接协议,使用 psql 或常见 Postgres 驱动即可写入和查询,无需额外客户端。查询由 Apache DataFusion 在 Parquet 文件上执行。
- timefusion 可以免费使用吗?用的什么许可证?
- timefusion 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- timefusion 还在维护吗?
- 活跃维护中。timefusion 最近一次提交是在 2026年11月5日。
- timefusion 适合用来做什么?
- 将应用日志和 OpenTelemetry 链路数据存放在自有 S3 存储桶中。 用标准 SQL 对各项目的事件数据进行延迟和错误率分析。 让已有基于 Postgres 的 BI 或可观测性工具无需新客户端即可访问事件数据。
- timefusion 怎么安装和运行?
- 克隆仓库: git clone https://github.com/monoscope-tech/timefusion.git 启动内置的 Compose 环境(包含本地 MinIO,无需 AWS 账号): docker compose up 使用 psql 连接 5432 端口: psql "postgresql://postgres:postgres@localhost:5432/postgres"
- 在哪里获取 timefusion?
- 源代码和安装说明在 GitHub 上:https://github.com/monoscope-tech/timefusion
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源时序数据库,面向实时事件、指标与监控数据,基于 Arrow、DataFusion 和 Parquet 构建。
开源可观测性数据库,在对象存储上用同一列式引擎统一存储指标、日志和链路追踪,支持 SQL 和 PromQL 查询。
基于 Rust 的开源可观测性平台,将日志、指标、链路追踪和事件存储在对象存储上,单个二进制即可运行。
开源的监控与可观测性平台,可查询、可视化并对来自多种数据源的指标、日志和链路数据设置告警。
用 Rust 编写的高性能可观测性数据管道,用于采集、转换和路由日志与指标。