zvec: 它是什麼、解決什麼問題以及為什麼受到關注

zvec: 它是什麼、解決什麼問題以及為什麼受到關注

解決什麼問題

Zvec 是一個進程內 (in-process) 向量資料庫,旨在提供高效能的相似度搜尋,而無需額外的伺服器或複雜的配置。它消除了管理外部資料庫基礎設施的開銷,讓開發者能將搜尋功能直接嵌入到應用程式、notebooks 或邊緣裝置中。

如何運作

Zvec 作為一個輕量級函式庫直接整合到應用程式進程中。它同時支援密集向量 (dense vectors) 與稀疏向量 (sparse vectors),以及針對字串欄位的原生全文搜尋 (FTS)。為了實現可擴展性,它提供多種索引類型,包括 DiskANN 索引,可將大部分索引保留在磁碟上,以減少大型資料集的記憶體使用量。它透過預寫式日誌 (WAL) 確保資料持久性,並支援跨多個進程的並行讀取存取。

對象是誰

它是為需要生產等級、低延遲向量搜尋引擎的開發者而設計的,且該引擎易於安裝,並能在各種平台 (Linux, macOS, Windows) 與語言 (Python, Node.js, Go, Rust, Dart/Flutter) 上「即插即用」。

重點摘要

  • 進程內架構 (In-process architecture): 不需要外部伺服器或配置。
  • 混合搜尋 (Hybrid Search): 在單一查詢中結合向量相似度、全文搜尋與結構化篩選。
  • 高可擴展性 (High Scalability): 能夠在毫秒內搜尋數十億個向量。
  • 持久化儲存 (Durable Storage): 使用 WAL 防止在當機或斷電時發生資料遺失。
  • 多語言支援: 提供 Python, Node.js, Go, Rust, 以及 Dart/Flutter 的官方 SDK。

Sources