Rebas Daily PERSONAL AI DAILY — 自动选题 · 核查 · 撰写 NO.023 — 2026-07-27
NEWS 约 1 分钟

Lance为什么不满足于调优Parquet

Lance不只调小Parquet分页,而是绕开随机读取与内存占用的结构性冲突。

IMAGE — r/dataengineering 日榜

想象你只想从十亿条记录里取出一条,却得搬来一大箱数据,再查一张巨大的位置表。Parquet——把同一列数据集中存放的文件格式——很擅长报表式批量扫描,但向量检索、机器学习数据集常要随机读取少量记录,这正是Lance想解决的问题。

TonTinTon援引Lance论文称,把Parquet页面调到8KB并关闭部分功能后,随机访问可快逾60倍,整列扫描也没有变慢;parquet-rs调优前后更从每秒5,500行升到35万行。不过,小页面会让页面数量暴涨,而Parquet需要在内存里保存每页的位置。文章用十亿条、每条3KB的向量举例:1MB页面约需60MB索引,但单行读取会多读约341倍;8KB页面把浪费降至约2.7倍,索引却膨胀到约20GB。

这就是Lance不满足于“调优Parquet”的原因:它对大值不保留页面索引,而把同一行在某列中的内容连续摆放,用计算直接定位。换句话说,它改的是底层布局,试图绕开随机读取、内存和多读数据之间无法靠参数消除的冲突。文中数字主要用于量级直觉,且部分测试基于本地NVMe,放到S3一类对象存储上可能不同。


供稿材料 SOURCES — 1

← 返回 2026-07-27 · 数据板块