説明
この構成パラメータは、V4.3.3バージョンから導入されました。
機能の概要
ob_vector_memory_limit_percentageは、ベクトルインデックスモジュールがメモリリソースを使用するしきい値を設定します。
適用対象
この構成パラメータは、OceanBaseデータベースのMySQLモードにのみ適用されます。
権限要件
パラメータの確認
sysテナントとMySQLユーザーテナントはどちらもSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとMySQLユーザーテナントはどちらもこの構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 0、単位はパーセンテージ
説明V4.3.5 BP3より前のバージョンでは、この構成パラメータのデフォルト値はベクトルインデックスにメモリを割り当てないことを意味し、ベクトル検索機能が無効になります。
|
| 値の範囲 | [0, 100)。実際の最大値は85 - Memstore(つまりmemstore_limit_percentage値)です。memstore_limit_percentageパラメータを0(デフォルト値)に設定すると、システムはMemStoreメモリの割合を自動的に計算します。自動計算ルール:
|
| 変更は可能か | はい。ALTER SYSTEM SETステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
メモリ計算
このパラメータの具体的な値は、計算式と業務ニーズに基づいて計画する必要があります。メモリ計算表をダウンロードをクリックしてパラメータ値を計算してください。
表の説明:
1つのテナント内で複数のベクトルインデックスを作成する場合、必要なメモリはすべてのメモリの合計です。
ビジネスシナリオに応じて、表の1列目のデータ量と2列目のベクトル次元の数値を入力する必要があります。
表の3列目のMはHNSWグラフインデックスの最大辺数を表し、
16がデフォルト値であり、通常は変更する必要はありません。表の5列目の最小メモリ構成は、後から作成されるインデックスのみを対象とし、新規データの追加は行われないシナリオにのみ使用されます。
ベクトルインデックスのメモリ使用量の拡大
ベクトルインデックスのメモリ使用量のしきい値を拡大する必要がある場合は、そのテナントのMemStoreメモリ占有率をまず低下させることを推奨します。これは、ユーザーテナントで_memstore_limit_percentage構成パラメータを変更することで実現できます。
注意
MemStoreの割合を低下させると、DML性能に影響を与える可能性があるため、DML負荷が高い環境では、変更する前に必ず評価を行ってください。
設定例
ベクトルインデックスのメモリ使用率のしきい値を30%に設定します。
obclient> ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
ベクトルインデックスのメモリ使用率のしきい値を59%に拡大します。
obclient> ALTER SYSTEM SET _memstore_limit_percentage = 25;
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 59;
現在のベクトルインデックスのメモリ構成を確認します。
obclient> SHOW PARAMETERS LIKE 'ob_vector_memory_limit_percentage';