Skip to content
本页内容
Product
2026-03-12

TopK 查询提速 100×:GreptimeDB v1.0 RC2 发布

TopK 查询提速 100×:GreptimeDB v1.0 RC2 发布
GreptimeDB v1.0.0-rc.2 引入 TopK 动态过滤优化,查询性能提升超过 100 倍;新增 PostgreSQL COPY 支持、Flow TQL CTE、Prometheus 3.x 兼容适配,以及多项 Repartition 稳定性修复,持续迈向 v1.0 GA。

不久前,我们发布了 GreptimeDB v1.0.0-rc.1,并引入了 Region 重分区(Repartition)等关键能力,标志着 v1.0 正式进入 Feature Freeze 与稳定性验证阶段。

本周,我们发布 v1.0.0-rc.2。这一版本继续围绕性能优化、查询能力增强以及 Repartition 稳定性改进展开,同时修复了一系列关键问题,为即将到来的 v1.0 GA 发布进一步夯实基础。

我们强烈建议用户升级到此版本。

开发数据概览

以下是 rc.2 的开发统计(截至 2026-03-11):

  • 84 个 PR 合并
  • 13 位贡献者参与
  • 其中包含 1 位新贡献者

主要改进分布:

  • 32 项功能增强:TopK 动态过滤、PostgreSQL COPY 支持、Flow TQL CTE、Prometheus 3.x 兼容适配等
  • 20 项错误修复:Region 重分区稳定性修复、慢查询记录修复、Parquet 重复下载修复等
  • 5 项代码重构:向量索引元数据重构、Partition Expr Version 重命名、Remote Write 相关代码整理等
  • 3 项性能优化:Prometheus decode 优化、Remote Write decode 优化、Parquet scan min-max cache 加速
  • 4 项测试增强:Repartition fuzz、Vector Index sqlness test 等
  • 2 项文档更新
  • 18 项工程与依赖改进:DataFusion / Arrow 升级、CI 与 tracing 完善等

特别感谢本次参与的 13 位贡献者!其中包括 2 位社区贡献者:

  • @YZL0v3ZZ(新贡献者)— 修复 Metasrv PostgreSQL advisory lock 释放问题
  • @linyihai — 为 JSON COPY 添加时间格式配置支持

我们也欢迎更多开发者和用户加入 GreptimeDB 社区,一起打磨 v1.0 GA。

亮点更新

查询性能显著提升:TopK 动态过滤优化

本次 RC2 引入了 Dynamic Filter Pushdown for TopK 优化。

在某些典型查询场景中,例如:

sql
SELECT * FROM table
ORDER BY end_time DESC
LIMIT 10;

对于非 Time Index 列的 ORDER BY ... LIMIT 查询,RC2 将 DataFusion 的运行时动态过滤器(Dynamic Filter)下推到 Mito Region Scan,在执行过程中基于 TopK 阈值提前过滤无效数据,从而减少不必要的 IO 和 CPU 开销。

在真实测试场景中:

查询RC1RC2
ORDER BY end_time DESC LIMIT 10~28.86s~0.21s

性能提升超过 100×

PostgreSQL COPY 支持(ADBC Postgres Path)

RC2 在 PostgreSQL 接口上新增支持:

sql
COPY (query) TO STDOUT WITH (format binary)

这使 GreptimeDB 的 PostgreSQL 接口能够兼容 ADBC(Arrow Database Connectivity)PostgreSQL driver 的 COPY 高效导出路径,在数据导出和分析场景中显著提升吞吐能力。

其他改进

  • Prometheus 写入优化:Prometheus decode 性能提升和 Remote-write decode 路径优化,从 benchmark 来看有 10% 的改进提升。
  • Mito2 Parquet Scan 加速:在 Mito2 引擎中引入 min-max cache,加速 Parquet 文件扫描。
  • Partition Pruning 优化:进一步优化了分区裁剪机制,提升查询选择性并减少扫描范围。
  • Flow TQL 支持 CTECREATE FLOW 语句新增支持简单的 TQL CTE(Common Table Expressions)
  • Prometheus 3.x 行为对齐:适配 Selector、Lookback 行为和 Matrix Selector 语义。
  • PromQL GROUP BY 支持
  • 新增异常检测函数anomaly_score_zscoreanomaly_score_iqranomaly_score_mad
  • JSON COPY 支持时间格式配置
  • Flow 统计信息支持
  • CLI 新增 scan benchmark 工具
  • 多项内部优化:DataFusion 与 Arrow 依赖升级、GC 与 tracing 相关优化

重要修复

  • Region 重分区稳定性修复
    • 防止向正在回收的 Region 写入数据,在写入路径增加保护机制(拒绝写入 deallocating region)
    • 修复了进入 Staging 阶段时的同步问题,从而避免潜在的数据状态不一致
  • 修复 Mito2 分区裁剪过程中 extension range 的过滤问题
  • PromQL 计划统计信息错误
  • Slowlog 查询 panic
  • Partition expression 处理异常
  • Parquet 文件重复下载问题
  • 元数据路由地址映射问题

兼容性说明

本版本不包含 breaking changes,可直接从 RC1 平滑升级。

结语

完整发行日志请查看 GitHub Release

感谢所有贡献者和用户的支持,我们将继续按计划稳步迈向 1.0 GA。

Stay in the loop

加入我们的社区