Hybrid-Index Vector Search for Accuracy and Low Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing vector search methods in hybrid storage systems, which combine memory and persistent storage media, face challenges in maintaining high search accuracy while reducing search delay, especially in scenarios with large data volumes.
Innovation Solution
A vector search method that utilizes a hybrid storage approach, where a first index with higher compression ratios is stored in memory and a second index with lower compression ratios is stored in persistent storage, classifying search results to reduce unnecessary accesses to the persistent storage, and employing multi-level caching to optimize data retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a first index with higher compression ratio is stored in memory, then memory overhead is reduced, but search accuracy deteriorates
Solution Approach 1:
The patent divides the index into two segments: a first index stored in memory with higher compression ratio for quick access, and a second index stored in persistent storage with lower compression ratio for accuracy. This segmentation allows the system to balance between memory overhead and search accuracy by using each index for its strengths.
Solution Approach 2:
Different parts of the index system are assigned different quality characteristics. The first index in memory uses higher compression suitable for fast retrieval, while the second index in persistent storage uses lower compression for maintaining accuracy. This local quality differentiation resolves the contradiction by optimizing each component for its specific role.
2Measurement precision
If all vector identifiers are searched from persistent storage medium, then search accuracy is improved, but search delay increases
Solution Approach 1:
The system performs preliminary search actions using the first index in memory to identify candidate vector identifiers before accessing the persistent storage medium. This preliminary action filters out many candidates that don't need full verification, reducing the number of slow persistent storage accesses while maintaining accuracy for the final results.
Solution Approach 2:
Instead of performing complete accuracy verification on all vector identifiers from the first index, the system applies partial verification only to the top-N candidates. This partial action approach maintains acceptable search accuracy while dramatically reducing the number of persistent storage accesses and associated delays.
3Measurement precision
If a second index with lower compression ratio is stored in persistent storage medium, then search accuracy is improved, but storage overhead increases
Solution Approach 1:
The patent creates a copy of the index in two different forms: a compressed version in memory and a less-compressed version in persistent storage. This copying strategy allows the system to have both a space-efficient representation and an accuracy-efficient representation available, resolving the contradiction between storage overhead and search accuracy.
4Quantity of substance
If hybrid storage including SSD and memory is used, then large-capacity data storage is achieved, but performance deteriorates
Solution Approach 1:
The patent adds a dimensional layer to the storage system by organizing data across two storage dimensions (memory and persistent storage) with different compression levels. This dimensional organization allows the system to achieve large capacity while maintaining performance by strategically placing different types of data in different dimensions based on access patterns and requirements.
Data Source
AI summary
A vector search method includes: obtaining a query object; obtaining, by querying a first index, N vector identifiers corresponding to the query object, where the first index is stored in a memory, N is a positive integer, the N vector identifiers include a plurality of first vector identifiers, and the first vector identifier is a vector identifier that is not determined to be recalled; determining, by querying index entries that are in a second index, second vector identifiers corresponding to the plurality of first vector identifiers, the second index is stored in a persistent storage medium, and a compression ratio of a vector in the first index is greater than that of a vector in the second index; and obtaining a query result of the query object based on the second vector identifiers.


