全部產品
Search
文件中心

Hologres:Proxima向量計算

更新時間:Dec 18, 2024

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索引

距離計算

  • 一種類型的UDF: proxima_distance()

  • 每種距離計算對應一個UDF

KNN查詢

order by distance(x, [x1, x2]) asc limit k

RNN查詢

where distance(x, [x1,x2]) < r

說明

當前RNN查詢不支援Proxima索引。

相關文檔