クラスタ・インスタンス障害発生中の分散HNSW索引の可用性とパフォーマンスについて

Real Application Clusters (RAC)環境での分散HNSW (Hierarchical Navigable Small World)索引は、クラスタに変化があったとき(インスタンスの障害発生や削除など)でも信頼性が維持されるように設計されています。システムによって、継続的にクラスタの変化(インスタンスの障害発生、追加、削除など)が監視されます。それにより、HNSWスライス・グラフのステータス、割当て、リカバリ・タスクおよび所有権の変化が追跡され、この情報がすべてのインスタンスにわたり矛盾なく表示されるようになります。

クラスタの再構成とリカバリに対応するために、次のステップが自動的に実行されます:
  • 索引の無効化

    HNSWスライス・グラフをホストしているインスタンスに障害が発生した場合やアクセスできなくなった場合は、Oracle AI Databaseにより、影響を受けるHNSW索引が迅速に検出されます。影響を受けるHNSW索引は、不完全な、または正しくない問合せ結果にならないように、一時的に無効化されます。

  • 索引なしの計画への一時的な切替え

    無効化された索引を使用しているオープン状態の問合せまたはプロセスは無効になります。影響を受ける問合せは、索引なしの計画(フル・スキャンや代替索引など)に自動的に切り替えられます。障害が発生したインスタンスからのHNSWスライス・グラフが使用可能インスタンスにリロードされるまで、問合せは、分散HNSW索引を使用せずに実行されます。Oracle AI Databaseにより、無効化された索引に依存する問合せについてカーソルが無効化され、それらが、HNSWスライス・グラフが使用可能になると自動的に再コンパイルされます。

  • HNSWスライス・グラフの再分散とベクトル分散ユニット

    クラスタが安定すると、障害が発生したインスタンスのHNSWスライス・グラフが、メモリーの可用性に基づいて、使用可能な正常なインスタンスに再割当てされます。

    ベクトル分散ユニットは、必要なときのみ再計算されます。HNSWスライス・グラフがチェックポイント作成された後は、Oracle AI Databaseにより、ベクトル・データセット全体の再処理なしで、正常なインスタンスに、影響を受けるグラフを迅速にリロードできます。

    ノート:

    複数のインスタンス障害が同時発生した場合や、クラスタ・サイズが永続的に縮小された場合は、Oracle AI Databaseにより、HNSWスライス・グラフを直接再割当てできないことがあります。使用可能な正常なインスタンスで索引のすべてのHNSWスライス・グラフに対応できない場合は、Oracle AI Databaseによってフォールバックされてその索引が再構築されます。