返回

文章详情

F3

Hacker News2026年6月23日 16:53

F3是一种以效率、互操作性和可扩展性为设计理念的数据文件格式。它提供了一种数据组织方式,纠正了上一代格式(如Parquet)在布局方面的缺陷,同时通过嵌入式Wasm解码器保持良好的互操作性和可扩展性(即面向未来)。⚠️ 该项目是一个研究原型,用于验证论文中的想法。您不应在生产环境中使用它。构建说明:我们只在装有Debian 12的Intel机器上进行了测试。git submodule update --init --recursive ./scripts/setup_debian.sh # 构建F3的概念验证包 cargo build -p fff-poc # 运行F3的单元测试 cargo test -p fff-poc 重要目录:format:文件格式的FlatBuffer定义。 fff-poc:F3格式的主要代码。它引用了其他子目录,如fff-core、fff-encoding、fff-format和fff-ude-wasm。 fff-bench:论文中出现的基准测试和实验。具体而言,fff-bench/examples应包含大多数实验,包括微观和端到端实验。 fff-ude*:ude代表用户定义编码,这些目录中的代码与Wasm解码实现相关。 scripts和exp_scripts:与运行实验相关的脚本。 论文中实验结果的复现步骤:请参阅doc/paper_reproduction.md以获取详细步骤。许可证:该项目根据MIT许可证许可。有关详细信息,请参见LICENSE。引用:如果您觉得这个项目有用,请考虑引用:@article { zeng2025f3 , author = { Zeng, Xinyu and Meng, Ruijun and Prammer, Martin and McKinney, Wes and Patel, Jignesh M. and Pavlo, Andrew and Zhang, Huanchen } , title = { F3: 未来的开源数据文件格式 } , year = { 2025 } , issue_date = { 2025年9月 } , publisher = { 计算机协会 } , address = { 美国纽约 } , volume = { 3 } , number = { 4 } , url = { https://doi.org/10.1145/3749163 } , doi = { 10.1145/3749163 } , abstract = { 列存储格式是现代数据分析系统的基础。开源文件格式(即Parquet、ORC)的普及使得在不同平台之间无缝共享数据成为可能。然而,这些格式是在十多年前为与今天截然不同的硬件和工作负载环境而创建的。虽然这些格式已经在其规范中融入了一些更新以适应这些变化,但并非所有部署都支持这些修改,系统常常无法克服格式的缺陷和限制,除非进行重写。在本文中,我们提出了未来文件格式(F3)项目。这是一种以互操作性、可扩展性和效率为核心设计原则的下一代开源文件格式。F3通过提供一种数据组织结构和通用API,使开发者能够轻松添加新的编码方案,从而免去了每次数据处理和计算发生变更时创建新格式的必要。每个自描述的F3文件均包含数据和元数据,以及解码数据的WebAssembly(Wasm)二进制文件。将解码器嵌入每个文件所需的存储量(千字节)极少,并确保在本地解码器不可用时,可以在任何平台上保持兼容性。为了评估F3,我们将其与传统和最先进的开源文件格式进行了比较。我们的评估展示了F3存储布局的有效性和Wasm驱动解码的优点。 } , journal = { Proc. ACM Manag. Data } , month = sep, articleno = { 245 } , numpages = { 27 } , keywords = { 列存储、压缩、可扩展性、文件格式 } }

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡