Oracle AI Vector Searchを使用する理由

Oracle AI Vector Searchの最大の利点の1つは、非構造化データに対するセマンティック検索を、1つのシステムでビジネス・データに対するリレーショナル検索と組み合せることができることです。

これは強力なだけでなく、特殊なベクトル・データベースを追加する必要がなく、複数のシステム間でデータが断片化する弊害が排除されるため、非常に効果的です。

たとえば、特定の予算で優先される地域にある、自分で撮った好みの家の写真と似た家を見つけることができるアプリケーションを使用するとします。この場合、適切な一致を見つけるには、セマンティック画像検索とビジネス・データの検索を組み合せる必要があります。

Oracle AI Vector Searchでは、次の表を作成できます。

CREATE TABLE house_for_sale (house_id     NUMBER,
                             price        NUMBER,
                             city         VARCHAR2(400),
                             house_photo  BLOB,
                             house_vector VECTOR);

このガイドの次の項では、VECTORデータ型の意味と、この列データ型にデータをロードする方法について詳細に説明します。

この表を使用すると、次の問合せを実行して基本的な質問に回答できます。

SELECT house_photo, city, price
FROM   house_for_sale
WHERE  price <= :input_price AND
       city  = :input_city
ORDER BY VECTOR_DISTANCE(house_vector, :input_vector);

このガイドの後の項では、VECTOR_DISTANCE関数の意味について詳しく説明します。この問合せは、ベクトル埋込み類似検索をリレーション述語と組み合せることの単純さを示しています。

Oracle Database 23aiとともに、Oracle Exadata System Softwareリリース24.1.0にはAIスマート・スキャンが導入されています。AIスマート・スキャンは、様々なAIベクトル問合せ操作のパフォーマンスを桁違いに向上させることができるExadata固有の最適化のコレクションです。

AIスマート・スキャンでは、大量のベクトル・データにわたって低遅延の並列スキャンを実現する最適化により、Oracle Database 23ai AI Vector Searchが自動的に高速化されます。AIスマート・スキャンでは、Exadataストレージ・サーバーで超高速のExadata RDMA Memory (XRMEM)およびExadata Smart Flash Cacheを活用して、メモリー速度でベクトル・データを処理し、データ・ソースでベクトル距離計算および上位Kフィルタリングを実行し、不要なネットワーク・データ転送およびデータベース・サーバー処理を回避します。