説明
この構成パラメータは、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列目のデータ量と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';