跳到主要内容

稠密索引概述

本文档介绍 seekdb 稠密向量索引的概念和类型。下文简称稠密索引。

稠密索引是 seekdb 针对稠密向量数据(大部分元素为非零值的向量)提供的高效索引类型。稠密向量索引主要用于加速向量搜索,支持通过距离函数(L2、内积、余弦距离)进行最近邻搜索。

索引类型

seekdb 的稠密索引主要包含 HNSW 系列和 IVF 系列。

HNSW 系列

基于内存的图结构索引,需要完整载入内存,支持 DML 和实时搜索,具有较高的搜索性能和召回率。

索引类型描述
HNSW索引列最大维度为 4096。HNSW 索引是内存索引,需要完整载入内存。
HNSW_SQHNSW_SQ 索引提供了和 HNSW 索引相近的构建速度,搜索性能,召回率,但总的内存使用降低到原本的 1/2~1/3。
HNSW_BQHNSW_BQ 索引的召回率略低于 HNSW 索引,但显著减少了内存占用。BQ 量化压缩算法(Rabitq)能将向量压缩至原大小的 1/32,随着向量维度增加,HNSW_BQ 索引的内存优化效果更明显。

更多信息请参见文末相关文档。

IVF 系列

基于磁盘的索引,可不占用常驻内存,适合数据量较大、成本敏感的场景。

索引类型描述
IVF基于数据库表实现的 IVF 索引,可不占用常驻内存。
IVF_PQ基于数据库表实现的 IVF_PQ 索引,可不占用常驻内存。在 IVF 基础上应用了 PQ 量化技术,索引的召回率略低于 IVF 索引,性能高于 IVF 索引,同时 PQ 量化压缩算法普遍场景下能将向量压缩至原大小的 1/16 ~ 1/32。

更多信息请参见文末相关文档。

语法说明

稠密索引支持建表时创建后建两种创建方式,搜索语法和删除语法与常规向量索引一致。不同索引类型的创建语法、参数说明、搜索语法及示例请参见:

  • HNSW 系列索引,包含 HNSW、HNSW_SQ、HNSW_BQ 的创建、搜索、删除语法说明和示例。
  • IVF 系列索引,包含 IVF、IVF_PQ 的创建、搜索、删除语法说明和示例。

相关文档