时间序列数据库 QuestDB 8.0 提升 SQL 性能并新增 ZFS 压缩

时间序列数据库 QuestDB 8.0 提升 SQL 性能并新增 ZFS 压缩

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

QuestDB发布了8.0版本,包括新的VARCHAR数据类型、SQL查询性能提升50%、数据压缩、SQL编译器更新、数据摄入率优化、新的SQL函数和改进、存储引擎优化以处理更大的数据集、采用VARCHAR作为默认数据类型等功能。QuestDB将SQL和时间序列扩展结合起来,使用列存储模型,提高了性能。

🔎

延伸解读

VARCHAR 成为默认类型:存储与兼容性双赢

QuestDB 8.0 将 VARCHAR 设为默认字符串类型,取代 STRING。VARCHAR 按实际长度分配空间,减少内存占用,并加速查询执行。同时,这一变化使 QuestDB 更符合标准 SQL 实践,方便熟悉传统关系数据库的用户迁移和使用。

ZFS 压缩下放:存储效率提升 6 倍

此前仅企业版可用的系统级 ZFS 压缩,现已向所有用户开放。ZFS 压缩算法可让时间序列数据存储更紧凑,官方称存储利用率提升 6 倍,降低磁盘成本。同时,由于从磁盘读取的数据量减少,查询性能也得到提升,加速数据检索与分析。

列式存储与时间序列分析的天然契合

QuestDB 采用列式存储模型,按列而非行组织数据。对于时间序列数据,这种模型能提高压缩率并加快读取速度。当查询只需扫描部分列时,列存仅读取相关列,避免读取整行,从而提升聚合或过滤时间数据的分析查询效率。

升级注意:破坏性变更与内存分配器调整

8.0 版本包含多项破坏性变更:GLIBC 升级、ILP 和 TextImport 修改,以及默认内存分配器改为 jemalloc。后续更新将禁用 jemalloc 作为默认分配器,并从无 JRE 构建中移除。升级前需评估这些变更对现有应用的影响。

❓

Q&A

QuestDB 8.0版本有哪些主要新特性?

QuestDB 8.0版本新增了VARCHAR数据类型、SQL查询性能提升50%、数据压缩、SQL编译器更新、数据摄入率优化、新SQL函数和存储引擎优化等功能。

VARCHAR数据类型的引入对QuestDB有什么影响?

VARCHAR作为默认数据类型优化了存储效率和查询性能,减少了内存占用并加快了查询执行时间。

QuestDB 8.0如何提高SQL查询性能?

通过系统级ZFS实现数据压缩和更新SQL编译器,QuestDB 8.0将SQL查询性能提升了50%。

ZFS压缩在QuestDB中有什么优势?

ZFS压缩提高了存储效率6倍,减少了读取磁盘的数据量,从而加快了数据检索和分析速度。

QuestDB的列存储模型有什么好处?

列存储模型提高了数据压缩和读取速度,特别适合需要聚合或过滤时间数据的分析查询。

QuestDB 8.0版本中有哪些重大变化?

除了引入VARCHAR数据类型外,QuestDB 8.0还进行了GLIBC升级、ILP和TextImport修改,以及内存分配器更改为jemalloc。

🏷️

标签

➡️

继续阅读