questdb/questdb
QuestDB is a high performance, open-source, time-series database
解决的问题
QuestDB 是一个低延迟、开源的时序数据库,可处理每秒数百万条事件的海量写入,同时保持多年历史数据的可查询性。它消除了预聚合的需要,并提供内置工具用于去重和乱序数据修正。
工作原理
引擎基于零GC的Java构建,关键性能路径使用C++和Rust。数据以内存映射、时间分区的列式格式存储。采用分层存储架构:并行写前日志(WAL)、原生列式分区,以及用于长期存储的Apache Parquet。查询通过SIMD和JIT编译的过滤器在所有CPU核心上执行。
适用人群
专为需要高分辨率遥测和实时分析的行业设计,包括:
- 资本市场:逐笔数据、订单簿和交易后分析。
- 航空航天与机器人:飞行测试遥测和任务回放。
- 能源与基础设施:电网和涡轮机遥测。
- AI编码代理:通过MCP服务器和特定代理技能进行集成。
主要亮点
- 高性能:支持每秒高达1900万行的写入,通过Apache Arrow流式输出可达每秒2.2亿行。
- 时序SQL:在标准SQL基础上扩展了专用函数,如
SAMPLE BY、LATEST ON和ASOF JOIN。 - QWP协议:基于WebSocket的二进制列式协议,实现高效读写。
- 开放格式:使用Apache Parquet、Iceberg和Arrow,确保数据可被其他工具访问。
- 广泛集成:支持PostgreSQL Wire Protocol、InfluxDB Line Protocol和REST API。
相关
- 项目
- 项目
- 项目
- 项目