FE 設定 - 共有データ、データレイク、その他
FE パラメータは、動的パラメータと静的パラメータに分類されます。
-
動的パラメータは、SQL コマンドを実行することで設定および調整でき、非常に便利です。ただし、FE を再起動すると設定が無効になります。そのため、fe.conf ファイルの設定項目も変更して、変更が失われないようにすることをお勧めします。
-
静的パラメータは、FE の設定ファイル fe.conf でのみ設定および調整できます。このファイルを変更した後、変更を有効にするには FE を再起動する必要があります。
パラメータが動的パラメータであるかどうかは、ADMIN SHOW CONFIG の出力の IsMutable 列で示されます。TRUE は動的パラメータを示します。
動的および静的 FE パラメータの両方が fe.conf ファイルで設定できることに注意してください。
FE 設定項目の表示
FE の起動後、MySQL クライアントで ADMIN SHOW FRONTEND CONFIG コマンドを実行して、パラメーター設定を確認できます。特定のパラメーターの設定をクエリするには、次のコマンドを実行します。
ADMIN SHOW FRONTEND CONFIG [LIKE "pattern"];
返されるフィールドの詳細な説明については、ADMIN SHOW CONFIG を参照してください。
クラスター管理関連コマンドを実行するには、管理者権限が必要です。
FE パラメーターの設定
FE 動的パラメーターの設定
ADMIN SET FRONTEND CONFIG を使用して、FE 動的パラメーターの設定を構成または変更できます。
ADMIN SET FRONTEND CONFIG ("key" = "value");
ADMIN SET FRONTEND で行った設定変更は、FE が再起動すると fe.conf ファイルのデフォルト値に戻ります。したがって、変更を永続的にしたい場合は、fe.conf の設定項目も変更することをお勧めします。
FE 静的パラメーターの設定
FE の静的パラメータは、設定ファイル fe.conf を変更し、FE を再起動して変更を反映させることで設定されます。
このトピックでは、以下の種類のFE構成について紹介します:
共有データ
aws_s3_access_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットにアクセスするために使用するアクセスキー ID。
- 導入時期:v3.0
aws_s3_endpoint
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットにアクセスするために使用するエンドポイント。例:
https://s3.us-west-2.amazonaws.com。 - 導入時期:v3.0
aws_s3_external_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットへのクロスアカウントアクセスに使用される AWS アカウントの外部 ID。
- 導入時期:v3.0
aws_s3_iam_role_arn
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データファイルが格納されている S3 バケットに対する権限を持つ IAM ロールの ARN。
- 導入時期:v3.0
aws_s3_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される S3 パス。S3 バケットの名前とその下のサブパス (存在する場合) で構成されます。例:
testbucket/subpath。 - 導入時期:v3.0
aws_s3_region
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットが存在するリージョン。例:
us-west-2。 - 導入時期:v3.0
aws_s3_secret_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:S3 バケットにアクセスするために使用するシークレットアクセスキー。
- 導入時期:v3.0
aws_s3_use_aws_sdk_default_behavior
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:AWS SDK のデフォルトの認証資格情報を使用するかどうか。有効な値: true および false (デフォルト)。
- 導入時期:v3.0
aws_s3_use_instance_profile
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:S3 にアクセスするための認証方法としてインスタンスプロファイルと引き受けロールを使用するかどうか。有効な値: true および false (デフォルト)。
- IAM ユーザーベースの認証情報 (アクセスキーとシークレットキー) を使用して S3 にアクセスする場合、この項目を
falseに指定し、aws_s3_access_keyとaws_s3_secret_keyを指定する必要があります。 - インスタンスプロファイルを使用して S3 にアクセスする場合、この項目を
trueに指定する必要があります。 - 引き受けロールを使用して S3 にアクセスする場合、この項目を
trueに指定し、aws_s3_iam_role_arnを指定する必要があります。 - 外部 AWS アカウントを使用する場合、
aws_s3_external_idも指定する必要があります。
- IAM ユーザーベースの認証情報 (アクセスキーとシークレットキー) を使用して S3 にアクセスする場合、この項目を
- 導入時期:v3.0
azure_adls2_endpoint
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 アカウントのエンドポイント。例:
https://test.dfs.core.windows.net。 - 導入時期:v3.4.1
azure_adls2_oauth2_client_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用されるマネージド ID のクライアント ID。
- 導入時期:v3.4.4
azure_adls2_oauth2_tenant_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用されるマネージド ID のテナント ID。
- 導入時期:v3.4.4
azure_adls2_oauth2_use_managed_identity
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するためにマネージド ID を使用するかどうか。
- 導入時期:v3.4.4
azure_adls2_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される Azure Data Lake Storage Gen2 パス。ファイルシステム名とディレクトリ名で構成されます。例:
testfilesystem/starrocks。 - 導入時期:v3.4.1
azure_adls2_sas_token
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用される共有アクセスシグネチャ (SAS)。
- 導入時期:v3.4.1
azure_adls2_shared_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Data Lake Storage Gen2 の要求を承認するために使用される共有キー。
- 導入時期:v3.4.1
azure_blob_endpoint
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Blob Storage アカウントのエンドポイント。例:
https://test.blob.core.windows.net。 - 導入時期:v3.1
azure_blob_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される Azure Blob Storage パス。ストレージアカウント内のコンテナーの名前とコンテナー内のサブパス (存在する場合) で構成されます。例:
testcontainer/subpath。 - 導入時期:v3.1
azure_blob_sas_token
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Blob Storage の要求を承認するために使用される共有アクセスシグネチャ (SAS)。
- 導入時期:v3.1
azure_blob_shared_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Azure Blob Storage の要求を承認するために使用される共有キー。
- 導入時期:v3.1
azure_use_native_sdk
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:Azure Blob Storage にアクセスするためにネイティブ SDK を使用するかどうか。これにより、マネージド ID およびサービスプリンシパルでの認証が可能になります。この項目が
falseに設定されている場合、共有キーと SAS トークンでの認証のみが許可されます。 - 導入時期:v3.4.4
cloud_native_hdfs_url
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:HDFS ストレージの URL。例:
hdfs://127.0.0.1:9000/user/xxx/starrocks/。 - 導入時期:-
cloud_native_meta_port
- デフォルト:6090
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE クラウドネイティブメタデータサーバー RPC リッスンポート。
- 導入時期:-
cloud_native_storage_type
- デフォルト:S3
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:使用するオブジェクトストレージのタイプ。共有データモードでは、StarRocks は HDFS、Azure Blob (v3.1.1 以降でサポート)、Azure Data Lake Storage Gen2 (v3.4.1 以降でサポート)、Google Storage (ネイティブ SDK、v3.5.1 以降でサポート)、および S3 プロトコルと互換性のあるオブジェクトストレージシステム (AWS S3、MinIO など) にデータを格納することをサポートしています。有効な値:
S3(デフォルト)、HDFS、AZBLOB、ADLS2、およびGS。このパラメーターをS3に指定した場合、aws_s3で始まるパラメーターを追加する必要があります。AZBLOBに指定した場合、azure_blobで始まるパラメーターを追加する必要がありま す。ADLS2に指定した場合、azure_adls2で始まるパラメーターを追加する必要があります。GSに指定した場合、gcp_gcsで始まるパラメーターを追加する必要があります。HDFSに指定した場合、cloud_native_hdfs_urlのみを指定する必要があります。 - 導入時期:-
enable_load_volume_from_conf
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:StarRocks が FE 設定ファイルで指定されたオブジェクトストレージ関連プロパティを使用して、組み込みストレージボリュームを作成することを許可するかどうか。デフォルト値は v3.4.1 以降
trueからfalseに変更されました。 - 導入時期:v3.1.0
gcp_gcs_impersonation_service_account
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:Google Storage にアクセスするために、偽装ベースの認証を使用する場合に偽装するサービスアカウント。
- 導入時 期:v3.5.1
gcp_gcs_path
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:データを格納するために使用される Google Cloud パス。Google Cloud バケットの名前とその下のサブパス (存在する場合) で構成されます。例:
testbucket/subpath。 - 導入時期:v3.5.1
gcp_gcs_service_account_email
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:サービスアカウント作成時に生成された JSON ファイル内のメールアドレス。例:
user@hello.iam.gserviceaccount.com。 - 導入時期:v3.5.1
gcp_gcs_service_account_private_key
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:サービスアカウント作成時に生成され た JSON ファイル内の秘密鍵。例:
-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n。 - 導入時期:v3.5.1
gcp_gcs_service_account_private_key_id
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:サービスアカウント作成時に生成された JSON ファイル内の秘密鍵 ID。
- 導入時期:v3.5.1
gcp_gcs_use_compute_engine_service_account
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:Compute Engine にバインドされているサービスアカウントを使用するかどうか。
- 導入時期:v3.5.1
hdfs_file_system_expire_seconds
- デフォルト:300
- タイプ:Int
- 単 位:Seconds
- 変更可能:Yes
- 説明:HdfsFsManager が管理する未使用のキャッシュ HDFS/ObjectStore FileSystem の Time-to-live (秒単位)。FileSystemExpirationChecker (60 秒ごとに実行) はこの値を使用して各 HdfsFs.isExpired(...) を呼び出します。期限切れになるとマネージャーは基盤となる FileSystem を閉じ、キャッシュから削除します。アクセサーメソッド (例:
HdfsFs.getDFSFileSystem、getUserName、getConfiguration) は最終アクセス時刻を更新するため、有効期限は非アクティブに基づいています。値が小さいとアイドルリソースの保持は減りますが、再オープンオーバーヘッドが増加します。値が大きいとハンドルが長く保持され、より多くのリソースを消費する可能性があります。 - 導入時期:v3.2.0
lake_autovacuum_grace_period_minutes
- デフォルト:30
- タイプ:Long
- 単位:Minutes
- 変更可能:Yes
- 説明:共有データクラスターで履歴データバージョンを保持する時間範囲。この時間範囲内の履歴データバージョンは、コンパクション後に AutoVacuum によって自動的にクリーンアップされません。実行中のクエリによってアクセスされるデータがクエリ完了前に削除されることを避けるため、この値を最大クエリ時間よりも大きく設定する必要があります。v3.3.0、v3.2.5、および v3.1.10 以降、デフォルト値は
5から30に変更されました。 - 導入時期:v3.1.0
lake_autovacuum_parallel_partitions
- デフォルト:8
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:共有データクラスターで同時に AutoVacuum を実行できるパーティションの最大数。AutoVacuum はコンパクション後のガベージコレクションです。
- 導入時期:v3.1.0
lake_autovacuum_partition_naptime_seconds
- デフォルト:180
- タイプ:Long
- 単位:Seconds
- 変更可能:Yes
- 説明:共有データクラスターで同じパーティションに対する AutoVacuum 操作間の最小間隔。
- 導入時期:v3.1.0
lake_autovacuum_stale_partition_threshold
- デフォルト:12
- タイプ:Long
- 単位:Hours
- 変更可能:Yes
- 説明:この時間範囲内にパーティションが更新されていない場合 (ロード、DELETE、またはコンパクション)、システムはこのパーティションに対して AutoVacuum を実行しません。
- 導入時期:v3.1.0
lake_compaction_allow_partial_success
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:この項目が
trueに設定されている場合、サブタスクの 1 つが成功した場合、システムは共有データクラスターでのコンパクション操作を成功と見なします。 - 導入時期:v3.5.2
lake_compaction_disable_ids
- デフォルト:""
- タイプ:String
- 単位:-
- 変更可能:Yes
- 説明:共有データモードでコンパクションが無効になっているテーブルまたはパーティションのリスト。形式はセミコロンで区切られた
tableId1;partitionId2です。例:12345;98765。 - 導入時期:v3.4.4
lake_compaction_history_size
- デフォルト:20
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターのリーダー FE ノードのメモリに保持される最近の成功したコンパクションタスクレコードの数。
SHOW PROC '/compactions'コマンドを使用して、最近の成功したコンパクションタスクレコードを表示できます。コンパクション履歴は FE プロセスメモリに格納され、FE プロセスが再起動されると失われることに注意してください。 - 導入時期:v3.1.0
lake_compaction_max_parallel_default
- 默认值: 3
- 类型: Int
- 单位: -
- 是否可变: Yes
- 描述: 当建表时未指定
lake_compaction_max_parallel表属性时,每个 tablet 的默认最大并行 Compaction 子任务数。0表示禁用并行 Compaction。此配置作为表属性lake_compaction_max_parallel的默认值。
lake_compaction_max_tasks
- デフォルト:-1
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターで許可される同時コンパクションタスクの最大数。この項目を
-1に設定すると、同時タスク数が適応的に計算されることを示します。この値を0に設定すると、コンパクションが無効になります。 - 導入時期:v3.1.0
lake_compaction_score_selector_min_score
- デフォルト:10.0
- タイプ:Double
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでコンパクション操作をトリガーするコンパクションスコアのしきい値。パーティションのコンパクションスコアがこの値以上の場合、システムはそのパーティションでコンパクションを実行します。
- 導入時期:v3.1.0
lake_compaction_score_upper_bound
- デフォルト:2000
- タイプ:Long
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターのパーティションのコンパクションスコアの上限。
0は上限がないことを示します。この項目はlake_enable_ingest_slowdownがtrueに設定されている場合にのみ有効になります。パーティションのコンパクションスコアがこの上限に達するか超えると、受信ロードタスクは拒否されます。v3.3.6 以降、デフォルト値は0から2000に変更されました。 - 導入時期:v3.2.0
lake_compaction_interval_ms_on_success
- デフォルト: 10000
- タイプ: Long
- 単位: ミリ秒
- 変更可能: はい
- 説明: 共有データクラスタで、あるパーティションの Compaction が成功した後、そのパーティションで次の Compaction を開始するまでの間隔。エイリアスは
lake_min_compaction_interval_ms_on_successです。 - 導入時期:v3.2.0
lake_enable_balance_tablets_between_workers
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでクラウドネイティブテーブルのタブレット移行中に、Compute ノード間でタブレットの数をバランスさせるかどうか。
trueは Compute ノード間でタブレットをバランスさせることを示し、falseはこの機能を無効にすることを示します。 - 導入時期:v3.3.4
lake_enable_ingest_slowdown
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでデータ取り込みの減速を有効にするかどうか。データ取り込みの減速が有効になっている場合、パーティションのコンパクションスコアが
lake_ingest_slowdown_thresholdを超えると、そのパーティションでのロードタスクがスロットルダウンされます。この設定はrun_modeがshared_dataに設定されている場合にのみ有効になります。v3.3.6 以降、デフォルト値はfalseからtrueに変更されました。 - 導入時期:v3.2.0
lake_ingest_slowdown_threshold
- デフォル ト:100
- タイプ:Long
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでデータ取り込みの減速をトリガーするコンパクションスコアのしきい値。この設定は
lake_enable_ingest_slowdownがtrueに設定されている場合にのみ有効になります。 - 導入時期:v3.2.0
lake_publish_version_max_threads
- デフォルト:512
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターでのバージョン公開タスクの最大スレッド数。
- 導入時期:v3.2.0
meta_sync_force_delete_shard_meta
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:共有データクラスターのメタデータを直接削除し、リモートストレージファイルのクリーンアップをバイパスすることを許可するかどうか。クリーンアップするシャードが過剰に多く、FE JVM のメモリ圧力が極端に高くなる場合にのみ、この項目を
trueに設定することをお勧めし ます。この機能を有効にすると、シャードまたはタブレットに属するデータファイルが自動的にクリーンアップされないことに注意してください。 - 導入時期:v3.2.10, v3.3.3
run_mode
-
デフォルト:
shared_nothing -
タイプ:String
-
単位:-
-
変更可能:No
-
説明:StarRocks クラスターの実行モード。有効な値:
shared_dataおよびshared_nothing(デフォルト)。shared_dataは StarRocks を共有データモードで実行することを示します。shared_nothingは StarRocks を共有なしモードで実行することを示します。
CAUTION
- StarRocks クラスターで
shared_dataとshared_nothingモードを同時に採用することはできません。混合デプロイメントはサポートされていません。 - クラスターのデプロイ後に
run_modeを変更しないでください。そうしないと、クラスターの再起動に失敗します。共有なしクラスターから共有データクラスターへの変換、またはその逆の変換はサポートされていません。
-
導入時期:-
shard_group_clean_threshold_sec
- デフォルト:3600
- タイプ:Long
- 単位:Seconds
- 変更可能:Yes
- 説明:FE が共有データクラスターで未使用のタブレットおよびシャードグループをクリーンアップするまでの時間。このしきい値内に作成されたタブレットおよびシャードグループはクリーンアップされません。
- 導入時期:-
star_mgr_meta_sync_interval_sec
- デフォルト:600
- タイプ:Long
- 単位:Seconds
- 変更可能:No
- 説明:FE が共有データクラスターで StarMgr と定期的なメタデータ同期を実行する間隔。
- 導入時期:-
starmgr_grpc_server_max_worker_threads
- デフォルト:1024
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:FE の starmgr モジュールの grpc サーバーが使用するワーカー スレッドの最大数。
- 導入時期:v4.0.0, v3.5.8
starmgr_grpc_timeout_seconds
- デフォルト:5
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- Description:
- 導入時期:-
データレイク
files_enable_insert_push_down_schema
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:有効にすると、アナライザは INSERT ... FROM files() 操作のためにターゲットテーブルスキーマを
files()テーブル関数にプッシュしようとします。これは、ソースが FileTableFunctionRelation であり、ターゲットがネイティブテーブルであり、SELECT リストにそれに対応するスロット参照列 (または *) が含まれている場合にのみ適用されます。アナライザは選択された列をターゲット列に一致させ (カウントが一致する必要があります)、ターゲットテーブルを一時的にロックし、ファイル列の型を非複合型 (Parquet JSON ->array<varchar>のような複合型はスキップされます) のディープコピーされたターゲット列型で置き換えます。元のファイルテーブルからの列名は保持されます。これにより、取り込み中のファイルベースの型推論による型ミスマッチと緩さが軽減されます。 - 導入時期:v3.4.0, v3.5.0
hdfs_read_buffer_size_kb
- デフォルト:8192
- タイプ:Int
- 単位:Kilobytes
- 変更可能:Yes
- 説明:HDFS 読み取りバッファのサイズ (キロバイト単位)。StarRocks はこの値をバイト (
<< 10) に変換し、HdfsFsManagerで HDFS 読み取りバッファを初期化したり、ブローカーアクセスが使用されていない場合に BE タスク (例:TBrokerScanRangeParams、TDownloadReq) に送信される thrift フィールドhdfs_read_buffer_size_kbを設定したりするために使用します。hdfs_read_buffer_size_kbを増やすと、シーケンシャル読み取りスループットが向上し、システムコールオーバーヘッドが減少しますが、ストリームごとのメモリ使用量が増加します。減らすとメモリフットプリントが減少しますが、I/O 効率が低下する可能性があります。調整時にはワークロード (多くの小さなストリームと少数の大きなシーケンシャル読み取り) を考慮してください。 - 導入時期:v3.2.0
hdfs_write_buffer_size_kb
- デフォルト:1024
- タイプ:Int
- 単位:Kilobytes
- 変更可能:Yes
- 説明:ブローカーを使用しない HDFS またはオブジェクトストレージへの直接書き込みに使用される HDFS 書き込みバッファサイズ (KB 単位) を設定します。FE はこの値をバイト (
<< 10) に変換し、HdfsFsManagerでローカル書き込みバッファを初期化します。また、Thrift リクエスト (例: TUploadReq、TExportSink、シンクオプション) に伝播され、バックエンド/エージェントが同じバッファサイズを使用するようにします。この値を増やすと、大きなシーケンシャル書き込みのスループットが向上しますが、ライターごとのメモリが増加します。減らすと、ストリームごとのメモリ使用量が減少し、小さな書き込みのレイテンシーが低下する可能性があります。hdfs_read_buffer_size_kbと並行して調整し、利用可能なメモリと同時ライターを考慮してください。 - 導入時期:v3.2.0
lake_enable_drop_tablet_cache
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: Yes
- 説明: shared-data モードで、実データが削除される前に BE/CN 上のキャッシュをクリーンアップします。
- 導入バージョン: v4.0
lake_enable_drop_tablet_cache
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: Yes
- 説明: shared-data モードで、実データが削除される前に BE/CN 上のキャッシュをクリーンアップします。
- 導入バージョン: v4.0
lake_batch_publish_max_version_num
- デフォルト:10
- タイプ:Int
- 単位:Count
- 変更可能:Yes
- 説明:レイク (クラウドネイティブ) テーブルの公開バッチを構築する際に、連続するトランザクションバージョンをいくつのグループにまとめるかの上限を設定します。この値はトランザクショングラフバッチ処理ルーチン (getReadyToPublishTxnListBatch を参照) に渡され、
lake_batch_publish_min_version_numと連携して TransactionStateBatch の候補範囲サイズを決定します。値が大きいほど、より多くのコミットをバッチ処理することで公開スループットが向上しますが、アトミック公開の範囲が広がり (可視性レイテン シーが長く、ロールバック対象が大きくなる)、バージョンが連続していない場合、実行時に制限される可能性があります。ワークロードと可視性/レイテンシー要件に応じて調整してください。 - 導入時期:v3.2.0
lake_batch_publish_min_version_num
- デフォルト:1
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:レイクテーブルの公開バッチを形成するために必要な連続するトランザクションバージョンの最小数を設定します。DatabaseTransactionMgr.getReadyToPublishTxnListBatch は、依存トランザクションを選択するためにこの値を
lake_batch_publish_max_version_numとともに transactionGraph.getTxnsWithTxnDependencyBatch に渡します。値が1の場合、単一トランザクションの公開が許可されます (バッチ処理なし)。値が>1の場合、少なくともその数の連続したバージョンを持つ単一テーブル、非レプリケーショントランザクションが利用可能である必要があります。バージョンが連続していない場合、レプリケーショントランザクションが出現した場合、またはスキーマ変更がバージョンを消費した場合、バッチ処理は中止されます。この値を増やすと、コミットをグループ化することで公開スループットが向上する可能性がありますが、十分な連続トランザクションを待機している間に公開が遅延する 可能性があります。 - 導入時期:v3.2.0
lake_enable_batch_publish_version
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:有効にすると、PublishVersionDaemon は同じ Lake (共有データ) テーブル/パーティションの準備完了トランザクションをバッチ処理し、トランザクションごとの公開を発行するのではなく、まとめてバージョンを公開します。RunMode shared-data では、デーモンは getReadyPublishTransactionsBatch() を呼び出し、publishVersionForLakeTableBatch(...) を使用してグループ化された公開操作を実行します (RPC を削減し、スループットを向上させます)。無効の場合、デーモンは publishVersionForLakeTable(...) を介してトランザクションごとの公開にフォールバックします。実装は、スイッチが切り替えられたときに重複公開を避けるために内部セットを使用して進行中の作業を調整し、
lake_publish_version_max_threadsを介したスレッドプールサイズ設定の影響を受けます。 - 導入時期:v3.2.0
lake_enable_tablet_creation_optimization
- デフォルト:false
- タイプ:boolean
- 単位:-
- 変更可能:Yes
- 説明:有効にすると、StarRocks は共有データモードのクラウドネイティブテーブルおよびマテリアライズドビューのタブレット作成を最適化し、タブレットごとに個別のメタデータではなく、物理パーティション下のすべてのタブレットに単一の共有タブレットメタデータを作成します。これにより、テーブル作成、ロールアップ、スキーマ変更ジョブ中に作成されるタブレット作成タスクとメタデータ/ファイルの数が削減されます。この最適化はクラウドネイティブテーブル/マテリアライズドビューにのみ適用され、
file_bundlingと組み合わせて使用されます (後者は同じ最適化ロジックを再利用します)。注: スキーマ変更およびロールアップジョブは、同じ名前のファイルが上書きされるのを避けるため、file_bundlingを使用するテーブルでは明示的に最適化を無効にします。注意して有効にしてください。作成されるタブレットメタデータの粒度が変更され、レプリカ作成とファイル命名の動作に影響する可能性があります。 - 導入時期:v3.3.1, v3.4.0, v3.5.0
lake_use_combined_txn_log
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:この項目が
trueに設定されている場合、システムは Lake テーブルが関連トランザクションの結合トランザクションログパスを使用することを許可します。共有データクラスターでのみ利用可能です。 - 導入時期:v3.3.7, v3.4.0, v3.5.0
lake_repair_metadata_fetch_max_version_batch_size
- デフォルト: 160
- タイプ: Long
- 単位: -
- 変更可能: はい
- 説明: 共有データクラスタで、タブレット修復時にタブレットメタデータを取得する際のバージョンスキャンの最大バッチサイズ。バッチサイズは 5 から開始し、この最大値に達するまで毎回倍増します。値を大きくすると、1 回のバッチでより多くのバージョンを取得でき、バージョン間のファイル存在キャッシュを活用して修復効率が向上します。5 未満の値が設定された場合、実行時に自動的に 5 に調整されます。
- 導入時期:-
enable_iceberg_commit_queue
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:Iceberg テーブルのコミットキューを有 効にして、同時コミット競合を回避するかどうか。Iceberg は、メタデータコミットに楽観的並行性制御 (OCC) を使用します。複数のスレッドが同じテーブルに同時にコミットすると、「Cannot commit: Base metadata location is not same as the current table metadata location」のようなエラーで競合が発生する可能性があります。有効にすると、各 Iceberg テーブルにはコミット操作用の単一スレッドエクゼキューターがあり、同じテーブルへのコミットがシリアル化され、OCC 競合が防止されます。異なるテーブルは同時にコミットでき、全体のスループットを維持します。これは信頼性を向上させるためのシステムレベルの最適化であり、デフォルトで有効にする必要があります。無効にすると、楽観的ロック競合により同時コミットが失敗する可能性があります。
- 導入時期:v4.1.0
iceberg_commit_queue_timeout_seconds
- デフォルト:300
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- 説明:Iceberg コミット操作が完了するまでの待機タイムアウト (秒単位)。コミットキュー (
enable_iceberg_commit_queue=true) を使用する場合、各コミット操作はこのタイムアウト内で完了する必要があります。コミットがこのタイムアウトよりも長くかかる場合、キャンセルされ、エラーが発生します。コミット時間に影響する要因には、コ ミットされるデータファイルの数、テーブルのメタデータサイズ、基盤となるストレージ (S3、HDFS など) のパフォーマンスが含まれます。 - 導入時期:v4.1.0
iceberg_commit_queue_max_size
- デフォルト:1000
- タイプ:Int
- 単位:Count
- 変更可能:No
- 説明:Iceberg テーブルごとの保留中のコミット操作の最大数。コミットキュー (
enable_iceberg_commit_queue=true) を使用する場合、これは単一テーブルのキューに入れられるコミット操作の数を制限します。制限に達すると、追加のコミット操作は呼び出し元のスレッドで実行されます (容量が利用可能になるまでブロックします)。この設定は FE 起動時に読み取られ、新しく作成されたテーブルエクゼキューターに適用されます。有効にするには FE の再起動が必要です。同じテーブルへの同時コミットが多いと予想される場合は、この値を増やしてください。この値が低すぎると、高並行時に呼び出し元スレッドでコミットがブロックされる可能性があります。 - 導入時期:v4.1.0
その他
agent_task_resend_wait_time_ms
- デフォルト:5000
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:FE がエージェントタスクを再送信するまでに待機する必要がある期間。エージェントタスクは、タスク作成時間と現在時刻の間のギャップがこのパラメーターの値を超えた場合にのみ再送信できます。このパラメーターは、エージェントタスクの繰り返し送信を防ぐために使用されます。
- 導入時期:-
allow_system_reserved_names
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:ユーザーが
__opと__rowで始まる名前の列を作成することを許可するかどうか。この機能を有効にするには、このパラメーターをTRUEに設定します。これらの名前形式は StarRocks の特殊な目的のために予約されており、そのような列を作成すると未定義の動作になる可能性があるため、この機能はデフォルトで無効になっています。 - 導入時期:v3.2.0