OceanBaseデータベースでは、パラメータの設定により、ロードバランシング、メジャーコンパクションのタイミング、メジャーコンパクション方式、リソース割り当て、モジュールのオン/オフなど、クラスタの機能動作を制御できます。
OceanBaseデータベースのobserverプロセスは、初回起動時に特定の必須パラメータを指定する必要があります。必須パラメータ以外は、指定しない場合システムが指定するDefault値が使用されます。プロセス起動後、パラメータ値は /home/admin/oceanbase/etc/observer.config.bin ファイルに永続化され、strings observer.config.bin コマンドでファイルの内容を確認できます。非初回起動時は、システムが永続化ファイルからパラメータを読み取り、変更が不要な場合は再度パラメータを指定する必要はありません。
パラメータレベル
OceanBaseデータベースのパラメータは、クラスタレベルパラメータとテナントレベルパラメータに分類されます。
クラスタレベルパラメータ:クラスタ内のすべてのOBServerノードに適用されます。
テナントレベルパラメータ:クラスタ内の現在のテナントが存在するOBServerノードに適用されます。
名前が「_」で始まるパラメータは隠れたパラメータと呼ばれ、例えば _ob_max_thread_num が該当します。これらは開発者が障害調査や緊急運用保守時にのみ使用します。本記事では隠れたパラメータについて詳細には説明しません。以下の説明に含まれるパラメータには隠れたパラメータは含まれません。
異なるテナント間でのパラメータの確認と変更のレベルは、次の表のとおりです:
テナントタイプ |
パラメータの確認 |
パラメータの設定 |
|---|---|---|
| システムテナント | クラスタレベルパラメータ、テナントレベルパラメータ
説明
|
クラスタレベルパラメータ、テナントレベルパラメータ
説明システムテナントでは、 |
| 通常テナント | クラスタレベルパラメータとそのテナントのテナントレベルパラメータ | そのテナントのテナントレベルパラメータ |
現在のOceanBaseデータベースにおけるパラメータの主要なデータ型と関連説明は、次の表のとおりです:
データ型 |
説明 |
|---|---|
| BOOL | boolean型(ブール)、true/falseをサポートします。 |
| CAPACITY | 容量単位。b(バイト)、k(KB、キロバイト)、m(MB、メガバイト)、g(GB、10億バイト)、t(TB、1兆バイト)、p(PB、1000億バイト)をサポートします。単位は大文字と小文字を区別しません。デフォルトはmです。 |
| DOUBLE | 厳密浮動小数点数。64ビットのストレージ容量を使用し、小数点以下15桁まで正確で、有効桁数は16桁です。 |
| INT | int64整数型。正の整数、負の整数、0をサポートします。 |
| MOMENT | 時刻。形式は hh:mm(例:02:00)です。または、時間を指定しないことを示す特別値 disable を使用できます。現在は major_freeze_duty_time パラメータでのみ使用されます。 |
| STRING | 文字列。ユーザーが入力した文字列の値。 |
| STRING_LIST | 文字列リスト。セミコロン(;)で区切られた複数の文字列です。 |
| TIME | 時間型。us(マイクロ秒)、ms(ミリ秒)、s(秒)、m(分)、h(時間)、d(日)などの単位をサポートします。接尾辞を付けない場合、デフォルトは秒(s)です。単位は大文字と小文字を区別しません。 |
パラメータの反映方式
パラメータは一般的に動的反映と再起動後反映の2種類の方式があります。ほとんどのパラメータは動的反映方式であり、OBServerを再起動しなくても反映されます。
パラメータのレベルと反映方式の確認
特定の構成パラメータを照会する方法は以下のとおりです:
obclient [(none)]> SHOW PARAMETERS LIKE 'max_syslog_file_count';
照会結果は次のとおりです:
+-------+----------+----------------+----------+-----------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+---------------+-----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
+-------+----------+----------------+----------+-----------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+---------------+-----------+
| zone1 | observer | 172.xx.xxx.xxx | 2882 | max_syslog_file_count | INT | 0 | specifies the maximum number of the log files that can co-exist before the log file recycling kicks in. Each log file can occupy at most 256MB disk space. When this value is set to 0, no log file will be removed. Range: [0, +∞) in integer | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
+-------+----------+----------------+----------+-----------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+---------------+-----------+
1 row in set
ここで:
scope列はその構成パラメータのレベルを示しています。対応する値がCLUSTERの場合、その構成パラメータはクラスタレベルであることを意味します。対応する値がTENANTの場合、その構成パラメータはテナントレベルであることを意味します。edit_level列はその構成パラメータの有効化方式を示しています。一般的に動的有効化と再起動後の有効化の2種類があります。dynamic_effectiveは動的有効化を表し、static_effectiveは再起動後の有効化を表します。ほとんどの構成パラメータは動的有効化方式であり、OBServerを再起動しなくても有効になります。
関連ドキュメント
クラスタ構成パラメータに関連する運用操作の詳細については、以下を参照してください: