このページでは、
Kubernetes デプロイ オプションを使用する AlloyDB Omni バージョン
16.3.0 について説明します。
別のデプロイ オプションを選択します。
ScaNN ベクトルクエリのパフォーマンスの概要
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ドキュメントのバージョンを選択してください。
このページでは、ScaNN インデックスを使用してベクトルクエリのパフォーマンスを向上させる方法の概要について説明します。
ScaNN インデックスは、木量子化ベースのインデックスを使用します。木量子化手法では、インデックスは量子化(ハッシュ化)関数とともに検索ツリーを学習します。クエリを実行すると、検索ツリーを使用して検索空間がプルーニングされ、量子化を使用してインデックス サイズが圧縮されます。このプルーニングにより、クエリベクトルとデータベース ベクトルの類似性(距離)のスコアリングが高速化されます。
高速な秒間クエリ数(QPS)と最近傍クエリでの高い再現率の両方を実現するには、データとクエリに最も適した方法で ScaNN
インデックスのツリーをパーティショニングする必要があります。
現在の高次元エンベディング モデルの共通の特徴は、低次元でも多くの情報を保持できることです。たとえば、エンベディングの次元の 20% で情報の 90% を保持できます。このようなデータセットを高速化するために、AlloyDB ScaNN は、インデックスに登録されたベクトルに主成分分析(scann.enable_pca below
を参照)を使用して、次元削減を自動的に実行します。これにより、ベクトル検索の CPU とメモリの使用量がさらに削減されます。次元削減によってインデックスで再現率がわずかに低下するため、AlloyDB ScaNN は、インデックスから PCA 変換された多数のベクトル候補を最初のランキング ステップで取得し、元のベクトルに基づいて再ランキングすることで補正します(scann.pre_reordering_num_neighbors
を参照)。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-03 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-09-03 UTC。"],[],[],null,[]]