BE 設定
BE の設定項目の中には、BE ノードがオンラインのときに対話 的に設定できる動的パラメータがあります。それ以外は静的パラメータです。BE ノードの静的パラメータは、対応する設定ファイル be.conf を変更し、BE ノードを再起動して変更を有効にすることでのみ設定できます。
BE の設定項目を表示する
次のコマンドを使用して BE の設定項目を表示できます。
SELECT * FROM information_schema.be_configs WHERE NAME LIKE "%<name_pattern>%"
BE パラメータを設定する
BE の動的パラメータを設定する
BE ノードの動的パラメータは、information_schema.be_configs 内の値を更新することで設定できます。
警告
無効な値を設定すると、予期しない動作を引き起こす可能性があります。設定を更新するコマンドを実行する前に、必ず再確認してください。
-- <config_key> を設定のキーに、<config_value> を値に置き換えてください。
UPDATE information_schema.be_configs SET VALUE = <config_value> WHERE name = "<config_key>";
BE の静的パラメータを設定する
BE の静的パラメータは、対応する設定ファイル be.conf で変更し、BE を再起動して変更を有効にすることでのみ設定できます。
このトピックでは、以下の種類のFE構成について紹介します:
クエリエンジン
dictionary_speculate_min_chunk_size
- デフォルト: 10000
- タイプ: Int
- 単位: Rows
- 変更可能: No
- 説明: StringColumnWriter および DictColumnWriter が辞書エンコーディングの推測を開始するために使用する最小行数(チャンクサイズ)。受信カラム(または蓄積されたバッファに加えた受信行)のサイズが
dictionary_speculate_min_chunk_size以上であれば、ライターは即座に推測を実行してエンコーディング(DICT、PLAIN、または BIT_SHUFFLE のいずれか)を設定し、さらに行をバッファリングしません。推測では文字列カラムに対してdictionary_encoding_ratio、数値/非文字列カラムに対してdictionary_encoding_ratio_for_non_string_columnを使用して辞書エンコーディングが有利かどうかを判断します。また、カラムのバイトサイズが大きく(UINT32_MAX 以上)なる場合は、BinaryColumn<uint32_t>のオーバーフローを避けるために即時に推測が行われます。 - 導入バージョン: v3.2.0
disable_storage_page_cache
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: PageCache を無効にするかどうかを制御するブール値。
- PageCache が有効な場合、StarRocks は最近スキャンされたデータをキャッシュします。
- PageCache は、類似のクエリが頻繁に繰り返される場合にクエリパフォーマンスを大幅に向上させることができます。
trueは PageCache を無効にすることを示します。- この項目のデフォルト値は StarRocks v2.4 以降、
trueからfalseに変更されました。
- 導入バージョン: -
enable_bitmap_index_memory_page_cache
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: Bitmap インデックスのメモリキャッシュを有効にするかどうか。Bitmap インデックスを使用してポイントクエリを高速化したい場合は、メモリキャッシュを使用することを推奨します。
- 導入バージョン: v3.1
enable_compaction_flat_json
- デフォルト: True
- タイプ: Boolean
- 単位:
- 変更可能: はい
- 説明: Flat JSON データのコンパクションを有効にするかどうか。
- 導入バージョン: v3.3.3
enable_json_flat
- デフォルト: false
- タイプ: Boolean
- 単位:
- 変更可能: はい
- 説明: Flat JSON 機能を有効にするかどうか。 この機能を有効にすると、新しくロードされた JSON データが自動的にフラット化され、JSON クエリパフォーマンスが向上します。
- 導入バージョン: v3.3.0
enable_lazy_dynamic_flat_json
- デフォルト: True
- タイプ: Boolean
- 単位:
- 変更可能: はい
- 説明: クエリが読み取りプロセスで Flat JSON スキーマを見逃した場合に Lazy Dynamic Flat JSON を有効にするかどうか。この項目が
trueに設定されている場合、StarRocks は Flat JSON 操作を読み取りプロセスではなく計算プロセスに延期します。 - 導入バージョン: v3.3.3
enable_ordinal_index_memory_page_cache
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: オーディナルインデックスのメモリキャッシュを有効にするかどうか。オーディナルインデックスは行IDからデータページの位置へのマッピングであり、スキャンを高速化するために使用できる。
- 導入バージョン: -
enable_string_prefix_zonemap
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: 文字列(CHAR/VARCHAR)列に対して、前置長に基づくゾーンマップを有効にするかどうか。非キー列では、最小値/最大値は
string_prefix_zonemap_prefix_lenで指定した長さに切り詰められます。 - 導入バージョン: -
enable_zonemap_index_memory_page_cache
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: ゾーンマップインデックスのメモリーキャッシュを有効にするかどうか。ゾーンマップインデックスを使用してスキャンを高速化したい場合は、メモリキャッシュを使用することを推奨します。
- 導入バージョン: -
exchg_node_buffer_size_bytes
- デフォルト: 10485760
- タイプ: Int
- 単位: バイト
- 変更可能: はい
- 説明: 各クエリの交換ノードの受信側の最大バッファサイズ。この設定項目はソフトリミットです。データが過剰な速度で受信側に送信されると、バックプレッシャーがトリガーされます。
- 導入バージョン: -
exec_state_report_max_threads
- デフォルト: 2
- タイプ: Int
- 単位: スレッド
- 変更可能: はい
- 説明: exec-state-report スレッドプールの最大スレッド数。このプールは
ExecStateReporterが通常優先度の実行状態レポート(フラグメント完了やエラーステータスなど)を BE から FE へ 非同期で RPC 送信するために使用されます。起動時の実際のプールサイズはmax(1, exec_state_report_max_threads)になります。このコンフィグを実行時に変更すると、全エグゼキュータセット(共有・専有)のプールに対してupdate_max_threadsが呼び出されます。プールのタスクキューサイズは 1000 固定です。高並行クエリ実行時に実行状態レポートが遅延または消失する場合は値を増やしてください。対応する高優先度プールはpriority_exec_state_report_max_threadsで制御します。 - 導入バージョン: v4.1.0, v4.0.8, v3.5.15
file_descriptor_cache_capacity
- デフォルト: 16384
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: キャッシュできるファイルディスクリプタの数。
- 導入バージョン: -
flamegraph_tool_dir
- デフォルト:
${STARROCKS_HOME}/bin/flamegraph - タイプ: String
- 単位: -
- 変更可能: いいえ
- 説明: フレームグラフツールのディレクトリ。このディレクトリには、プロファイルデータからフレームグラフを生成するための pprof、stackcollapse-go.pl、flamegraph.pl スクリプトが含まれている必要があります。
- 導入バージョン: -
fragment_pool_queue_size
- デフォルト: 2048
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: 各 BE ノードで処理できるクエリ数の上限。
- 導入バージョン: -
fragment_pool_thread_num_max
- デフォルト: 4096
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: クエリに使用される最大スレッド数。
- 導入バージョン: -
fragment_pool_thread_num_min
- デフォルト: 64
- タイプ: Int
- 単位: 分
- 変更可能: いいえ
- 説明: クエリに使用される最小スレッド数。
- 導入バージョン: -
hdfs_client_enable_hedged_read
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: いいえ
- 説明: ヘッジドリード機能を有効にするかどうかを指定します。
- 導入バージョン: v3.0
hdfs_client_hedged_read_threadpool_size
- デフォルト: 128
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: HDFS クライアントのヘッジドリードスレッドプールのサイズを指定します。スレッドプールのサイズは、HDFS クライアントでヘッジドリードを実行するために専用されるスレッドの数を制限します。これは、HDFS クラスターの hdfs-site.xml ファイルの
dfs.client.hedged.read.threadpool.sizeパラメータに相当します。 - 導入バージョン: v3.0
hdfs_client_hedged_read_threshold_millis
- デフォルト: 2500
- タイプ: Int
- 単位: ミリ秒
- 変更可能: いいえ
- 説明: ヘッジドリードを開始する前に待機するミリ秒数を指定します。たとえば、このパラメータを
30に設定した場合、ブロックからの読み取りが 30 ミリ秒以内に返されない場合、HDFS クライアントはすぐに別のブロックレプリカに対して新しい読み取りを開始します。これは、HDFS クラスターの hdfs-site.xml ファイルのdfs.client.hedged.read.threshold.millisパラメータに相当します。 - 導入バージョン: v3.0
io_coalesce_adaptive_lazy_active
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: はい
- 説明: 述語の選択性に基づいて、述語列と非述語列の I/O を結合するかどうかを適応的に決定します。
- 導入バージョン: v3.2
jit_lru_cache_size
- デフォルト: 0
- タイプ: Int
- 単位: Bytes
- 変更可能: はい
- 説明: JIT コンパイルのための LRU キャッシュサイズ。0 より大きい場合、キャッシュの実際のサイズを表します。0 以下に設定されている場合、システムは
jit_lru_cache_size = min(mem_limit*0.01, 1GB)の式を使用して キャッシュを適応的に設定します (ノードのmem_limitは 16 GB 以上でなければなりません)。 - 導入バージョン: -
json_flat_column_max
- デフォルト: 100
- タイプ: Int
- 単位:
- 変更可能: はい
- 説明: Flat JSON によって抽出できるサブフィールドの最大数。このパラメータは
enable_json_flatがtrueに設定されている場合にのみ有効です。 - 導入バージョン: v3.3.0
json_flat_create_zonemap
- デフォルト: true
- タイプ: Boolean
- 単位:
- 変更可能: はい
- 説明: フラット化された JSON のサブカラムに対してゾーンマップを作成するかどうか。
enable_json_flatがtrueの場合にのみ有効です。 - 導入バージョン: -
json_flat_null_factor
- デフォルト: 0.3
- タイプ: Double
- 単位:
- 変更可能: はい
- 説明: Flat JSON のために抽出する NULL 値の割合。NULL 値の割合がこのしきい値を超える列は抽出されません。このパラメータは
enable_json_flatがtrueに設定されている場合にのみ有効です。 - 導入バージョン: v3.3.0
json_flat_sparsity_factor
- デフォルト: 0.3
- タイプ: Double
- 単位:
- 変更可能: はい
- 説明: Flat JSON の同じ名前を持つ列の割合。この値より低い場合、抽出は行われません。このパラメータは
enable_json_flatがtrueに設定されている場合にのみ有効です。 - 導入バージョン: v3.3.0
lake_tablet_ignore_invalid_delete_predicate
- デフォルト: false
- タイプ: Boolean
- 単位: -
- 変更可能: Yes
- 説明: カラム名が変更された後に論理削除によって重複キーのテーブルの tablet rowset メタデータに導入される可能性のある無効な delete predicate を無視するかどうかを制御するブール値。
- 導入バージョン: v4.0
max_hdfs_file_handle
- デフォルト: 1000
- タイプ: Int
- 単位: -
- 変更可能: はい
- 説明: 開くことができる HDFS ファイルディスクリプタの最大数。
- 導入バージョン: -
max_memory_sink_batch_count
- デフォルト: 20
- タイプ: Int
- 単位: -
- 変更可能: はい
- 説明: スキャンキャッシュバッチの最大数。
- 導入バージョン: -
max_pushdown_conditions_per_column
- デフォルト: 1024
- タイプ: Int
- 単位: -
- 変更可能: はい
- 説明: 各列でプッシュダウンを許可する条件の最大数。この制限を超えると、述語はストレージレイヤーにプッシュダウンされません。
- 導入バージョン: -
max_scan_key_num
- デフォルト: 1024
- タイプ: Int
- 単位: -
- 変更可能: はい
- 説明: 各クエリによってセグメント化される最大スキャンキー数。
- 導入バージョン: -
min_file_descriptor_number
- デフォルト: 60000
- タイプ: Int
- 単位: -
- 変更可能: いいえ
- 説明: BE プロセスの最小ファイルディスクリプタ数。
- 導入バージョン: -
object_storage_connect_timeout_ms
- デフォルト: -1
- タイプ: Int
- 単位: ミリ秒
- 変更可能: いいえ
- 説明: オブジェクトストレージとのソケット接続を確立するためのタイムアウト期間。
-1は SDK 設定のデフォルトのタイムアウト期間を使用することを示します。 - 導入バージョン: v3.0.9