Oracle AI Vector Searchに関する制限事項

Oracle Database 23aiでのOracle AI Vector Searchに関する制限事項を次に示します。

  • Open Neural Network Exchange (ONNX)機能は、x86-64 LinuxおよびLinux for Arm (aarch64)プラットフォームでのみサポートされています。ONNXはMicrosoft Windowsではサポートされていません。
  • ベクトル・プールのサイズを手動で設定するには、VECTOR_MEMORY_SIZE初期化パラメータを使用します。このパラメータは、次のレベルで動的に変更できます。
    • マルチテナント・コンテナ・データベース(CDB)レベルでは、VECTOR_MEMORY_SIZEにより、ベクトル・プールの現在のサイズを指定します。パラメータ値を小さくすると、新しいサイズを超えるベクトルを使用できなくなります。
    • プラガブル・データベース(PDB)レベルでは、VECTOR_MEMORY_SIZEにより、PDBで許可される最大ベクトル・プール使用量を指定します。パラメータ値を小さくすると、新しい割当てを超えるベクトルを使用できなくなります。

    ノート:

    CDBの初期化時にVECTOR_MEMORY_SIZEが1に設定され、sga_targetが0より大きい場合、HNSW索引の作成により、新しい索引を満たすようにベクトル・メモリー・プールが自動的に拡張されます。この構成では、PDBのVECTOR_MEMORY_SIZE値は0にデフォルト設定され、ALTER SYSTEMコマンドを使用して変更することはできません。
  • 表レベルのサポート

    • 表の切捨てまたは移動の操作はサポートされていますが、その操作によりグローバル・ベクトル索引が使用不可としてマークされます。

    • パーティション管理(PMOP)操作(たとえば、DROPTRUNCATEEXCHANGEMERGEMOVECOALESCEおよびSPLIT)はサポートされていますが、その操作によりグローバル・ベクトル索引が使用不可としてマークされます。

    • ハッシュ・パーティションの追加によっても、グローバル・ベクトル索引が使用不可とマークされます。ただし、レンジまたはリスト・パーティションの追加では、グローバル・ベクトル索引は使用不可としてマークされません。

    • ベクトル列は、次のどれにおいてもサポートされていません:

      • 索引構成表(IOT) (主キーとしても非キー列としても)
      • クラスタまたはクラスタ表
      • グローバル一時表
      • ブロックチェーン表
      • 不変表
      • パーティション化キーとサブパーティション化キー
      • 主キーと外部キー
      • 一意制約とチェック制約
      • デフォルト値
      • 列の変更
      • 手動セグメント領域管理(MSSM)表領域(SYSユーザーのみがMSSM表領域にBasicFilesとしてベクトルを作成できる)
      • 連続問合せ通知(CQN)問合せ
      • Bツリー、ビットマップ、逆キー、テキスト、空間索引などの非ベクトル索引
    • ローカルのInverted Flat File (IVF)索引の場合:
      • 非ハッシュ・ベクトル索引のADDはサポートされますが、ベクトル索引が使用不可としてマークされます。
      • その他のすべてのPMOP操作はサポートされておらず、試行するとエラーが返されます。
  • 型レベルのサポート

    ベクトル列指定では、次のものはサポートされていません:

    • Encryption句
    • SecureFiles storage句
  • 問合せレベルのサポート

    • パーティション行制限句では、ベクトル索引は使用されません。

    • ベクトル索引に対するコストベースの最適化のサポートは制限されています。

    • ベクトル列を含むSQL構文では、次のものはサポートされていません:

      • Distinct、Count Distinct
      • Order By、Group By
      • 結合条件
      • 比較演算子(たとえば、>、<、=)
  • 索引レベルのサポート

    • ベクトル索引では、次のものはサポートされていません:

      • 外部表
      • IOT
      • クラスタまたはクラスタ表
      • グローバル一時表
      • ブロックチェーン表
      • 不変表
      • マテリアライズド・ビュー
    • 次のものはサポートされていません。

      • 関数ベースのベクトル索引
      • ベクトル索引に対するAlter index DDL
      • ベクトル索引のオンライン作成
  • 最新のpython-oracledb、node-oracledb、JDBC、ODP.NETおよびOCIドライバでは、ネイティブ・バインドが有効になります。
    • その他すべてのSQLドライバでは、バインドおよびベクトル定義にCLOBまたはVARCHAR2を使用する必要があります。
    • リリース19cおよびリリース21c以降のOracleクライアントでは、ベクトルがCLOBとして認識されます。
  • 次のものとの統合はサポートされていません:
    • トランスポータブル表領域を含むベクトル索引は、Oracle Data Pumpではサポートされていません。
    • Oracle Databaseアドバンスト・キューイング
    • Oracle Database Gateway
  • 最大65535個のディメンションがサポートされています。
  • データ・リダクションは、VECTORデータ型ではサポートされていません。具体的には、次のことができません:
    • ベクトル列にデータ・リダクション・ポリシーを追加する。
    • 列にリダクション・ポリシーが定義されている場合に、表を変更して列をVECTORデータ型に変更する。