文件格式的复兴:Parquet、Lance、Vortex、Nimble、BtrBlocks 与列式存储的新物理机制

发布日期:2026-07-13 10:03:08   浏览量 :2
发布日期:2026-07-13 10:03:08  
2

十年来,文件格式层一直是数据领域中最稳定的阵地。阿帕奇帕quet(Apache Parquet)占据了分析领域的主导地位,ORC 守住了 Hive 的遗留领地,而有趣的争论都发生在其上的各个层级。然而,在大约三年的时间里,技术栈的底层变成了行业中智力活动最活跃的角落:一波研究浪潮催生了 BtrBlocks、FastLanes、ALP 和 FSST;构建人工智能基础设施的初创公司发布了 Lance 和 Vortex;Meta 从其机器学习平台开源了 Nimble;学术团体开始发布名为 F3(字面意思为“面向未来的文件格式”)等名称的文件格式。

不起眼的文件格式正迎来它的复兴,其原因值得精确阐述,因为它们解释了所有新进入者的特点。原因一:人工智能工作负载打破了 Parquet 的假设。2013 年的设计假设是对包含数字、字符串和日期的中等宽度表进行批量扫描。2026 年的工作负载包括对十亿行向量数据集的点查找、以图形处理器速度 shredding(拆解/处理)宽特征表的训练流水线,以及与结构化列相邻的多模态二进制大对象。原因二:硬件的发展超越了原有设计。非易失性内存表达(NVMe)使存储速度足够快,以至于解压缩成为了瓶颈;单指令多数据流(SIMD)宽度增加;图形处理器(GPU)成为了一流的数据消费者;而 Parquet 所依赖的重型通用编解码器不再是最合适的权衡选择。

因此,本文将对整个领域进行详细分解:Parquet 的实际工作原理及其改造现状,研究浪潮关于轻量级编码的发现,以及三种严肃的新格式——Lance、Nimble 和 Vortex,分别对其架构、设计中心、当前状态、路线图以及优缺点进行剖析。随后探讨对从业者至关重要的问题:这些格式与其上层的表格式之间的关系,针对特定工作负载实际应使用哪种格式,以及我对这场复兴如何落幕的预测。一如既往,说明我的立场偏见:我在 Dremio 工作,每周撰写关于 Parquet 和 Iceberg 社区的文章,而我关于 Parquet 项目现状的文章是本文的深度 companion(伴侣/补充读物)。

第一性原理:文件格式究竟决定了什么

将该类别剥离至其决策层面,因为本文中的每种格式都是对同样五个问题的不同答案集合。

值是如何布局的?列式与行式是著名的决策,而在列式内部,还有更细致的决策:行如何分组,分组是固定的还是自适应的,嵌套数据和变长数据如何表示。值是如何编码的?压缩栈,从轻量级的结构编码、字典编码、游程编码、增量编码、位打包,到如 Zstandard 这样的重型通用编解码器,是按列还是按块选择,是链式还是单一使用。哪些元数据随数据一起传输?模式、统计信息、偏移量、索引,这些自描述信息让读取器能够在读取之前进行规划。数据如何被访问?是针对顺序扫描优化,针对随机点访问优化,还是两者兼有,以及读取器可以在不触及邻居数据的情况下以何种粒度检索数据。契约是什么?是任何人都可以实现的字节级规范,还是以其应用程序接口(API)为承诺的库?这一区别事实证明是新一代格式中最深刻的分界线之一。

牢记这五点,以及我在存储深度探讨中提到的一个经济事实:在对象存储上,文件格式的真正任务是最小化范围读取的次数并最大化其效用,因为请求是货币。下面的每一种设计都在以不同的方式花费这种货币。

编码解析:通俗易懂版

既然整个复兴都取决于编码,让我通过微小的例子 properly(恰当地/正确地)建立直观理解,因为一旦理解了这些,每种格式的架构便不言自明。

St

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据