向量数据库参数
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倍。
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索引做相似文档排序召回检索时所需准备排名靠前的文档数量。 |