支持?jǐn)?shù)據(jù)類型
支持多種數(shù)據(jù)類型,適用于不同的屬性模型,包括常見的數(shù)字和字符類型、各種向量類型、數(shù)組、集合和 JSON
高級(jí)數(shù)據(jù)類型
稀疏向量
二進(jìn)制向量
JSON
數(shù)組
距離度量
考慮使用milvus進(jìn)行混合檢索
非結(jié)構(gòu)化數(shù)據(jù)、Embeddings 和 Milvus

如上圖所示,支持多多種數(shù)據(jù)類型的存儲(chǔ)&檢索。
高級(jí)搜索算法
支持多種內(nèi)存和磁盤索引/搜索算法,包括 IVF、HNSW、DiskANN 等
搜索引擎
C++ 搜索引擎向量數(shù)據(jù)庫性能的 80% 以上取決于其搜索引擎。
列存儲(chǔ)
Milvus 是面向列的向量數(shù)據(jù)庫系統(tǒng)。其主要優(yōu)勢來自數(shù)據(jù)訪問模式。在執(zhí)行查詢時(shí),面向列的數(shù)據(jù)庫只讀取查詢所涉及的特定字段,而不是整行,這大大減少了訪問的數(shù)據(jù)量。此外,對(duì)基于列的數(shù)據(jù)的操作可以很容易地進(jìn)行向量化,從而可以一次性在整個(gè)列中應(yīng)用操作,進(jìn)一步提高性能。
向量量級(jí)
一般情況下,Milvus 單機(jī)版可以支持處理數(shù)億級(jí)別的向量檢索
集群版可以支持?jǐn)?shù)百億級(jí)的向量檢索
系統(tǒng)架構(gòu)

Milvus 本身是完全無狀態(tài)的,因此可以借助 Kubernetes 或公共云輕松擴(kuò)展。此外,Milvus 的各個(gè)組件都有很好的解耦,其中最關(guān)鍵的三項(xiàng)任務(wù)--搜索、數(shù)據(jù)插入和索引--被設(shè)計(jì)為易于并行化的流程,復(fù)雜的邏輯被分離出來。這確保了相應(yīng)的查詢節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)和索引節(jié)點(diǎn)可以獨(dú)立地向上和向下擴(kuò)展,從而優(yōu)化了性能和成本效率。
支持的搜索類型
- ANN 搜索:查找最接近查詢向量的前 K 個(gè)向量。
- 過濾搜索:在指定的過濾條件下執(zhí)行 ANN 搜索。
- 范圍搜索:查找查詢向量指定半徑范圍內(nèi)的向量。
- 混合搜索:基于多個(gè)向量場進(jìn)行 ANN 搜索。
- 全文搜索:基于 BM25 的全文搜索。
- Reranking:根據(jù)附加標(biāo)準(zhǔn)或輔助算法調(diào)整搜索結(jié)果順序,完善初始 ANN 搜索結(jié)果。
- 通過id獲取:根據(jù)主鍵檢索數(shù)據(jù)。
- 元數(shù)據(jù)過濾表達(dá)式使用特定表達(dá)式檢索數(shù)據(jù)。
加速
索引
內(nèi)存索引
FLAT, IVF_FLAT, IVF_PQ, IVF_SQ8, HNSW, HNSW_SQ, HNSW_PQ, HNSW_PRQ
磁盤索引
GPU索引
分區(qū)
可以選擇一個(gè)標(biāo)量字段作為分區(qū)鍵,以獲得更好的搜索性能
安全
可調(diào)一致性模型一致性可確保每個(gè) Milvus 節(jié)點(diǎn)或副本在給定時(shí)間寫入或讀取數(shù)據(jù)時(shí)擁有相同的數(shù)據(jù)視圖。
權(quán)限管理
支持多租戶場景
內(nèi)嵌Embedding模型

內(nèi)嵌reranker

圖形化用戶界面
Attu(https://github.com/zilliztech/attu)

工具和生態(tài)系統(tǒng)

數(shù)據(jù)批量導(dǎo)入
JSON
Parquert
CSV
性能指標(biāo)
TP99 是一個(gè)統(tǒng)計(jì)學(xué)術(shù)語,用于描述數(shù)據(jù)的分布情況。具體來說,TP99 是指在一組數(shù)據(jù)中,99% 的數(shù)據(jù)點(diǎn)小于等于這個(gè)值。例如,在一個(gè)系統(tǒng)響應(yīng)時(shí)間的數(shù)據(jù)集里,TP99 響應(yīng)時(shí)間意味著 99% 的請(qǐng)求響應(yīng)時(shí)間都小于等于這個(gè)時(shí)間值。
P99 Latency: 99%的查詢完成所需的時(shí)間。
Throughput 吞吐量QPS
Recall Rate: 向量檢索的召回率。
≥ 0.95: High Accuracy
Between 0.9-0.95: Medium Accuracy
<0.95: Low Accuracy