一、适用场景
·稀疏向量规模大、内存压力明显
当稀疏向量数据规模较大时,索引占用大量内存导致系统压力明显。磁盘交换方案将低频访问数据从内存智能换出至磁盘,优化内存成本。
·混合检索架构的成本优化
对于稀疏与稠密向量混合检索架构,磁盘交换方案通过压缩稀疏向量存储成本,在保证检索体验的前提下优化资源分配,让整体检索性价比更高。
·冷热数据特征明显
在稀疏向量访问存在明显冷热数据分布的场景,开启磁盘交换方案后,内存空间主要用于保留高频稀疏向量数据,低频数据会常驻磁盘,从而实现降本。
二、使用限制
| 分类说明 | 具体信息 |
| 版本要求 | V3.0及之后版本支持稀疏向量磁盘交换方案。 |
| 开启/切换方式 | 新建集合:在稀疏向量字段参数中设置 diskSwapEnabled=true,开启磁盘交换方式。具体信息,请参见 /collection/create。已创建集合:通过 /index/modifyVectorIndex 接口的 diskSwapEnabled 参数,触发索引重建流程,可将内存存储转换为磁盘交换方式。说明:暂不支持从磁盘交换方式切换为内存方式。 |
| 容量增强版 | 容量增强版实例暂不支持开启该能力。 |
三、示例1:创建集合时启用磁盘交换
新建集合时,希望使用磁盘交换方案,降低稀疏向量索引的内存占用,实现整体成本优化。
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer account=root&api_key=A5VOgsMpGWJhUI0WmUbY********************' \\ http://10.0.X.X:80/collection/create \\ -d '{ "database": "db-test", "collection": "book-vector", "replicaNum": 1, "shardNum": 1, "description": "this is the collection description", "indexes": [ { "fieldName": "id", "fieldType": "string", "indexType": "primaryKey" }, { "fieldName": "sparse_vector", "fieldType": "sparseVector", "indexType": "inverted", "metricType": "IP", "diskSwapEnabled":true }, { "fieldName": "bookName", "fieldType": "string", "indexType": "filter" } ]}'
四、示例2:在线切换稀疏向量索引存储方式
存量集合已创建但出现以下诉求时,可进行在线切换:
·成本优化驱动:当稀疏向量索引内存成本过高时,从内存模式迁移至磁盘交换方案,大幅降低资源投入。
·性能评估需求:在压测/灰度中对比两种模式的资源占用与检索效果,基于实际数据确定最佳配置。
·业务动态调整:根据业务变化灵活切换模式,冷数据增多时切至磁盘模式降成本,而在高性能需求时切回内存方式。
curl -i -X POST \\ -H 'Content-Type: application/json' \\ -H 'Authorization: Bearer account=root&api_key=A5VOgsMpGWJhUI0WmUbY********************' \\ http://10.0.X.X:80/index/modifyVectorIndex \\ -d '{ "database": "db-test", "collection": "book-vector", "vectorIndexes": [ { "fieldName": "sparse_vector", "diskSwapEnabled": true } ], "rebuildRules": { "dropBeforeRebuild": true, "throttle": 1 }}