全部產品
Search
文件中心

Vector Retrieval Service for Milvus:Milvus資源估算與配置建議

更新時間:Sep 24, 2025

在使用向量檢索服務Milvus版(簡稱Milvus)前,合理估算所需的計算資源對於保障系統穩定運行和最佳化成本至關重要。Milvus提供了資源計算機功能,您可以根據提供的實驗資料(向量規模、向量維度、索引類型等),協助您理解如何推算所需的資源規模,但實際部署時還需您根據測試結果進行調整。

資源計算機

說明

Milvus當前支援的計算資源配置比例為1:4。為確保執行個體運行穩定性,分配的記憶體資源將高於實際所需的記憶體容量。

通過資源計算機,您能夠方便地估算所需執行個體資源。您只需要輸入向量資料規模和維度,並選擇合適的索引類型,系統將為您推薦適宜的執行個體配置。例如,若您輸入資料規模為8(百萬)個向量,每個向量768維,並選擇HNSW索引類型,設定索引參數M為4,頁面將即時顯示推薦配置。根據這些建議,您可以輕鬆進行執行個體選型和效能測試。image

資源參數

高可用配置

高可用配置通過節點雙副本機制確保線上叢集的穩定性,並預設支援資料雙副本載入,從而有效提升系統的容錯能力和可靠性。需要注意的是,啟用高可用配置所需的資源是非高可用配置的兩倍,因此在開啟高可用功能前,建議對生產叢集進行充分的資源評估與規劃。

輸入資源規模

參數

說明

向量規模(百萬)

向量規模直接決定了索引的大小和查詢時需要遍曆的資料量。規模越大,所需的儲存空間越多,同時構建索引和查詢時的計算複雜度也相應增加,可能導致更長的處理時間和更高的硬體資源需求。

向量維度

向量的維度影響著索引的複雜度和精度。高維向量增加了索引的複雜性,因為每個向量在高維空間中需要更多的計算資源來比較相似性。這不僅會增加儲存成本,還會降低查詢速度,特別是在沒有有效降維或量化策略的情況下。

選擇索引類型

索引類型是決定資源需求和查詢效能的關鍵因素之一。不同的索引演算法對記憶體、CPU和查詢時間的需求不同,支援的索引類型如下表所示。

參數

說明

HNSW

HNSW(Hierarchical Navigable Small World)是基於圖結構的索引,能夠提供非常高的查詢效率,尤其在高維資料空間中表現出色。但是,它對計算資源和記憶體的需求較高。適合需要獲得最快的查詢速度,且資源充足,特別是處理高維度資料的情境。

IVF_FLAT

提供了一種平衡準確率與查詢速度的方案,適用於大多數情境。它通過量化操作減少了計算複雜度,相比Flat索引在查詢效能上有顯著提升,同時資源消耗相對較低。適合需要在查詢效能與資源成本間取得平衡,且資料量較大的情境。

DISKANN

DISKANN是一種基於磁碟的近似最近鄰搜尋技術,專為大規模資料集的高效快速檢索設計。它採用Vamana圖演算法,在有限記憶體條件下仍能實現高效的向量索引與檢索,適合處理超大規模的高維資料。

SCANN

ScaNN 是一種高效的近似最近鄰搜尋索引結構,適用於對精度要求不高但需要快速檢索的大規模資料集。它通過搜尋空間修剪和量化技術,專註於最大內積搜尋,從而在速度和資源消耗之間取得平衡。

FLAT

提供最高的查詢精度,因為它是精確匹配,但犧牲了查詢速度,尤其是在大規模資料集上,效能可能不理想。適合資料量相對較小(例如千萬層級),且對查詢精度有嚴格要求,不介意較慢的查詢速度的情境。

IVF_SQ8

通過量化技術加速檢索過程,適合資源受限但需要較高召回率的情境。然而,與HNSW相比,其查詢精度可能會有所下降。適合在資源有限且對查詢召回率有較高要求的情境,特別是在大規模資料集上的應用。

設定索引參數

  • HNSW:需設定M值,M決定了每個節點的鄰居數量。較大的M值會增加索引的召回率和精度,但同時也會增加索引的構建時間和記憶體佔用。較小的M值則相反,會使得索引構建更快、佔用更少的記憶體,但可能犧牲一些精度。通常,M的推薦初始值為lg(N),其中N為總的向量數量,然後可以根據實際查詢效果進行微調。例如,可以嘗試設定M為16、32或64,觀察效果並進行調整。

  • IVF_FLATIVF_SQ8:需設定每個聚類(invert list)中的向量數量,invert list決定了將向量空間劃分為多少個子空間(聚類)。較大的invert list值會增加索引的準確性和召回率,但會增加構建索引的時間和查詢時的計算成本。較小的invert list則會降低索引的複雜度,但可能導致精度下降。

  • SCANN:支援通過with_raw_data參數控制是否在索引中儲存未經處理資料。如果您的系統主要用於快速的近似搜尋且不需要頻繁訪問未經處理資料,建議將其設定為False;否則可以設定為True

設定標量欄位

當開啟帶標量欄位時,可以設定每行資料的平均大小參數,用於協助索引系統合理規劃記憶體、儲存和分區,並最佳化查詢效能。