Hologres支援向量計算,可以使用向量資料表示非結構化資料的特徵,通過高效能向量檢索實現對非結構化資料的快速查詢。本文為您介紹Hologres中向量計算的特點及優勢。
背景資訊
Proxima是一款來自於阿里達摩院的實現向量近鄰搜尋的高效能軟體庫,相比於Faiss等開源的同類產品,Proxima在穩定性、效能等方面都更為出色,能夠提供業內效能和效果卓越的基礎方法模組,支援映像、視頻、人臉等各種應用情境。
Hologres與Proxima深度整合,在向量計算方面的優勢如下:
向量計算功能強大:
時效性:支援向量資料即時寫入、即時更新,資料寫入即可查。
查詢能力:支援向量檢索與其他複雜過濾條件融合查詢,支援同時使用向量索引和其他結構化索引。
高效能:支援超高QPS向量資料即時寫入,支援高效索引構建,支援高QPS、低延時向量檢索。
低成本:通過Float2類型進行向量索引資料壓縮,降低向量儲存成本。
即時數倉能力與向量計算有機結合:
易用性:支援通過標準SQL文法建立並使用Proxima,簡單易用。
事務性:支援多條DDL事務,支援多條DML混合事務。
Binlog:支援Binlog,可以實現對向量資料變更事件的訂閱。
多情境:支援行存、列存、行列共存三種表格儲存體格式,可以支援對一張向量表同時進行高效能OLAP分析、Key/Value點查以及向量查詢。
企業級高可用能力與向量計算有機結合:
主從執行個體架構:支援共用儲存的一主多從架構,執行個體之間儲存資源共用、計算資源隔離,實現向量計算業務的高可用(讀寫分離、讀讀分離),詳情請參見主從執行個體讀寫分離部署(共用儲存)。
計算群組執行個體架構:支援共用儲存的多計算群組架構,相比於主從架構,可以進一步支援寫寫分離,詳情請參見計算群組執行個體架構。
產品生態與向量計算有機結合:
無縫對接MaxCompute,支援通過外部表格加速查詢MaxCompute向量資料,支援MaxCompute向量資料高效能批量寫入。
原生整合Flink,支援海量向量資料即時寫入與更新,支援源表、結果表、維度資料表多種情境,支援向量資料多流合并等複雜操作。
深度整合DataWorks,支援海量資料來源向量Data Integration,支援資料資產、資料血緣、資料服務等企業級能力。
Proxima簡介
名詞解釋
特徵向量:向量是一種將實體和應用代數化的一種表示,其將實體間的關係抽象成向量空間中的距離,而距離的遠近代表著形似程度。例如:身高、年齡、性別、地區。
向量檢索:在特徵向量資料集合中進行快速搜尋和匹配的方法,常涉及到的問題有KNN和RNN。
KNN(K-Nearest Neighbor):尋找離查詢點最近的K個點。
RNN(Radius Nearest Neighbor):尋找查詢點某半徑範圍內的所有點。
Proxima的基本模型
Proxima的基本模型分為索引構建和線上檢索兩部分:
索引構建:從原始向量資料中構建出相關索引檔案,並傳予線上檢索模組載入使用。支援多種Brute Force、KD-Tree、Product Quantization、KNN Graph、LSH等。
線上檢索:載入完索引檔案後,為向量檢索提供查詢服務。在聚類後的資料集上進行KNN和RNN搜尋,使用者設定檢索過程中的參數。
Proxima與Hologres概念對比
Proxima概念 | Hologres中的概念 |
特徵向量 | 數群組類型Array,僅支援固定長度數組 |
向量索引 | 一種特殊類型的Index,當前僅支援KNN/RNN的Graph索引 |
距離計算 |
|
KNN查詢 | order by distance(x, [x1, x2]) asc limit k |
RNN查詢 | where distance(x, [x1,x2]) < r 說明 當前RNN查詢不支援Proxima索引。 |
相關文檔
向量計算在Hologres中的使用方法請參見向量計算使用指南。
若您想瞭解向量的高效能檢索對Hologres執行個體記憶體的規格要求,請參見向量計算執行個體規格推薦。