複数値属性の重複除去
schema.json ファイルで、重複除去するインデックスとして、転置インデックスに対応する複数値フィールドを指定できます。OpenSearch Vector Search Edition は、フィールドの値をハッシュし、同じ値を持つドキュメントの値を 1 つのストレージ場所に格納します。このようにして、OpenSearch Vector Search Edition は、共有ストレージスペースを使用して複数値転置インデックスの重複を除去します。重複除去の結果は、フィールドの値の数によって異なります。
単一値転置インデックスと複数値転置インデックスでサポートされる等値圧縮
転置インデックスに対応する単一値フィールド、または転置インデックスに対応する複数値フィールドを、等値圧縮を有効にするインデックスの数として指定できます。その後、OpenSearch Vector Search Edition は、等値圧縮機能を使用して、n 個のドキュメント内の単一値転置インデックスの 2 の n 乗個の連続値、または n 個のドキュメント内の複数値転置インデックスによって生成された 2 の n 乗個の連続オフセットファイルを格納できます。ドキュメント内のすべての値が同一の場合、1 つのドキュメントのみが格納されます。ドキュメント内に異なる値が存在する場合、最小値と最小値と他の値との差分が格納され、ストレージ使用量が削減されます。等値圧縮のパフォーマンスが高い場合、複数値転置インデックスの圧縮パフォーマンスは高くなります。
更新可能な複数値転置インデックス
デフォルトでは、複数値転置インデックスを更新することはできません。対応するパラメータを設定することで、複数値転置インデックスを更新可能にすることができます。複数値転置インデックスの更新方法は、シナリオがオンラインかオフラインかによって異なります。
対応するパラメータを設定して、フィールドに対応する複数値転置インデックスをオンラインシナリオで更新できるようにすると、システムは拡張可能なメモリパーティションを割り当てて更新された値を格納し、元の値に対応するオフセットをメモリパーティション内の新しい場所にマップします。このようにして、複数値フィールドのリアルタイム更新を実装できます。
対応するパラメータを設定して、フィールドに対応する複数値転置インデックスをオフラインシナリオで更新できるようにすると、更新された値はパッチファイルに格納されます。次に、システムはパッチファイルをオンラインでロードし、拡張可能なメモリパーティション内の新しい場所にコピーします。このようにして、更新された値を読み取ることができます。
パッキングベースの属性ストレージ
パッキングベースの属性ストレージを使用して、ドキュメントの属性のグループをパックし、属性を一連の行に格納できます。
属性をパックしてから一連の行に格納する場合、システムは属性に対する順次読み取り操作で、属性を一連の列に格納する場合よりも優れたパフォーマンスを提供します。属性をパックしてから一連の行に格納する場合、システムのパフォーマンスが向上するのは、コンパクトなストレージによって、CPU がデータをキャッシュする際のキャッシュミス数を減らすことができるためです。