找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3112

积分

0

好友

442

主题
发表于 昨天 05:58 | 查看: 0| 回复: 0

原文: 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.50 43.80 基准 极稳 (0.07)

关键结论:

  • Vortex 的查询速度比 Parquet v2 快 18%,比 Parquet v1 快 35%
  • 更惊人的是其稳定性:Vortex 多次运行的耗时波动极小,几乎不受缓存机制干扰,表现非常稳定。

存储空间表现

在存储体积方面,Vortex 在未使用通用压缩算法(如 Snappy)的前提下,表现依然具有竞争力:

  • Parquet v2 (Snappy 压缩): 25.40 GB
  • Vortex (轻量编码): 28.57 GB
  • 注:Vortex 用极小的存储空间代价,换取了巨大的计算性能增益。

04 如何在 DuckDB 中启用 Vortex 格式?

得益于 DuckDB Labs 的深度参与,Vortex 已成为 DuckDB 生态中的“一等公民”,使用体验非常流畅:

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

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

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

05 总结:为 AI 时代优化的数据格式新选择

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

Vortex 自 v0.36.0 以来已保持了超过半年的向后兼容性,目前版本已迭代至 v0.56.0。大数据领域的存储格式之争,或许才刚刚拉开新的序幕。对于开发者而言,在合适的场景下尝试新的数据库技术栈,是保持技术敏锐度的重要方式。如果你想了解更多前沿技术实践与深度讨论,可以关注像云栈社区这样的开发者社区。




上一篇:我大胆预测:Kubernetes和微服务将这样‘误伤’Oracle
下一篇:Postiz开源推广策略解析:月入1.7万美元的SaaS零广告预算增长路径
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-1 01:28 , Processed in 0.312188 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表