PostgreSQL码农集散地

性能炸裂, DuckDB 将放弃 Parquet 转头 Vortex?

性能炸裂, DuckDB 将放弃 Parquet 转头 Vortex

原文: https://duckdb.org/2026/01/23/duckdb-vortex-extension

Parquet 的头号劲敌?DuckDB 正式官宣支持 Vortex:查询提速 35%,性能直接起飞!

01 Parquet 统治的时代要终结了?

如果你做过大数据分析,一定被 CSV 这种“远古格式”折磨过,也一定感受过 Parquet 带来的效率革命。但时代变了,Parquet 的一个致命弱点正日益凸显:块压缩(Block-compressed) 。

简单来说,现有的引擎在进行过滤、解码等操作前,必须先对数据页进行解压。这就好比你想在快递盒里找个钥匙,必须先把整箱胶带撕开。

Vortex 应运而生。

这是由 SpiralDB 团队打造、并于 2025 年捐赠给 Linux 基金会的开源列式格式。今天,DuckDB 官方宣布:正式支持 Vortex!

02 为什么 Vortex 这么快?“黑科技”揭秘

Vortex 不只是另一个 Parquet,它在底层逻辑上完成了跨代进化:

  1. “不解压,直接算”: 借助 ALP(浮点数)和 FSST(字符串)等轻量级编码,Vortex 可以在不解压的情况下运行计算。这意味着“在存储层直接过滤数据”成为了现实。
  2. 延迟物化(Late Materialization): 数据只有在最后一步进入 CPU 或 GPU 时才会被解压,最大化利用硬件带宽。
  3. 万物皆可列式: 它不仅针对 SQL,还专门优化了向量、长文本、甚至图像和音频流,天生为 AI 和大模型训练而生。
  4. Wasm 嵌入: 你甚至可以将 WebAssembly 代码嵌入文件中,直接在存储端跑自定义算法。

03 性能实测:数据从不撒谎

为了验证 Vortex 是否真的能打,我们在 Mac M1 (10核/32GB) 环境下,针对 TPC-H Scale Factor 100(约 20GB 数据量)进行了严苛测试。

我们将 Vortex 与 Parquet v1/v2 进行了 5 轮“冷启动”对比。结果令人惊喜:

核心数据对比

格式指标
几何平均耗时 (s)
总耗时 (s)
性能提升 (对比Vortex)
稳定性 (标准差)
Parquet v1
2.32
63.26
慢 35%
波动较大 (0.14)
Parquet v2
1.83
50.33
慢 18%
波动中等 (0.18)
Vortex (New)1.5043.80王炸级别极稳 (0.07)

关键结论: > * Vortex 的查询速度比 Parquet v2 快 18% ,比 Parquet v1 快 35% 。

  • 更惊人的是稳定性:Vortex 的多次运行波动极小,几乎不受缓存机制的干扰。

存储空间表现

在存储体积上,Vortex 在未使用通用压缩算法的前提下,依然保持了极高的竞争力:

  • Parquet v2 (Snappy压缩): 25.40 GB
  • Vortex (轻量编码): 28.57 GB
  • 注:Vortex 牺牲了极小的空间,换取了巨大的计算增益。

04 如何在 DuckDB 中开启“暴走模式”?

由于 DuckDB Labs 的深度参与,现在 Vortex 已经是 DuckDB 的“头等公民”。使用起来极其丝滑:

-- 1. 安装并加载  
INSTALL vortex;  
LOAD vortex;  

-- 2. 像写 Parquet 一样写 Vortex  
COPY (SELECT * FROM my_table) TO'data.vortex' (FORMAT vortex);  

-- 3. 极速读取  
SELECT * FROM read_vortex('data.vortex');  

05 总结:AI 时代的新标准

无论你是处理传统的 SQL 分析,还是在跑 ML 数据预处理流水线,亦或是进行 AI 模型训练,Vortex + DuckDB 的组合都提供了一个更高效的选项。

Vortex 自 v0.36.0 以来已保持了超过半年的向后兼容性,目前已迭代至 v0.56.0。大数据领域的格式之争,好戏才刚刚开始。

你想在下一个项目中尝试 Vortex 吗?欢迎在评论区分享你的看法!