Hierarchical Vector Database Indexing for Multi-Tenant ANN Queries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional vector databases face scalability issues in multi-tenant environments, requiring significant memory and incurring high costs, and do not efficiently support nearest neighbor queries.
Innovation Solution
A hierarchical indexing system is implemented using a primary data storage unit and an intermediate data storage unit, with clustering and centroid-based organization, allowing efficient creation and update of indexes without re-indexing for each operation, and utilizing a quick-retrieval data storage for fast query responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional vector databases use significant memory to store and index vector data, then nearest neighbor query performance is improved, but system cost and scalability in multi-tenant environments deteriorate
Solution Approach 1:
The patent divides the vector database into multiple tenant-specific indexes, each independently managed and stored. This segmentation allows each tenant to have their own indexed vector data without requiring all tenants to share the same memory space, thereby reducing overall memory requirements while maintaining fast nearest neighbor query performance for each tenant.
Solution Approach 2:
The patent introduces a hierarchical indexing structure with multiple levels of indexes (e.g., inverted file index, pivot index, leaf index) that organize vector data across different dimensions. This multi-dimensional organization enables efficient nearest neighbor searches without requiring proportional memory growth, as the indexes leverage disk-based storage with smart retrieval algorithms.
2Reliability
If vector databases re-index for each Create/Update/Delete operation, then data consistency is maintained, but system performance and latency deteriorate
Solution Approach 1:
The patent pre-organizes vector data into hierarchical indexes before operations occur. When Create/Update/Delete operations happen, the system leverages the existing index structure to quickly locate and update only the affected portions, rather than rebuilding the entire index. This preliminary organization enables fast updates while maintaining data consistency.
Solution Approach 2:
The patent implements dynamic index management where the indexing structure adapts to changes in the data. The hierarchical index allows selective updates to specific levels or portions of the index rather than static re-indexing of the entire database, enabling the system to respond dynamically to individual operations without full re-indexing overhead.
3Speed
If conventional databases store all vector data in memory, then query speed is improved, but scalability to millions of tenants and billion-scale data deteriorates
Solution Approach 1:
The patent segments vector data by tenant, creating separate indexes for each tenant. This allows the system to scale to millions of tenants by creating lightweight, tenant-specific indexes that can be efficiently managed on disk rather than requiring all data to reside in shared memory. Each tenant's data remains accessible at high speed through their dedicated index.
Solution Approach 2:
The patent introduces an intermediate indexing layer (such as inverted file index and pivot index) that mediates between the raw vector data and query operations. This intermediary structure enables fast query responses by pre-organizing data in a way that is optimized for retrieval, while allowing the system to scale by storing this intermediate structure on disk rather than requiring it in memory.
Data Source
AI summary
Techniques for implementing a vector database in a multi-tenant environment are described. A system creates an index of a tenant that scales efficiently in a multi-tenant environment. The index is created by clustering the plurality of vectors into a set of clusters. The created index forms a hierarchical index including plurality of layers and is stored in a primary data storage unit. The system includes an intermediate data storage unit to store new vectors and to avoid re-indexing every time a new vector with an associated operation such as insert, update, and delete, is added. Further, the system provides reliable nearest neighbor vectors from the created index of the tenant. Read operation is performed over the quick-retrieval data, primary data, and intermediate to determine the nearest neighbor vectors.


