物联网-高性能时序数据库QuestDB

高性能时序数据库QuestDB

开源地址:https://github.com/questdb/questdb

官网:https://questdb.io/ 当前 13.9k start

自带免费可视化管理界面

支持各种语言客户端

C & C++ .NET Go Java Node.js Python Rust

上手容易可兼容 Postgresql InfluxDB Rest HTTP 协议

吐槽下 TDEngine 客户端不忍直视,还搞一个 C 端 Client 真是奇葩(希望官方人员能看到,并重视这个问题)

存储模型

QuestDB 采用列存(column-based)存储模型,表里的数据按列存储到不同的文件,每次新的写入数据追加到文件末尾,保持跟写入顺序一致。

追加模型

QuestDB 采用列存模型,每个列存储到不同的文件,文件通过 mmap 方式映射到内存,每次写入直接在映射内存大末尾追加数据,非常高效,对于定长类型列,通过行号就能固定定位到数据位置;针对变长类型列,每个列除了对应一个数据文件,还要对应一个索引文件,索引文件的记录为定长,指向各个记录在数据文件的位置。

一致性和持久性

QuestDB 能保证每次写入的表级别的原子性,每张表会单独维护 last_committed_record_count(txn_count), 读取时 QuestDB 确保不会读到行号超过 txn_count 的记录,确保与正在写入事务的隔离性,当新记录的各个列都更新成功时,QuestDB commit 事务更新 last_committed_record_coun提交事务。数据的持久性级别可以在 commit 时指定不同的参数,是每次提交持久化还是周期性做持久化。

列存储模型

QuestDB采用面向列的存储方式,这种模型在处理分析型查询时,能够提供更高的效率和更低的I/O消耗。

实时分析

通过时间序列扩展的SQL,QuestDB能够协助进行实时数据分析,为需要快速响应的业务场景提供支持。

多协议支持

支持InfluxDB行协议、PostgreSQL协议和REST API,使得QuestDB可以无缝集成到现有的数据生态系统中。

高性能摄取

QuestDB为高吞吐量数据摄取进行了优化,能够快速处理大量数据流入,满足实时监控和分析的需求。

易于扩展

QuestDB设计为单机运行,但通过其REST API和支持的协议,可以轻松扩展以适应更大的数据量和查询需求。同时还兼容 PostgreSQL 、InfluxDB 等访问协议

相关推荐
曹牧4 小时前
Java:SQL 注入漏洞
数据库
程序员JerrySUN4 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
oradh5 小时前
Oracle Undo问题总结(ORA-600 [4xxx] 系列错误)
数据库·oracle
达梦数据5 小时前
DMDRS辅助表生成规则与作用
数据库·oracle
‎ദ്ദിᵔ.˛.ᵔ₎5 小时前
MySQL 表约束
数据库·mysql
Doris__HE5 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
笃行3508 小时前
别拿MySQL数据库管理工具硬导:MySQL 迁 KingbaseES 的完整工具链
数据库
风哥2号8 小时前
数据库教程FGMT51‑PostgreSQL实例管理与参数文件
数据库·postgresql
蓝速科技8 小时前
桌面双屏翻译机量产调试:三类场景兼容性破局方案丨蓝速科技
运维·数据库·人工智能·科技·技术分享
达梦数据9 小时前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle