microsoft/DiskANN

A vector indexing library to bring fast, fresh and filtered search to your database

解決的問題

DiskANN3 提供了一種在不同類型的資料庫上實現可擴展、精確且成本效益高的向量索引的方法。它特別解決了在無法完全放入記憶體的超大型資料集上執行快速最近鄰搜尋的挑戰。

工作原理

該庫採用基於 DataProvider 特性(trait)的可組合架構。開發者透過實作此特性來定義其特定儲存系統(如鍵值儲存或 B 樹)如何處理向量與鄰接列表的儲存與檢索。DiskANN3 隨後提供用於查詢和更新這些向量的高階 API。它支援多種記憶體層級和距離函數,以在成本與效能之間取得平衡。

適用對象

專為需要將高效率向量搜尋功能整合到現有資料庫引擎中,或建構新型可擴展向量儲存的資料庫開發者與系統架構師設計。

主要亮點

  • 即時更新:在長時間更新串流中保持穩定的召回率,無需合併或重建。
  • 彈性儲存:包含記憶體、磁碟、Garnet(K-V 儲存)和 Bf-tree 實作的範例提供者。
  • 進階搜尋:支援分頁、範圍過濾和多樣性感知的 top-k 搜尋。
  • 硬體最佳化:距離函數與量化器在 x86 和 aarch64 架構上均有實作。
  • 屬性過濾:提供鈎子以在向量搜尋的同時處理述詞過濾。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案