2.1.1 AIスマート・スキャン機能拡張
Oracle Database 23aiには、セマンティックな類似性に基づいてデータを効率的に問い合せるように設計された人工知能(AI)ベクトル検索機能が組み込まれています。AIベクトル検索により、音声アシスタント、チャットボット、言語翻訳機能、レコメンデーション・システム、異常検出システムなどのアプリケーションが使用できるようになります。また、AIベクトル検索は、イメージやビデオに対する高度な検索および認識機能を円滑にします。
Oracle Database 23aiに関連して、Oracle Exadata System SoftwareにはAIスマート・スキャンが組み込まれています。これは、様々なAIベクトル問合せ操作のパフォーマンスを桁違いに向上させることができるExadata固有の最適化のコレクションです。
AIスマート・スキャンでは、大量のベクトル・データにわたって低遅延の並列スキャンを実現する最適化により、Oracle Database AI Vector Searchが自動的に高速化されます。Exadataストレージ・サーバーの超高速Exadata RDMAメモリー(XRMEM)およびExadataスマート・フラッシュキャッシュを活用して、メモリー速度でベクトル・データを処理します。また、AIスマート・スキャンでは、データ・ソースでベクトル距離計算およびtop-Kフィルタリングを実行し、不要なネットワーク・データ転送およびデータベース・サーバー処理を回避します。
Oracle Database 23aiリリース23.7に関連して、Oracle Exadata System Softwareリリース25.2.0には、次のAIスマート・スキャン拡張機能が組み込まれています:
-
含まれる列がある近傍パーティション・ベクトル索引のサポートが最適化されました。
以前は、ビジネス・データとAIベクトル検索を組み合せた問合せでは、リレーショナル条件を評価するために実表に対する読取りが必要でした。たとえば、次の問合せでは、ベクトル検索によって返される行には、
priceおよびzipcodeにフィルタを適用し、address値およびprice値を取得するために、houses表に対する読取りが追加で必要になります。SQL> SELECT address, price FROM houses WHERE price < 950000 and zipcode = 94065 ORDER BY VECTOR_DISTANCE(description_vector, :query_vector) FETCH APPROX FIRST 10 ROWS ONLY;Oracle Database 23aiリリース23.7以降、近傍パーティション・ベクトル索引には、ビジネス・データが格納された列を追加で含めることができます。次に例を示します:
SQL> CREATE VECTOR INDEX house_idx ON houses(description_vector) INCLUDE (address, price, zipcode) ORGANIZATION NEIGHBOR PARTITIONS;Oracle Exadata System Softwareリリース25.2.0では、AIスマート・スキャンは、含まれるリレーショナル列があるベクトル索引のみを使用してこのような種類の問合せを処理できるため、実表の参照が不要になることで全体的な問合せパフォーマンスが大幅に向上します。
-
スパース・ベクトル
Oracle Database 23aiリリース23.7以降と組み合せてOracle Exadata System Softwareリリース25.2.0を使用すると、スパース・ベクトルを使用したAIスマート・スキャンが可能になります。
通常、スパース・ベクトルには多数のディメンションがありますが、ゼロ以外の値はほとんど含まれていません。SPLADEやBM25などのスパース・エンコーディング・モデルにより、スパース・ベクトルが生成されます。自然言語処理などの適切なアプリケーションでは、スパース・ベクトルによってパフォーマンスが大幅に向上し、メモリーおよびCPU使用率を削減しながら問合せ処理を高速化できます。