microsoft/DiskANN
A vector indexing library to bring fast, fresh and filtered search to your database
何を解決するか
DiskANN3 は、さまざまな種類のデータベース上でスケーラブルで正確かつコスト効率の良いベクトルインデックスを実装する方法を提供します。特に、メモリに完全に収まりきらない巨大なデータセット上で高速な最近傍検索を実行するという課題に特化しています。
動作方法
このライブラリは、DataProviderトレイトに基づくコンポーザブルなアーキテクチャを使用しています。開発者はこのトレイトを実装して、特定のストレージシステム(キーバリューストアやBツリーなど)がベクトルおよび隣接リストの保存と取得をどのように処理するかを定義します。DiskANN3 はその後、これらのベクトルに対するクエリと更新の高レベルAPIを提供します。さまざまなメモリ層と距離関数をサポートしており、コストとパフォーマンスのバランスを取ることができます。
対象ユーザー
既存のデータベースエンジンに高性能なベクトル検索機能を統合したい、または新しいスケーラブルなベクトルストアを構築したいデータベース開発者やシステムアーキテクト向けに設計されています。
主な特徴
- リアルタイム更新: マージや再構築を必要とせずに、長期間の更新ストリーム中でも安定したリコールを維持します。
- 柔軟なストレージ: メモリ内、ディスクベース、Garnet(K-Vストア)、Bf-tree実装の例としてのプロバイダを含みます。
- 高度な検索: ページネーション、範囲フィルタ、多様性を考慮したtop-k検索をサポートします。
- ハードウェア最適化: x86およびaarch64アーキテクチャの両方で距離関数と量子化器が実装されています。
- 属性フィルタリング: ベクトル検索と併せて述語フィルタの処理用のフックを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト