ベクトルデータベース【vector database】
概要

ベクトルデータベースでは、格納するデータを一定の数の数値の列として表す。これは数学におけるベクトルに相当し、個々のデータは要素の数を次元数とする多次元空間の座標として捉えることができる。データ同士の「距離」に相当する値を算出することができ、通常のデータベースでは実装しにくい「似ているデータを探す」「意味が近いデータを探す」といった処理が容易になる。
例えば、画像は特徴量抽出によってベクトル化され、テキストは単語や文の埋め込み表現でベクトルに変換される。利用者が入力した問い合わせも同様にベクトル化され、データベース内のベクトルとの距離や類似度を計算して一致する項目を返す。
距離計算には「ユークリッド距離」や「コサイン類似度」などが用いられ、多次元空間で近いベクトルを効率的に検索するためのアルゴリズムも組み込まれている。インデックス構造や近似近傍探索を用いることで、大規模データでも高速な検索が可能になる。クラウドサービスや専用ライブラリを通じて、数百万から数十億件規模のデータを扱える例もある。
ベクトルデータベースは、画像検索や音声認識、自然言語処理などの分野で活用される。例えば、類似した商品画像を探すECサイトの検索機能や、文章の意味に基づいた文書検索、音声から類似音声を抽出する処理などに応用される。従来のリレーショナルデータベースでは扱いにくい高次元データや非構造化データの検索を容易にする技術である。