microsoft/DiskANN
A vector indexing library to bring fast, fresh and filtered search to your database
What it solves
DiskANN3 provides a way to implement scalable, accurate, and cost-effective vector indexing across different types of databases. It specifically addresses the challenge of performing fast nearest-neighbor searches on massive datasets that may be too large to fit entirely in memory.
How it works
The library uses a composable architecture based on a DataProvider trait. Developers implement this trait to define how their specific storage system (such as a key-value store or a B-tree) handles the storage and retrieval of vectors and adjacency lists. DiskANN3 then provides the high-level API for querying and updating these vectors. It supports various memory tiers and distance functions to balance cost and performance.
Who it’s for
It is designed for database developers and system architects who need to integrate high-performance vector search capabilities into existing database engines or build new scalable vector stores.
Highlights
- Real-time Updates: Supports stable recall during long update streams without requiring merges or rebuilds.
- Flexible Storage: Includes illustrative providers for in-memory, disk-based, Garnet (K-V store), and Bf-tree implementations.
- Advanced Search: Supports pagination, range filters, and diversity-aware top-k search.
- Hardware Optimized: Distance functions and quantizers are implemented for both x86 and aarch64 architectures.
- Attribute Filtering: Includes hooks for processing predicate filters alongside vector searches.
Related
- Project
- Project
- Project
- Project
- Project