跳到主要内容

向量索引内存管理

本文档介绍如何估算和管理 seekdb 中所有类型向量索引的内存占用。

配置向量索引内存

seekdb 向量搜索通过设置 ob_vector_memory_limit_percentage 配置向量索引内存:

该参数默认值为 0 ,表示自适应模式,即系统自动调整实例中的向量索引数据的内存占用比例,无需手动调整:

  • 实例实际内存为 8GB 及以下时,该值自适应为 40
  • 实例实际内存为 8GB 以上时,该值自适应为 50

索引内存估算与实际占用查询

支持通过 DBMS_VECTOR 系统包进行索引内存估算:

向量索引内存估算会返回两项信息:创建向量索引所需的最少内存配置,以及 HNSW_SQ 和 IVF 索引创建完成后的实际内存占用情况。

提示

对于内存稀疏索引,IDX_TYPE 参数必须指定为 SINDI(不区分大小写),否则内存估算将无法进行。

实际占用内存的详细信息可以通过视图 GV$OB_VECTOR_MEMORYV$OB_VECTOR_MEMORY 获取。

索引重建内存优化

对于分区表的向量索引重建操作,我们还提供了 vector_index_memory_saving_mode 配置项来控制索引重建的内存占用。开启此模式可以降低分区表向量索引重建(rebuild)过程中的内存消耗。通常,向量索引重建需要消耗相当于索引两倍的内存。开启省内存模式后,系统会在分区表单个分区构建完成后,通过暂时删除该分区的内存索引来释放内存,从而有效降低重建操作所需的总内存。语法和示例请参见vector_index_memory_saving_mode

相关文档