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