【存储工程】向量存储与 ANN 索引
存储工程视角的向量检索入门:L2/余弦/内积的几何意义与归一化等价、暴力基线、LSH/HNSW/量化直觉与 FAISS 选型;算法深度与生产引擎内核外链到 db-frontier 与 vector-engine。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 10 篇文章 · 返回首页
存储工程视角的向量检索入门:L2/余弦/内积的几何意义与归一化等价、暴力基线、LSH/HNSW/量化直觉与 FAISS 选型;算法深度与生产引擎内核外链到 db-frontier 与 vector-engine。
把 HNSW、IVF、DiskANN、Flat 收成引擎侧 Train/Build/Load/Search 契约与构建期/查询期参数面;用生命周期图与召回–QPS–内存三角说明索引如何贴着 Segment,并与 db-frontier/08、第 8 篇 Knowhere 分工。
按官方 Knowhere 文档说明其在 Milvus 中的位置、相对 Faiss 的扩展(bitset、SIMD 选择、二进制度量)、VecIndex 类层次与 IDMAP/IVF/HNSW 等类型,用插件注册、CPU/GPU 分发与 bitset 进查询三张图钉住工程契约,并与 db-frontier/08 的算法细节分工。
对照 Qdrant 与本系列 Milvus 主线:Segment 内的向量/payload/id mapper 三件套、WAL+序号版本化、后台 optimizer 四类任务,以及 Raft 只管拓扑不管点操作的分布式模型;说明何时单进程/小集群更合适。
以 pgvector v0.8.0 源码钉住 Index AM、8KB 页上的 HNSW element/neighbor 元组与 iterative_scan;对照 Milvus Growing/Sealed 与 Knowhere,说明同进程 SQL 扩展买到的事务边界与付掉的页模型/资源争用代价。
补齐 ANN 算法与 RAG 应用之间的生产级向量引擎层:以 Milvus 2.6.x 为主线拆解 Segment、WAL、Segcore、Knowhere、混合过滤与一致性,并用 Qdrant、LanceDB、pgvector 对照选型。
HNSW 是当前向量检索的事实标准算法。
从 HNSW、IVF-PQ、DiskANN 到 Milvus、Qdrant、pgvector;从稠密稀疏混合到 Microsoft GraphRAG 的工程实操。
系统拆解 HNSW、DiskANN/Vamana、SPANN 三类主流 ANN 索引的原理、构建算法、查询流程与工程参数,并覆盖 IVF-PQ、ScaNN 的位置,最后给出 FAISS/Milvus/pgvector/Qdrant 的选型与一份 200 行 numpy HNSW 复现。
把前几篇的算法组装起来,构建一个真正可用的向量检索系统。