説明
この構成パラメータは、V4.2.1バージョンから導入されました。
機能の概要
enable_transferは、テナント内でTransferを許可するかどうかを制御します。
権限要件
パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはこの構成パラメータを変更できます。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | Bool |
| デフォルト値 | True |
| 値の範囲 |
|
| 変更は可能か | はい。ALTER SYSTEM SETステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
テナント内のロードバランシングポリシーは、テナントレベルの構成パラメータenable_rebalanceとenable_transferによって共同で制御されます。
構成パラメータenable_rebalanceは、システムテナントではテナント間のロードバランシングを制御し、ユーザーテナントではテナント内のロードバランシングを制御します。デフォルト値はtrueで、設定後はOBServerノードを再起動せずに即時に反映されます。
構成パラメータenable_transferは、テナント内のTransfer機能を有効にするかどうかを制御します。デフォルト値はtrueで、設定後はOBServerノードを再起動せずに即時に反映されます。構成パラメータenable_transferの値の意味は、構成パラメータenable_rebalanceの値に依存します:
構成パラメータ
enable_rebalanceの値がfalseの場合、構成パラメータenable_transferの値がtrueでもfalseでも、システムは自動ロードバランシングを実行しません。すべてのロードバランシングを無効にするコマンドは以下のとおりです:obclient> ALTER SYSTEM SET enable_rebalance=false;パラメータ
enable_rebalanceの値がtrueかつenable_transferの値がtrueの場合、テナントのスケーリング操作時にシステムが自動的にパーティションの分散を調整し、ロードバランシングを実現することを意味します。ロードバランシングアルゴリズムに基づいてテナントのログストリーム数を動的に調整し、テナント内のリーダーとパーティションの均等化を自動的に行うコマンドは以下のとおりです:obclient> ALTER SYSTEM SET enable_rebalance=true; obclient> ALTER SYSTEM SET enable_transfer=true;パラメータ
enable_rebalanceの値がtrueかつenable_transferの値がfalseの場合、テナントのスケーリング操作時にシステムがTransfer操作を開始できず、限定的な均等化はログストリームの移行によってのみ実現できることを意味します。既存のログストリームに基づいてのみログストリームの均等化を行い、Transferやログストリーム数の動的変更は発生しないコマンドは以下のとおりです:obclient> ALTER SYSTEM SET enable_rebalance=true; obclient> ALTER SYSTEM SET enable_transfer=false;
設定例
システムテナントが指定テナントのロードバランシングポリシーを設定する
システムテナントが指定テナントのテナント内ロードバランシングとテナント内Transfer機能を有効にする
obclient> ALTER SYSTEM SET enable_rebalance = true TENANT = 'tenant_name';obclient> ALTER SYSTEM SET enable_transfer = true TENANT = 'tenant_name';上記のステートメントは、指定テナント内のパラメータ
enable_rebalanceとenable_transferの値をtrueに設定することを意味します。システムテナントがすべてのユーザーテナント(
sysテナントとMetaテナントを除く)のテナント内ロードバランシングとテナント内Transfer機能を有効にするobclient> ALTER SYSTEM SET enable_rebalance = true TENANT = all_user;obclient> ALTER SYSTEM SET enable_transfer = true TENANT = all_user;または
obclient> ALTER SYSTEM SET enable_rebalance = true TENANT = all;obclient> ALTER SYSTEM SET enable_transfer = true TENANT = all;上記のステートメントは、すべてのユーザーテナント内のパラメータ
enable_rebalanceとenable_transferの値をtrueに設定することを意味します。説明
OceanBaseデータベースはV4.2.1バージョンから、
TENANT = all_userとTENANT = allの意味が同じになりました。適用範囲をすべてのユーザーテナントにする必要がある場合は、TENANT = all_userの使用を推奨します。TENANT = allは今後廃止されます。
ユーザーテナントが自身のテナントのロードバランシングポリシーを設定する
MySQLモードOracleモードMySQLテナントが自身のテナント内ロードバランシングとテナント内Transfer機能を有効にするステートメントは以下のとおりです:
obclient> ALTER SYSTEM SET enable_rebalance = true;obclient> ALTER SYSTEM SET enable_transfer = true;Oracleテナントで、当該テナント内のテナント内ロードバランシングおよびテナント下のTransfer機能を有効にするステートメントは以下のとおりです。
obclient> ALTER SYSTEM SET enable_rebalance = 'true';obclient> ALTER SYSTEM SET enable_transfer = 'true';