网站栏目做跳转后不显示,中国能建招商平台,iis 发布网站 404,碧江网站建设以下内容是自己在学习Milvus向量数据库时#xff0c;在Milvus官方网站文档库中对索引的学习整理和翻译#xff0c;通过自己和借助翻译软件进行了理解整合翻译#xff0c;有可能有一些地方理解整理的不到位#xff0c;还望大家理解。
一、磁盘索引
本文介绍了一种名为Disk…以下内容是自己在学习Milvus向量数据库时在Milvus官方网站文档库中对索引的学习整理和翻译通过自己和借助翻译软件进行了理解整合翻译有可能有一些地方理解整理的不到位还望大家理解。
一、磁盘索引
本文介绍了一种名为DiskANN的磁盘索引算法。基于Vamana图DiskANN在大型数据集中实现了高效搜索。
为了提高查询性能您可以为每个向量字段指定索引类型。
注
目前向量字段只支持一种索引类型。Milvus在切换索引类型时会自动删除旧索引。
二、先决条件
要使用DiskANN索引时请注意以下事项
1、默认情况下DiskANN索引是处于启用的状态Milvus不同版本中的默认状态有可能不一样。如果您更喜欢内存索引而不是磁盘索引建议您可以禁用此功能来获得更好的性能。
要想禁用它您可以在milvus配置文件中将queryNode.enableDisk更改为false。要想再次启用它的话您可以将queryNode.enableDisk设置为true。
2、Milvus实例需要在Ubuntu 18.04.6或更高版本上运行。
3、Milvus数据路径应挂载到 NVMe SSD 上以充分发挥性能
对于Milvus独立实例实例运行所在容器中的路径为/var/lib/Milvus/data。对于Milvus Cluster实例查询节点和索引节点运行的容器中的数据路径应该是/var/lib/Milvus/data。
三、限制条件
想使用DiskANN索引你必须确保以下条件
在数据中仅使用至少具有1个维度的浮点向量。仅使用欧氏距离 L2 或内积 IP 来测量向量之间的距离。
四、索引和搜索的设置
指标构建参数构建DiskANN索引时使用DISKANN作为索引类型。不需要索引参数。
搜索参数 参数 描述 范围 search_list 候选列表的大小越大召回率越高性能越差 [topk, int32_max]
五、DiskANN相关的Milvus配置
DiskAN是可调的。您可以在${MILVUS ROOT PATH}/configs/milvus.yaml中修改与DiskANN相关的参数以提高其性能。 ... DiskIndex: MaxDegree: 56 SearchListSize: 100 PQCodeBugetGBRatio: 0.125 SearchCacheBudgetGBRatio: 0.125 BeamWidthRatio: 4.0 ... 参数 描述 取值范围 默认值 MaxDegree Vamana 图的最大度数。 值越大召回率越高但会增加构建索引的大小和时间。 [1,512] 56 SearchListSize 候选人名单的大小。 较大的值会增加构建指数所花费的时间但会提供更高的召回率。 将其设置为小于“最大度数”的值除非需要减少索引构建时间。 [1,int32_max] 100 PQCodeBugetGBRatio PQ 代码的大小限制。 值越大召回率越高但会增加内存使用量。 [0.0,0.25] 0.125 SearchCacheBudgetGBRatio 缓存节点数与原始数据的比率。 较大的值会随着内存使用量的增加而提高索引构建性能。 [0.0,0.3] 0.1 BeamWidthRatio 每次搜索迭代的最大IO请求数与CPU数之间的比率。 [1,max(128/cpu number,16)] 4.0
六、故障排除
如何处理报“io_setup() failed; returned -11, errno11:Resource temporarily unavailable”的错误
答Linux内核提供异步非阻塞I/OAIO功能允许进程同时启动多个I/O操作而无需等待任何一个操作完成。这有助于提高可能重叠处理和I/O的应用程序的性能。
可以使用proc文件系统中的/proc/sys/fs/aio-max-nr虚拟文件中的参数来调整其性能。aio-max-nr参数决定了允许的最大并发请求数。
aio-max-nr默认为65535您可以将其设置为10485760。
有关更多信息请参阅如何在Milvus中的磁盘索引
On-disk Index Milvus v2.3.x documentation