更新时间:2024-11-12 GMT+08:00
分享

向量数据库参数

maintenance_work_mem

参数说明指定在维护性操作中使用的最大的内存量。该参数可在PDB级别设置。

参数类型整型

参数单位kB

取值范围1024 ~ 2147483647

默认值65536(即64MB)。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置例如,不带单位取值1024,表示maintenance_work_mem为1024kB;带单位取值1MB,表示maintenance_work_mem为1MB。取值如果要带单位,必须为kB、MB、GB。

设置建议:参数取值一定要大于向量索引构建时对数据进行采样所需的内存。对于gsivfflat索引,采样所需内存估算为max(nlist, nlist2) * dim * 0.2kB。对于gsdiskann索引,开启pq时,采样所需内存为dim * 80kB。

设置不当的风险与影响:该参数设置过小,会导致索引无法正常创建,其他需要较大内存的业务也会失败。

diskann_probe_ncandidates

参数说明指定利用gsdiskann索引检索向量时的候选集合大小。多租场景下,该参数可在PDB级别设置。

参数类型整型

参数单位

取值范围1 ~ 32768

默认值128。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置

设置建议:

  • 推荐使用默认值,建议在使用中通过实验获得最优的参数配置。
  • diskann_probe_ncandidates参数可以对于个别使用gsdiskann索引的查询进行设置和生效,建议只在会话中用set进行设置,不建议使用gs_guc进行全局设置。

设置不当的风险与影响:该参数设置过大会导致查询性能下降;设置过小会导致召回率不足。

gsivfflat_probes

参数说明指定利用gsivfflat索引检索向量时待搜索的倒排列表的数量,超过gsivfflat索引的倒排列表总数时执行全表搜索。gsivfflat索引的倒排列表总数由创建索引时参数ivf_nlist指定。多租场景下,该参数可在PDB级别设置。

参数类型整型

参数单位

取值范围1 ~ 32768

默认值5。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置

设置建议:推荐设置为索引创建时参数ivf_nlist取值的3%。建议在使用中通过实验获得最优的参数配置。

设置不当的风险与影响:该参数设置越大,搜索时间越长,但结果越准确。

gsivfflat_secondary_probes

参数说明指定利用gsivfflat索引检索向量时待搜索的二级倒排列表的数量,超过二级倒排列表总数时执行全表搜索。二级倒排列表总数由创建索引时参数ivf_nlist2指定。多租场景下,该参数可在PDB级别设置。

参数类型整型

参数单位

取值范围1 ~ 32768

默认值5。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置

设置建议:推荐设置为索引创建时参数ivf_nlist2取值的1/4~1/2之间。建议在使用中通过实验获得最优的参数配置。

设置不当的风险与影响:该参数设置越大,搜索时间越长,但结果越准确。

gsivfflat_secondary_probes效果和gsivfflat_probes相同,只有向量索引为双层索引时生效,可以有效加速查询速度。建议在使用中通过实验获得最优的参数配置。

enable_vectordb

参数说明设置是否允许创建向量索引,是否允许对向量索引增加、修改和查询。向量数据库详细功能请参见《向量数据库开发指南》手册中的“使用向量数据库”章节。

参数类型布尔型

参数单位

取值范围

  • on:表示允许。
  • off:表示不允许。

默认值off

设置方式该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:当不允许用户使用向量索引等向量数据库功能时,请设置为off,否则请设置为on。

设置不当的风险与影响:参数取值决定了用户能否使用向量数据库的功能,设置错误会导致用户使用数据库功能范围错误。

bm25_ranking_metric

参数说明指定BM25索引使用的相似文档排序召回检索算法。多租场景下,该参数可在PDB级别设置。

参数类型整型

参数单位

取值范围0 ~ 127。具体数值对应关系如下:

  • 0:BM25_OKAPI(默认值)
  • 1:BM25_ATIRE
  • 2:BM25_L
  • 3:BM25_PLUS
  • 4:TF_IDF
  • >4:使用默认的BM25_OKAPI算法。

默认值0。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置

设置建议:根据业务场景选择合适的文档相似度评分算法。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

bm25_ncandidates

参数说明指定使用BM25索引做相似文档排序召回检索时所需准备排名靠前的文档数量,用于加速带有WHERE过滤条件的相似文档检索。多租场景下,该参数可在PDB级别设置。

参数类型整型

参数单位

取值范围0 ~ 65535

默认值128。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

设置建议:根据检索语句过滤条件和LIMIT返回数量设置,大概计算为LIMIT召回数量 / 文档结果满足过滤条件几率。

设置不当的风险与影响:数值过大或者过小会使BM25索引检索时延变长,严重时可能使时延增加3-4倍。

表1 涉及向量数据库的GUC参数

GUC参数名

级别

取值范围(默认值)

描述

maintenance_work_mem

会话级(session)

[1024,2147483647]/[1MB,2048GB)

(65536/64MB)

指定在维护性操作中使用的最大的内存量。默认单位是kB。

diskann_probe_ncandidates

会话级(session)

[1, 32768](128)

表示利用gsdiskann索引检索向量时的候选集合大小。

gsivfflat_probes

会话级(session)

[1, 32768](5)

表示待搜索的倒排列表的数量,超过倒排列表总数时执行全表搜索。

gsivfflat_secondary_probes

会话级(session)

[1, 32768](5)

表示待搜索的二级倒排列表的数量,超过二级倒排列表总数时执行全表搜索。

enable_vectordb

全局参数(SIGHUP)

[off, on](on)

高阶特性,表示是否允许创建向量索引,是否允许对向量索引增加、修改和查询。

bm25_ranking_metric

会话级(session)

[0, 127](0)

表示BM25索引使用的相似文档排序召回检索算法。

bm25_ncandidates

会话级(session)

[0, 65536](128)

表示使用BM25索引做相似文档排序召回检索时所需准备排名靠前的文档数量。

相关文档