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