リリース更新23.8の機能
ハイブリッド・ベクトル検索による述語サポートの向上
ハイブリッド・ベクトル検索問合せでは、索引付き列以外の列にWHERE
句述語を追加できるようになりました。
ハイブリッド・ベクトル検索では、ベクトル距離検索とテキストベース検索を1つの問合せに結合します。ベクトル検索またはテキストベース索引の対象外となっている列にフィルタ述語をさらに追加すると役立つ場合があります。FILTER_BY
フィールドは、標準のSQL演算子を使用して追加のフィルタ述語を指定する方法を提供します。
ドキュメントの表示に関する項
疎ベクトルのクライアント・サポート
疎ベクトルは、JDBCおよびOPD.NETクライアント・ドライバでサポートされるようになりました。
疎ベクトルは通常、多数のディメンションを持つベクトルですが、それらのディメンションのうちゼロ以外の値を持つのはごく一部にすぎません。疎ベクトルはゼロ以外の値しか格納しないため、それらの使用によって効率が向上し、ストレージ領域が節約されます。ODP.NETおよびJDBCでは、疎ベクトル型がサポートされるようになり、これらのクライアント・ドライバを介して疎ベクトル・データとの効率的なやり取りが可能になります。
ドキュメントの表示に関する項
PL/SQLファンクションの動的統計
SQL WHERE
句およびTABLE
ファンクションで使用されるPL/SQLファンクションに対して、動的統計のサポートが強化されています。長時間実行されるPL/SQLファンクションは、動的統計とともに使用するとSQL解析時間が長くなる可能性があるため、どのファンクションを含めるか除外するかを構成するために、グローバル・レベルのファイングレイン制御が提供されます。
PL/SQLファンクションを含むSQL文を最適化する場合、カーディナリティの予測が困難な場合があります。これは、SQL実行計画が不十分になったり、SQLパフォーマンスの低下につながる可能性があります。PL/SQLファンクションで動的統計を制御および使用できることで、オプティマイザはより適切な実行計画を検出でき、データベース全体のパフォーマンスの向上につながります。
ドキュメントの表示に関する項
エラスティック・ベクトル・メモリー管理
ベクトル・メモリー・プールは、新しいHNSW索引またはHNSW索引の変更に対応するために動的に拡大または縮小するように構成できます。
HNSWベクトル索引は、データベースのSGA内のベクトル・メモリー・プールに存在します。HNSW索引の作成は、索引を収容するのに十分なサイズが設定されているプールに左右され、基礎となる実表に対する後続の変更によって、HNSW索引のサイズが変化する可能性があります。エラスティック・ベクトル・メモリー管理を使用すると、すべてのHNSW索引を動的に収容できるようにプールのサイズが自動的に変更されます。
ドキュメントの表示に関する項
含まれる列でのJSON、BLOBおよびCLOBデータ型のサポート
IVF (近傍パーティション)ベクトル索引の含まれる列で、JSON
、BLOB
またはCLOB
型が使用できるようになりました。
含まれる列を使用すると、実表内の追加の非ベクトル列をIVF (近傍パーティション)ベクトル索引に格納できるようになります。追加の列を索引に格納することで、問合せの実行では、実表から基礎となる列を取得するための追加の表アクセスが不要になります。
ドキュメントの表示に関する項
JSON型修飾子の機能拡張: データ・サイズおよび配列の指定
JSON型列の最大サイズをバイト単位で指定できます。
型修飾子ARRAYには、次を指定できます:
- すべての配列要素に対する(単一の)スカラー型
- 配列要素をJSON nullにできるかどうか
- 配列要素の最大数
- 配列要素を昇順で格納するかどうか
JSON型の列のサイズ制限を指定し、配列サイズ、要素タイプおよび格納順序を制約すると、格納されたJSONデータの処理がより効率的になる可能性があります。
ドキュメントの表示に関する項
JSON to Dualityマイグレータ: ヒント構成フィールド
二面性ビューのヒント構成フィールドでは、主キー列をサブオブジェクト・フィールドにマップしたり、SQLデータ型をフィールドにマップしたり、サブオブジェクトの基礎となるデータの共有を無効にできます。
二面性ビューでサポートされるドキュメントと、その基礎となるリレーショナル・データとの間のマッピングをより細かく制御できます:
- どのドキュメント・フィールドが主キー列に対応するか
- どのSQLデータ型が特定のフィールドの基礎となるか
- ドキュメント内の特定のオブジェクトを正規化するかどうか
この機能により、開発者は、シンプルさや効率性を損なうことなく、非常に効率的なリレーショナル・データ・ストレージ・モデルを使用して、データ・アクセスにJSONドキュメントを活用できます。
ドキュメントの表示に関する項
DBMS_HYBRID_VECTOR.SEARCHでのJSON_TEXTCONTAINSおよびJSON_EXISTSのサポート
DBMS_HYBRID_VECTOR.SEARCH
APIでは、ユーザーがハイブリッド検索の一部としてオプションのJSON_EXISTS
句とJSON_TEXTCONTAINS
句を指定する方法がサポートされるようになりました。
複雑な問合せを記述するには、複雑なJSONデータを操作するときに、JSON_EXISTS
およびJSON_TEXTCONTAINS
によるハイブリッド(セマンティックおよびテキスト)検索をさらに抑制する機能が必要です。この機能を使用すると、ユーザーの検索基準をより適切に満たす高度なアプリケーションを設計できます。
ドキュメントの表示に関する項
Oracle Database Cloud Backup Module for Azure Blob Storage
Oracle Database Cloud Backup Module for Azure Blob Storageを使用すると、Oracle DatabaseはMicrosoft Azure Blob Storageに対してバックアップの送信およびリカバリを実行できるようになります。このバックアップ・モジュールは、オンプレミスまたはAzureクラウドにデプロイされたOracle Databasesと互換性があります。Oracle管理のデータベース・サービスでは、Azure Blob Storageへのバックアップの書込みはサポートはされていません。データベース管理者は、RMANコマンド、RMANスクリプトおよびOracle Enterprise Managerを使用して、Azure Blob Storageでバックアップおよびリカバリ操作を実行できます。
Oracle Databasesは様々な場所で実行でき、Azure Blob Storageのバックアップ・モジュールにより、オンプレミスおよびAzureユーザーはバックアップ・ストレージの場所をより柔軟に選択できるようになります。
ドキュメントの表示に関する項
データベース内JavaScriptの制限付き実行コンテキスト
PURE
オプションは、データベース機能とのやり取りできない制限付きJavaScriptコンテキストを作成する場合に、マルチリンガル・エンジン(MLE)環境およびJavaScriptインライン・コール仕様で指定できます。
PURE
オプションを使用して制限付きJavaScript実行コンテキストを作成することで、データベースで実行されるJavaScriptコードの機能を制限する便利な方法となります。制限付きコンテキストで実行されているJavaScriptプログラムは、現在有効なデータベース権限に関係なく、データベース表を変更したり、PL/SQLパッケージを使用しないことが保証されます。ユーザー定義関数を使用する一般的なデータ処理ユースケースでは、関数の入力に対する計算のみが必要です。このようなシナリオでは、制限付きコンテキストがセーフティ・ネットとなり、サード・パーティまたはオープンソースのJavaScriptライブラリを使用する場合など、不要なデータベースの変更が禁止されます。
AIベクトル検索のコンテキストでは、HNSW索引の作成時に、JavaScript関数をユーザー定義のベクトル距離メトリックとして使用できます。HNSW索引では、PURE
オプションでマークされたJavaScript関数のみが許可されます。
ドキュメントの表示に関する項
PL/SQLでの疎ベクトルのサポート
PL/SQLで疎ベクトルがサポートされるようになりました。
疎ベクトルは通常、多数のディメンションを持つベクトルですが、それらのディメンションのうちゼロ以外の値を持つのはごく一部にすぎません。疎ベクトルはゼロ以外の値しか格納しないため、それらの使用によって効率が向上し、ストレージ領域が節約されます。PL/SQLでのネイティブ・サポートにより、疎ベクトルをPL/SQL内から直接作成して使用できます。
ドキュメントの表示に関する項
ユーザー定義のベクトル距離関数
AIベクトル検索では、カスタムのユーザー定義距離メトリックがサポートされています。独自の距離メトリックまたはドメイン固有の距離メトリック(あるいはその両方)が、標準の組込み距離メトリックに加えて使用できます。
ベクトル検索操作は、ユークリッド、コサイン、ドット製品などの標準の距離メトリックに基づくことがよくあります。しかし、ドメイン固有のメトリックや独自のメトリックが必要となる場合があります。ユーザー定義のベクトル距離関数を使用すると、ユーザーはJavaScript関数を使用して独自のカスタム・メトリックを作成できます。
ドキュメントの表示に関する項