Hologres はベクトルコンピューティングをサポートしています。ベクトルデータを使用して非構造化データの特徴を表現し、パフォーマンス専有型のベクトル検索を使用して高速なクエリを実行できます。このトピックでは、Hologres におけるベクトルコンピューティングの特徴と利点について説明します。
背景情報
Hologres は、PostgreSQL プロトコルと互換性のある、ワンストップのリアルタイムデータウェアハウスエンジンです。V4.0 以前の Hologres は、Alibaba DAMO Academy が開発したベクトル最近傍検索ライブラリである Proxima を統合していました。この統合により、グラフインデックスがサポートされ、安定したパフォーマンス専有型のベクトルコンピューティングサービスが提供されました。
Hologres V4.0 では、ベクトル検索機能が包括的にアップグレードされています。HGraph ベクトル検索アルゴリズムをサポートし、以下の機能強化が提供されます:
メモリとディスクの両方を使用するハイブリッドインデックスのサポート。これにより、さまざまなパフォーマンスと精度の要件に合わせてクエリポリシーをカスタマイズできます。
数百億規模のベクトルデータの書き込みと検索のサポート。
Massively Parallel Processing (MPP) アーキテクチャ上での HGraph ベクトル検索アルゴリズムのパフォーマンスが向上し、読み取りと書き込みの両方のパフォーマンスが大幅に向上しました。
Hologres でのベクトルコンピューティングの利点は次のとおりです:
強力なベクトルコンピューティング機能:
タイムリー性: ベクトルデータのリアルタイムな書き込みと更新をサポートします。データは書き込み後すぐにクエリに利用できます。
クエリ機能: ベクトル検索と複雑なフィルター条件を組み合わせたクエリをサポートします。ベクトルインデックスと他の構造化インデックスを同時に使用できます。
ハイパフォーマンス: 高い QPS (クエリ/秒) でのベクトルデータのリアルタイム書き込みをサポートします。また、効率的なインデックス作成と高 QPS、低レイテンシのベクトル検索もサポートします。
低コスト: Float2 データ型でベクトルインデックスデータを圧縮することにより、ベクトルストレージのコストを削減します。
リアルタイムデータウェアハウス機能とのシームレスな統合:
使いやすさ: 標準の SQL 構文で Proxima を作成して使用できます。
トランザクション: 複数のデータ定義言語 (DDL) トランザクションと混合 DML トランザクションをサポートします。
バイナリログ: バイナリログをサポートしており、ベクトルデータの変更イベントをサブスクライブできます。
複数のシナリオ: 行ストア、列ストア、および行と列ストアのハイブリッドの 3 つのテーブルストレージフォーマットをサポートします。これにより、単一のベクトルテーブルで、パフォーマンス専有型のオンライン分析処理 (OLAP) 分析、キー値ポイントクエリ、およびベクトルクエリを同時に実行できます。
エンタープライズグレードの高可用性機能とのシームレスな統合:
計算グループインスタンス: 共有ストレージを備えたマルチ計算グループアーキテクチャをサポートします。これにより、読み書き分離、読み取り-読み取り分離、および書き込み-書き込み分離に柔軟性がもたらされます。詳細については、「計算グループインスタンスのクイックスタート」をご参照ください。
柔軟なリソースの弾力性: 詳細については、「計算リソース管理のベストプラクティス」をご参照ください。
プロダクトエコシステムとのシームレスな統合:
MaxCompute とのシームレスな統合: 外部テーブルを使用して MaxCompute ベクトルデータのクエリを高速化し、MaxCompute からのベクトルデータのパフォーマンス専有型バッチ書き込みを実行できます。
Flink とのネイティブ統合: Hologres は、大量のベクトルデータのリアルタイムな書き込みと更新をサポートします。また、ソーステーブル、結果テーブル、ディメンションテーブルを含むさまざまなシナリオや、複数のベクトルデータストリームのマージなどの複雑な操作もサポートします。
DataWorks との緊密な統合: Hologres は、多数のデータソースからのベクトルデータ統合をサポートします。また、データ資産、データリネージ、DataService Studio などのエンタープライズレベルの機能もサポートします。
ベクトルコンピューティングの概要
用語
特徴ベクトル: ベクトルは、エンティティまたはアプリケーションの代数的表現です。エンティティ間の関係をベクトル空間内の距離として抽象化し、その距離が類似度を示します。ベクトルを構成する特徴には、身長、年齢、性別、地域などがあります。
ベクトル検索: 特徴ベクトルのセット内で高速に検索および照合を行うためのメソッドです。多くの場合、K 近傍法 (KNN) や半径最近傍 (RNN) などの問題が含まれます。
K 近傍法 (KNN): クエリポイントに最も近い K 個のポイントを見つけます。
半径最近傍 (RNN): クエリポイントの指定された半径内にあるすべてのポイントを見つけます。
ベクトルコンピューティングの概念の比較
Proxima の概念 | Hologres の概念 |
特徴ベクトル | 配列データ型。固定長配列のみがサポートされます。 |
ベクターインデックス | 特殊なタイプのインデックス。現在、KNN および RNN 用のグラフインデックスのみがサポートされています。 |
距離計算 |
|
KNN クエリ | order by distance(x, [x1, x2]) asc limit k |
RNN クエリ | where distance(x, [x1,x2]) < r 説明 現在、RNN クエリは Proxima インデックスをサポートしていません。 |
参照
Hologres でのベクトルコンピューティングの使用方法の詳細については、「HGraph インデックスユーザーガイド」をご参照ください。
パフォーマンス専有型のベクトル検索のための Hologres インスタンスのメモリ要件については、「ベクトルコンピューティングに推奨されるインスタンスタイプ」をご参照ください。