它就是由 Zilliz 原廠打造的可提供全托管的向量數據庫云服務產品—— Zilliz Cloud。此前,大家已經對 Zilliz Cloud 升級版本的諸多實用新特性有所了解,例如 dynamic schema、partition key、支持更多樣的集群類型等。與此同時,Zilliz Cloud 還采用了全新的定價策略,旨在以更經濟實惠的價格提高更高質量的服務。
不過,Zilliz Cloud 最為人稱道的還要數它的性能,其向量檢索速度比 Milvus 要快 3-6 倍。今天,我們將從性能方面全面拆解 Zilliz Cloud。
Zilliz Cloud 有多快?
想要回答這個問題,首先需要明確定義使用場景和參照對比的產品。
明確完這兩點后,便需要借助工具來進行性能測試。這里,我們可以用開源的向量數據庫性能測試工具——VectorDBBench 來測速。VectorDBBench 支持多樣的測試場景,允許用戶通過直觀的前端交互界面測試許多開源向量數據庫或者云服務(如 Milvus、Zilliz Cloud 等),并通過直觀的交互界面大大降低了性能測試的門檻。
以下是關于 Zilliz Cloud 的一些性能測試的對比結果:
●比 Milvus 快 6 倍
上圖展示了在 100 萬 768 維數據集上,使用不同資源配置的 Milvus 和不同 CU 大小的 Zilliz Cloud 的性能表現。從結果來看,Zilliz Cloud 的速度是 Milvus 的 3 倍。
現在,我們進一步增加數據量,采用 1000 萬 768 維數據集。Zilliz Cloud 同樣展示了強勁的性能,QPS 是 Miluvs 的 6 倍。
●比其他開源向量數據庫快 4-191 倍
在與其他主流向量數據庫的對比中,Zilliz Cloud 的性能也是一騎絕塵。根據性能測試結果,在 100 萬 768 維數據集的條件下,Zilliz Cloud 的 QPS 是其他產品的 4 - 191 倍。
而在更大的數據集下,Zilliz Cloud 的表現同樣亮眼。例如,Zilliz 的 QPS 是 Pinecone 和 Qdrant 的 3 倍左右。
Zilliz Cloud 為什么這么快?
Zilliz Cloud 為什么這么快?接下來讓我們來一探究竟。
●強大的向量索引引擎
如大家所知,向量數據庫是一種典型的計算量很大的應用,因此其中負責向量計算的向量檢索算法會吃走絕大部分資源,并很大程度上決定了一個向量數據庫的性能。
ANN-Benchmark 是業內最權威的向量檢索算法性能測試工具,它可以展示不同算法在不同真實數據集下的表現。而 Milvus 集成的算法庫 Knowhere 和來自 Zilliz Cloud 的 Glass,最近登頂霸榜了這份榜單。
Glass 是 Zilliz Cloud 在自研索引算法探索中的一個歷史版本。作為向量數據庫最核心的引擎,它亮眼的表現為 Zilliz Cloud 實現性能上的飛躍提供了重要支持。
上圖是來自 ANN-Benchmark 的最新向量檢索算法性能測試結果,測試結果基于兩個不同的數據集:
●gist-960-euclidean:100 萬 960 維向量數據,使用歐式距離。
●fashion-mnist-784-euclidean: 6 萬 784 維向量,使用歐式距離。
曲線越高意味著每秒算法可處理的查詢越多。同樣,曲線越向右延展意味著算法的召回率越高。
通過結果,我們可以看出,Glass(粉色曲線)的 QPS 和召回兩個指標都位列榜首。因此,Zilliz Cloud 閃電般的向量檢索速度,有一大部分可以歸功于 Glass 索引引擎的出色表現。
●代碼結構優化
除了強力的索引外,Zilliz Cloud 在之前版本的基礎上進行了大量的代碼結構的優化,包括對冗余查詢鏈路的清理、查詢合并邏輯的調度策略優化、并發策略優化和引入高效實現等。這些工作幫助 Zilliz Cloud 最大化地利用了其強大的索引算法能力,減少了開支。
同時,新版本的 Zilliz Cloud 還解決了一些出現性能問題的場景,比如過濾搜索等。
●高效的 AutoIndex
在討論系統性能時,召回率是一個重要且不可忽視的話題。不夠理想的召回率會使得檢索結果無法滿足需求,進而使檢索行為失去其意義。然而,過高的召回率可能會極大犧牲性能。穩定的召回率能幫我們在性能和準確性之間找到平衡,使得結果可預測,從而更好地支持各類生產生活場景。
召回率受多種因素影響,包括數據集本身、建立索引的參數、查詢參數、數據分布,甚至 topK 的大小等。因此,如何控制召回率,是一個復雜而重要的問題。大部分數據庫系統為解決這一問題,通常會采用以下兩種方案:
●讓用戶提供參數:這種方式靈活但使用門檻高。
●提供經驗參數:這種方法易用但靈活性較差,對于不同的數據和 topK 等場景無法做到精細控制。
為了解決這個問題,Zilliz Cloud 的 AutoIndex 提供了一個既簡便又靈活的解決方案:一方面可以基于模型對實際應用案例進行全方位分析,另一方面能為每次檢索請求定制一套參數。這樣一來,Zilliz Cloud 不僅能夠實現穩定的召回率,而且還能確保優秀的性能,滿足用戶在實際應用中的需求。
總體而言,Zilliz Cloud 的升級版本無論從功能還是性能來說都有了里程碑式的提高,點擊體驗更加便捷高效的的全新向量數據庫。未來,我們也會持續提升產品的性能、不斷進步,歡迎大家持續關注!