We describe a design pattern and concrete implementation for embedding distributed approximate nearest neighbor indexes inside the Apache Iceberg table format, using the Puffin sidecar file as the storage container and the snapshot summary as the binding mechanism. Modern analytical query engines increasingly adopt a compute disaggregated architecture: executors are stateless, scale elastically, and read all data from object storage. Adding vector similarity search to such an engine traditionally requires a dedicated index storage layer with its own lifecycle, consistency model, and operational surface breaking the disaggregation in variant. We show that the Puffin format, originally introduced portable level statistics and deletion vectors, is sufficient to carry full Vamana graphs at billion vector scale, and that linking these blobs through the existing statistics file snapshot summary property reduces ANN index management to standard Iceberg snapshot operations. We present a binary layout for sharded graph indexes inside Puffin, a coordinator executor protocol for distributed index build, probe, and incremental refresh, the integration into the existing optimistic-concurrency commit path of an Iceberg REST catalog, and a tiered probe strategy that places small centroid indexes on the coordinator and large DiskANN graphs on executor SSDs. The pattern inherits atomicity, time travel, multi engine read ability, and orphan file garbage collection from the table format at zero implementation cost. We discuss the recall/latency trade-offs introduced by the independent-shard design and quantify projected query and build performance for tables up to 109 vectors. Our implementation extends FlockDB, a distributed MPP engine built on DuckDB.


翻译:我们描述了一种设计模式及具体实现,用于在Apache Iceberg表格式中嵌入分布式近似最近邻索引,采用Puffin侧边文件作为存储容器,并以快照摘要作为绑定机制。现代分析型查询引擎日益采用计算分离架构:执行器无状态、弹性扩展,并从对象存储中读取所有数据。传统上,为此类引擎添加向量相似度搜索需要专用的索引存储层,该层具有独立的生命周期、一致性模型和操作界面,从而破坏了架构的分离性。我们证明,最初为引入可移植的层级统计信息和删除向量而设计的Puffin格式,足以承载十亿向量规模的完整Vamana图,并且通过现有的统计文件快照摘要属性链接这些二进制大对象,可将近似最近邻索引管理简化为标准的Iceberg快照操作。我们提出了一种Puffin内部分片图索引的二进制布局、分布式索引构建、探测与增量刷新的协调器-执行器协议、与Iceberg REST目录现有乐观并发提交路径的集成,以及将小型质心索引部署于协调器、大型DiskANN图部署于执行器固态硬盘的分层探测策略。该模式从表格式中继承了原子性、时间旅行、多引擎可读性以及孤立文件垃圾回收功能,且无需额外实现成本。我们讨论了独立分片设计引入的召回率/延迟权衡,并量化了针对包含10⁹个向量的表的查询与构建性能。我们的实现基于FlockDB,一个构建于DuckDB之上的分布式大规模并行处理引擎。

0
下载
关闭预览

相关内容

《工程》是中国工程院(CAE)于2015年推出的国际开放存取期刊。其目的是提供一个高水平的平台,传播和分享工程研发的前沿进展、当前主要研究成果和关键成果;报告工程科学的进展,讨论工程发展的热点、兴趣领域、挑战和前景,在工程中考虑人与环境的福祉和伦理道德,鼓励具有深远经济和社会意义的工程突破和创新,使之达到国际先进水平,成为新的生产力,从而改变世界,造福人类,创造新的未来。 期刊链接:https://www.sciencedirect.com/journal/engineering
智能数据库学习型索引研究综述
专知会员服务
23+阅读 · 2023年1月14日
【NeurIPS2021】SOLQ:基于学习查询的物体分割
专知会员服务
10+阅读 · 2021年11月9日
专知会员服务
19+阅读 · 2021年5月16日
pytorch中六种常用的向量相似度评估方法
极市平台
22+阅读 · 2021年12月9日
重磅发布:基于 PyTorch 的深度文本匹配工具 MatchZoo-py
中国科学院网络数据重点实验室
16+阅读 · 2019年8月26日
用PyTorch实现各种GANs(附论文和代码地址)
最新|深度离散哈希算法,可用于图像检索!
全球人工智能
14+阅读 · 2017年12月15日
边缘计算:万物互联时代新型计算模型
计算机研究与发展
15+阅读 · 2017年5月19日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
最新内容
学习数据的几何:形状空间分析数学综述
专知会员服务
4+阅读 · 6月17日
定向能反无人机系统最新发展动态
专知会员服务
6+阅读 · 6月17日
从燃煤战舰到算法战争:水面指挥的永恒要求
专知会员服务
3+阅读 · 6月17日
相关资讯
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员