功能與限制

本頁面詳細說明向量搜尋功能和限制。

可用性

向量搜尋功能適用於所有級別的所有 Memorystore for Valkey 版本,以及所有支援的地區。

只有在 2024 年 9 月 13 日推出後建立的執行個體可啟用向量搜尋。

索引限制

以下概略說明索引的限制:

  • 索引中的屬性數量上限為 10。
  • 向量的維度不得超過 32,768。
  • HNSW 的 M 值不得超過 2M。
  • HNSW 的 EF 建構值不得超過 4096。
  • HNSW 的 EF 執行階段值也必須不超過 4096。

對效能的影響

在考量向量搜尋的效能時,請考量幾個重要的變數。

節點類型

向量搜尋可透過整合專門執行向量搜尋作業的執行緒集區,促進垂直擴充。也就是說,效能會與叢集中每個節點的 vCPU 數量相關。如要進一步瞭解各節點類型可用的 vCPU 數量,請參閱叢集和節點規格

分割數量

Memorystore for Valkey 會為所有向量實作本機索引技術。也就是說,每個分割區中儲存的索引只會包含該分割區中的文件。因此,索引速度和向量總數會隨著叢集中的分割區數量以線性方式調整。

由於每個本機索引只包含單一分割區的內容,因此搜尋叢集時,系統必須搜尋叢集中的每個分割區,並匯總結果。向量數量穩定時,增加分片數量可改善 HNSW 索引的搜尋效能,而 FLAT 索引則是線性改善,因為每個本機索引包含的向量較少。

請注意,由於搜尋所有區塊所需的工作量會增加,因此隨著新增的區塊數量增加,完成特定搜尋要求的延遲時間可能也會增加。即便如此,即使是最大的叢集也能支援個位數毫秒的延遲時間。

備用資源數量

新增更多備用資源可將搜尋要求的負載平衡作業分配給讀取備用資源,進而以線性方式提升搜尋吞吐量。

縮放事件

調整 Memorystore for Valkey 執行個體的大小後,系統會移動索引中的文件,以便在新的分割區數中均勻分配資料。在這種情況下,系統會在背景為跨節點移動的文件建立索引。縮放作業完成後,您可以監控 FT.INFO 輸出內容中的 mutation_queue_size 值,瞭解因叢集大小調整而重新建立索引的進度。

記憶體用量

向量會複製,並儲存在鍵值空間和向量搜尋演算法中。

交易

由於執行緒集區會以非同步方式執行工作,因此向量搜尋作業不會遵循交易語意。