向量数据库的索引构建策略:Flat vs IVF vs HNSW vs DiskANN
请全面对比向量数据库的索引构建策略。DiskANN(基于SSD的大规模向量搜索)是什么?当数据超过内存容量时有什么方案?
回答
编译有声
| 索引 | 内存 | 构建时间 | 速度 | 召回率 |
|---|---|---|---|---|
| Flat | 极高 | 无 | O(n) | 100% |
| IVF-Flat | 中 | 快 | O(sqrt(n)) | 95%+ |
| HNSW | 高 | 慢 | O(log n) | 99%+ |
| IVF-PQ | 极低 | 中 | 中 | 85-95% |
| DiskANN | 极低(SSD) | 慢 | 中 | 95%+ |
DiskANN(Microsoft):基于SSD的Vamana图索引,内存仅缓存热数据。适用百亿级超内存数据。
超内存方案:DiskANN/IVF-PQ压缩/分片/分层存储。
经验法则:<1M用HNSW,1M-10M用IVF,10M-100M用IVF+PQ,100M+用DiskANN或分片。