説明
この構成パラメータは、V4.3.3バージョンから導入されました。
機能の概要
ob_vector_memory_limit_percentageは、ベクトルインデックスモジュールのメモリリソース使用率のしきい値を設定します。
適用対象
この構成パラメータは、OceanBaseデータベースのMySQLモードでのみ適用されます。
権限要件
パラメータの確認
sysテナントとMySQLユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとMySQLユーザーテナントはこの構成パラメータを変更できます。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 0、単位は割合
説明V4.4.1 より前のバージョンでは、この構成パラメータのデフォルト値はベクトルインデックスにメモリを割り当てないことを意味し、ベクトル検索機能が無効になります。
|
| 値の範囲 | [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';