본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

FE 구성 — 공유 데이터, 데이터 레이크, 기타

원문 보기 위키 갱신

이 문서는 StarRocks FE 구성 항목 중 공유 데이터(Shared-data), 데이터 레이크(Data Lake), 기타(Other) 영역의 파라미터를 기본값, 타입, 단위, 변경 가능 여부, 도입 버전과 함께 정리한 참고 자료입니다. 파라미터 이름과 설정값, 코드 예시는 원문 그대로 유지되므로 fe.conf 작성 시 그대로 대입해 사용할 수 있습니다.

출처: 문서

본문

FE 파라미터는 동적 파라미터(dynamic)와 정적 파라미터(static)로 분류됩니다.

  • 동적 파라미터는 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 동적 파라미터 구성

FE 동적 파라미터는 ADMIN SET FRONTEND CONFIG로 구성하거나 변경할 수 있습니다.

ADMIN SET FRONTEND CONFIG ("key" = "value");

노트: ADMIN SET FRONTEND로 변경한 구성은 FE가 재시작되면 fe.conf 파일의 기본값으로 복원됩니다. 따라서 변경을 영구적으로 유지하려면 fe.conf의 구성 항목도 함께 수정하기를 권장합니다.

FE 정적 파라미터 구성

노트: FE 정적 파라미터는 구성 파일 fe.conf에서 값을 변경하고, 변경 사항이 적용되도록 FE를 재시작하는 방식으로 설정합니다.


이 문서에서는 다음 유형의 FE 구성을 소개합니다.

공유 데이터 (Shared-data)

aws_s3_access_key

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: S3 버킷에 접근할 때 사용하는 Access Key ID입니다.
  • 도입 버전: v3.0

aws_s3_endpoint

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: S3 버킷에 접근할 때 사용하는 엔드포인트입니다. 예: https://s3.us-west-2.amazonaws.com.
  • 도입 버전: v3.0

aws_s3_external_id

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: S3 버킷에 교차 계정(cross-account)으로 접근할 때 사용하는 AWS 계정의 external ID입니다.
  • 도입 버전: v3.0

aws_s3_iam_role_arn

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 데이터 파일이 저장된 S3 버킷에 권한을 가진 IAM 역할의 ARN입니다.
  • 도입 버전: v3.0

aws_s3_path

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 데이터를 저장하는 S3 경로입니다. S3 버킷 이름과 그 아래 하위 경로(있다면)로 구성됩니다. 예: testbucket/subpath.
  • 도입 버전: v3.0

aws_s3_region

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: S3 버킷이 위치한 리전입니다. 예: us-west-2.
  • 도입 버전: v3.0

aws_s3_secret_key

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: S3 버킷에 접근할 때 사용하는 Secret Access Key입니다.
  • 도입 버전: v3.0

aws_s3_use_aws_sdk_default_behavior

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 아니요
  • 설명: AWS SDK의 기본 인증 자격 증명을 사용할지 여부입니다. 유효한 값: true, false(기본값).
  • 도입 버전: v3.0

aws_s3_use_instance_profile

  • 기본값: false

  • 타입: Boolean

  • 단위: -

  • 변경 가능: 아니요

  • 설명: S3 접근 시 Instance Profile과 Assumed Role을 자격 증명 방식으로 사용할지 여부입니다. 유효한 값: true, false(기본값).

    • IAM 사용자 기반 자격 증명(Access Key와 Secret Key)으로 S3에 접근하는 경우 이 항목을 false로 지정하고 aws_s3_access_key와 aws_s3_secret_key를 지정해야 합니다.
    • Instance Profile로 S3에 접근하는 경우 이 항목을 true로 지정해야 합니다.
    • Assumed Role로 S3에 접근하는 경우 이 항목을 true로 지정하고 aws_s3_iam_role_arn을 지정해야 합니다.
    • 외부 AWS 계정을 사용하는 경우 aws_s3_external_id도 함께 지정해야 합니다.
  • 도입 버전: v3.0

azure_adls2_endpoint

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 계정의 엔드포인트입니다. 예: https://test.dfs.core.windows.net.
  • 도입 버전: v3.4.1

azure_adls2_oauth2_client_endpoint

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 요청을 인가하는 데 사용되는 Managed Identity의 OAuth 2.0 토큰 엔드포인트입니다. v3.5.19, v4.0.12, v4.1.2 이전에는 이 항목의 이름이 azure_adls2_oauth2_oauth2_client_endpoint였습니다. 예전 이름은 별칭으로 여전히 허용됩니다.
  • 도입 버전: v3.4.4

azure_adls2_oauth2_client_id

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 요청을 인가하는 데 사용되는 Managed Identity의 Client ID입니다.
  • 도입 버전: v3.4.4

azure_adls2_oauth2_tenant_id

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 요청을 인가하는 데 사용되는 Managed Identity의 Tenant ID입니다.
  • 도입 버전: v3.4.4

azure_adls2_oauth2_token_file

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 내장 ADLS2 스토리지 볼륨을 생성할 때 Workload Identity 인증에 사용되는 페더레이션 토큰 파일의 경로입니다. azure_adls2_oauth2_tenant_id와 azure_adls2_oauth2_client_id와 함께 설정하고, azure_adls2_oauth2_use_managed_identity는 false로 유지하세요. 모든 FE와 CN에서 동일한 읽기 가능한 경로에 파일을 마운트해야 합니다. 빈 문자열이면 토큰 파일 인증이 비활성화됩니다. 이 구성을 변경한 후에는 FE를 재시작하세요.

azure_adls2_oauth2_use_managed_identity

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 요청을 인가하는 데 Managed Identity를 사용할지 여부입니다.
  • 도입 버전: v3.4.4

azure_adls2_path

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 데이터를 저장하는 Azure Data Lake Storage Gen2 경로입니다. 파일 시스템 이름과 디렉터리 이름으로 구성됩니다. 예: testfilesystem/starrocks.
  • 도입 버전: v3.4.1

azure_adls2_sas_token

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 요청을 인가하는 데 사용되는 공유 액세스 서명(SAS)입니다.
  • 도입 버전: v3.4.1

azure_adls2_shared_key

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Data Lake Storage Gen2 요청을 인가하는 데 사용되는 Shared Key입니다.
  • 도입 버전: v3.4.1

azure_blob_endpoint

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Blob Storage 계정의 엔드포인트입니다. 예: https://test.blob.core.windows.net.
  • 도입 버전: v3.1

azure_blob_path

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 데이터를 저장하는 Azure Blob Storage 경로입니다. 스토리지 계정 내 컨테이너 이름과 그 컨테이너 아래 하위 경로(있다면)로 구성됩니다. 예: testcontainer/subpath.
  • 도입 버전: v3.1

azure_blob_sas_token

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Blob Storage 요청을 인가하는 데 사용되는 공유 액세스 서명(SAS)입니다.
  • 도입 버전: v3.1

azure_blob_shared_key

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Azure Blob Storage 요청을 인가하는 데 사용되는 Shared Key입니다.
  • 도입 버전: v3.1

azure_use_native_sdk

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 네이티브 SDK를 사용해 Azure Blob Storage에 접근할지 여부입니다. 네이티브 SDK를 사용하면 Managed Identity와 Service Principal 인증이 가능합니다. 이 항목을 false로 설정하면 Shared Key와 SAS Token을 이용한 인증만 허용됩니다.
  • 도입 버전: v3.4.4

s3_use_native_sdk_for_glob

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: FILES() 테이블 함수에서 S3 및 S3 호환 오브젝트 스토어(s3, s3a, s3n, oss, cosn, ks3, obs, tos)의 glob 경로를 해석할 때 네이티브 AWS S3 SDK를 사용할지 여부입니다. 이 항목을 true로 설정하면 와일드카드의 가장 긴 리터럴 접두사가 Hadoop globStatus로 부모 접두사 전체를 나열하는 대신 S3 ListObjectsV2로 푸시다운됩니다. 접두사에 객체가 많지만 그중 일부만 매칭되는 경우 이 방식이 훨씬 빠릅니다. false로 설정하면 Hadoop globStatus 경로로 되돌아갑니다.
  • 도입 버전: v4.1.4

cloud_native_hdfs_url

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: HDFS 스토리지의 URL입니다. 예: hdfs://127.0.0.1:9000/user/xxx/starrocks/.
  • 도입 버전: -

cloud_native_meta_port

  • 기본값: 6090
  • 타입: Int
  • 단위: -
  • 변경 가능: 아니요
  • 설명: FE 클라우드 네이티브 메타데이터 서버의 RPC 리슨 포트입니다.
  • 도입 버전: -

cloud_native_storage_type

  • 기본값: S3
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 사용하는 오브젝트 스토리지의 유형입니다. shared-data 모드에서 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_admin_skip_committed_txn

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: ADMIN SKIP COMMITTED TRANSACTION 구문 사용 여부입니다. false이면 해당 구문이 에러와 함께 거부됩니다. 이는 shared-data(레이크) 테이블에서 publish가 멈춘 COMMITTED 트랜잭션을 해제하기 위한 운영자 전용 비상 수단(escape hatch)이며, 멈춘 트랜잭션의 데이터 기여분은 폐기되고 파티션의 가시 버전은 "no-op publish"(이 트랜잭션의 데이터 변경을 담지 않는 새 메타데이터 파일을 작성)를 통해 계속 진행됩니다. file_bundling=true인 레이크 테이블만 지원하며, 로드와 레이크 compaction 트랜잭션 유형만 지원합니다(alter/schema-change는 아직 지원되지 않음). 운영자가 멈춘 트랜잭션을 수동으로 해제해야 할 때만 활성화하고, 실수로 사용되는 일이 없도록 이후 다시 비활성화하세요.
  • 도입 버전: -

enable_load_volume_from_conf

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 아니요
  • 설명: FE 구성 파일에 지정된 오브젝트 스토리지 관련 속성을 사용해 StarRocks가 내장 스토리지 볼륨을 생성하도록 허용할지 여부입니다. v3.4.1부터 기본값이 true에서 false로 변경되었습니다.
  • 도입 버전: v3.1.0

gcp_gcs_impersonation_service_account

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 가장(impersonation) 기반 인증으로 Google Storage에 접근할 때 가장할 Service Account입니다.
  • 도입 버전: v3.5.1

gcp_gcs_path

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 데이터를 저장하는 Google Cloud 경로입니다. Google Cloud 버킷 이름과 그 아래 하위 경로(있다면)로 구성됩니다. 예: testbucket/subpath.
  • 도입 버전: v3.5.1

gcp_gcs_service_account_email

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Service Account 생성 시 만들어지는 JSON 파일에 기재된 이메일 주소입니다. 예: user@hello.iam.gserviceaccount.com.
  • 도입 버전: v3.5.1

gcp_gcs_service_account_private_key

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Service Account 생성 시 만들어지는 JSON 파일에 담긴 Private Key입니다. 예: -----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n.
  • 도입 버전: v3.5.1

gcp_gcs_service_account_private_key_id

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Service Account 생성 시 만들어지는 JSON 파일에 담긴 Private Key ID입니다.
  • 도입 버전: v3.5.1

gcp_gcs_use_compute_engine_service_account

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 아니요
  • 설명: Compute Engine에 바인딩된 Service Account를 사용할지 여부입니다.
  • 도입 버전: v3.5.1

group_provider

  • 기본값: 비어 있음
  • 타입: String[]
  • 단위: -
  • 변경 가능: 예
  • 설명: 클러스터 전체 기본 Group Provider 목록으로, 쉼표로 구분됩니다. 네이티브로 인증된 사용자에게 적용되며, v4.2부터는 자체 group_provider 속성을 설정하지 않은 security integration에도 적용됩니다(이전 버전에서는 이 경우 Group Provider를 전혀 조회하지 않았습니다). Authenticate User Groups 문서를 참고하세요.
  • 도입 버전: v3.5

group_provider_http_connect_timeout_ms

  • 기본값: 5000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: group_file_url이 http:// 또는 https:// URL인 File Group Provider의 연결 타임아웃입니다. 양수여야 합니다. 서버가 이 시간 안에 연결을 수락하지 않으면 CREATE 또는 ALTER GROUP PROVIDER 구문이 실패하고 해당 group provider는 이전 구성을 유지합니다. 이 바운드가 없으면 응답하지 않는 서버가 해당 구문뿐 아니라 모든 FE의 저널 리플레이까지 막을 수 있습니다.
  • 도입 버전: v4.2

group_provider_http_read_timeout_ms

  • 기본값: 30000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: group_file_url이 http:// 또는 https:// URL인 File Group Provider의 읽기 타임아웃입니다. 양수여야 합니다. 연결된 서버가 fetch가 실패하기 전까지 얼마나 오류 침묵할 수 있는지를 제한합니다. 실패 동작은 group_provider_http_connect_timeout_ms를 참고하세요.
  • 도입 버전: v4.2

hdfs_file_system_expire_seconds

  • 기본값: 300
  • 타입: Int
  • 단위: 초
  • 변경 가능: 예
  • 설명: HdfsFsManager가 관리하는 사용되지 않는 캐시된 HDFS/ObjectStore FileSystem의 TTL(초)입니다. FileSystemExpirationChecker(60초마다 실행)가 이 값을 사용해 각 HdfsFs.isExpired(...)를 호출하고, 만료되면 매니저가 기반 FileSystem을 닫고 캐시에서 제거합니다. 접근자 메서드(예: HdfsFs.getDFSFileSystem, getUserName, getConfiguration)는 마지막 접근 타임스탬프를 갱신하므로 만료는 비활성 기준으로 판단됩니다. 값을 낮추면 유휴 리소스 점유는 줄지만 재오픈 오버헤드가 늘고, 값을 높이면 핸들을 오래 유지해 리소스를 더 소모할 수 있습니다.
  • 도입 버전: v3.2.0

lake_autovacuum_grace_period_minutes

  • 기본값: 30
  • 타입: Long
  • 단위: 분
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 히스토리 데이터 버전을 보존하는 시간 범위입니다. 이 범위 안의 히스토리 데이터 버전은 Compaction 이후 AutoVacuum으로 자동 정리되지 않습니다. 실행 중인 쿼리가 접근하는 데이터가 쿼리가 끝나기 전에 삭제되지 않도록 이 값을 최대 쿼리 시간보다 크게 설정해야 합니다. v3.3.0, v3.2.5, v3.1.10부터 기본값이 5에서 30으로 변경되었습니다.
  • 도입 버전: v3.1.0

lake_autovacuum_parallel_partitions

  • 기본값: 8
  • 타입: Int
  • 단위: -
  • 변경 가능: 아니요
  • 설명: shared-data 클러스터에서 동시에 AutoVacuum을 진행할 수 있는 최대 파티션 수입니다. AutoVacuum은 Compaction 이후의 가비지 컬렉션입니다.
  • 도입 버전: v3.1.0

lake_autovacuum_partition_naptime_seconds

  • 기본값: 180
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 같은 파티션에 대한 AutoVacuum 작업 사이의 최소 간격입니다.
  • 도입 버전: v3.1.0

lake_autovacuum_stale_partition_threshold

  • 기본값: 12
  • 타입: Long
  • 단위: 시간
  • 변경 가능: 예
  • 설명: 파티션이 이 시간 범위 동안 업데이트(로드, DELETE, Compaction)가 없으면 해당 파티션에 AutoVacuum을 수행하지 않습니다.
  • 도입 버전: v3.1.0

lake_compaction_allow_partial_success

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 이 항목을 true로 설정하면 하위 작업 중 하나라도 성공했을 때 shared-data 클러스터의 Compaction 작업을 성공으로 간주합니다.
  • 도입 버전: v3.5.2

lake_compaction_disable_ids

  • 기본값: ""
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 모드에서 compaction을 비활성화할 테이블 또는 파티션 목록입니다. 형식은 tableId1;partitionId2이며 세미콜론으로 구분합니다. 예: 12345;98765.
  • 도입 버전: v3.4.4

lake_compaction_history_size

  • 기본값: 20
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터의 Leader FE 노드 메모리에 보관할 최근 성공한 Compaction 작업 기록 수입니다. SHOW PROC '/compactions' 명령으로 최근 성공한 Compaction 작업 기록을 볼 수 있습니다. Compaction 히스토리는 FE 프로세스 메모리에 저장되므로 FE 프로세스를 재시작하면 사라진다는 점에 유의하세요.
  • 도입 버전: v3.1.0

lake_compaction_max_parallel_default

  • 기본값: 3
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 테이블 속성에 lake_compaction_max_parallel이 지정되지 않았을 때 태블릿당 기본 최대 병렬 compaction 하위 작업 수입니다. 0은 병렬 compaction을 비활성화한다는 뜻입니다. 이 구성은 테이블 속성 lake_compaction_max_parallel의 기본값으로 사용됩니다.

lake_compaction_max_tasks

  • 기본값: -1
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 허용되는 최대 동시 Compaction 작업 수입니다. 이 항목을 -1로 설정하면 동시 작업 수를 적응적으로 계산합니다. 이 값을 0으로 설정하면 compaction이 비활성화됩니다.
  • 도입 버전: v3.1.0

lake_compaction_score_selector_min_score

  • 기본값: 10.0
  • 타입: Double
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 Compaction 작업을 트리거하는 Compaction Score 임계값입니다. 파티션의 Compaction Score가 이 값 이상이면 시스템이 해당 파티션에 대해 Compaction을 수행합니다.
  • 도입 버전: v3.1.0

lake_compaction_score_upper_bound

  • 기본값: 2000
  • 타입: Long
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 파티션의 Compaction Score 상한입니다. 0은 상한이 없다는 뜻입니다. 이 항목은 lake_enable_ingest_slowdown이 true로 설정된 경우에만 유효합니다. 파티션의 Compaction Score가 이 상한에 도달하거나 넘으면 이후 들어오는 로드 작업이 거부됩니다. v3.3.6부터 기본값이 0에서 2000으로 변경되었습니다.
  • 도입 버전: v3.2.0

lake_compaction_interval_ms_on_success

  • 기본값: 10000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 한 파티션의 Compaction이 성공한 뒤 그 파티션의 다음 Compaction을 트리거하기까지의 간격입니다. 별칭은 lake_min_compaction_interval_ms_on_success입니다.
  • 도입 버전: v3.2.0

lake_enable_balance_tablets_between_workers

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 클라우드 네이티브 테이블의 태블릿 마이그레이션 중 Compute Node 간 태블릿 수 균형을 맞출지 여부입니다. true는 Compute Node 간 태블릿 균형 조정을 의미하고, false는 이 기능 비활성화를 의미합니다.
  • 도입 버전: v3.3.4

lake_enable_ingest_slowdown

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 Data Ingestion Slowdown을 활성화할지 여부입니다. Data Ingestion Slowdown이 활성화되면 파티션의 Compaction Score가 lake_ingest_slowdown_threshold를 초과할 때 해당 파티션의 로드 작업이 스로틀됩니다. 이 구성은 run_mode가 shared_data로 설정된 경우에만 유효합니다. v3.3.6부터 기본값이 false에서 true로 변경되었습니다.
  • 도입 버전: v3.2.0

lake_ingest_slowdown_threshold

  • 기본값: 100
  • 타입: Long
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 Data Ingestion Slowdown을 트리거하는 Compaction Score 임계값입니다. 이 구성은 lake_enable_ingest_slowdown이 true로 설정된 경우에만 유효합니다.
  • 도입 버전: v3.2.0

lake_publish_version_max_threads

  • 기본값: 512
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 Version Publish 작업에 사용할 최대 스레드 수입니다.
  • 도입 버전: v3.2.0

slow_publish_partition_log_threshold_ms

  • 기본값: 3000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: PublishVersionDaemon이 느린 파티션 publish의 단계별 분해(executor_queue + db_lock_wait + fe_prep + rpc)를 WARN 수준으로 기록하는 임계값입니다. 운영 중인 클러스터에서 publish 지연을 조사할 때는 이 값을 낮춰 1초 미만의 지터를 포착하고, 느리지만 수용 가능한 routine publish를 로그에서 숨기려면 값을 올리세요. 기본값에서는 동작 변화가 없습니다.
  • 도입 버전: v4.2

meta_sync_force_delete_shard_meta

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 원격 스토리지 파일 정리를 건너뛰고 shared-data 클러스터의 메타데이터를 직접 삭제할지 여부입니다. 정리할 shard 수가 지나치게 많아 FE JVM에 극심한 메모리 압박이 있을 때만 true로 설정하는 것을 권장합니다. 이 기능을 활성화한 후에는 shard나 태블릿에 속한 데이터 파일이 자동으로 정리되지 않는다는 점에 유의하세요.
  • 도입 버전: v3.2.10, v3.3.3

run_mode

  • 기본값: shared_nothing

  • 타입: String

  • 단위: -

  • 변경 가능: 아니요

  • 설명: StarRocks 클러스터의 실행 모드입니다. 유효한 값: shared_data, shared_nothing(기본값).

    • shared_data는 StarRocks를 shared-data 모드로 실행한다는 뜻입니다.
    • shared_nothing은 StarRocks를 shared-nothing 모드로 실행한다는 뜻입니다.

    주의

    • 하나의 StarRocks 클러스터에 shared_data와 shared_nothing 모드를 동시에 적용할 수 없습니다. 혼합 배포는 지원되지 않습니다.
    • 클러스터 배포 후에는 run_mode를 변경하지 마세요. 그렇지 않으면 클러스터 재시작에 실패합니다. shared-nothing 클러스터를 shared-data 클러스터로 바꾸거나 그 반대로 바꾸는 전환은 지원되지 않습니다.
  • 도입 버전: -

shard_group_clean_threshold_sec

  • 기본값: 3600
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 FE가 사용하지 않는 태블릿·shard 그룹을 정리하기 전에 기다리는 시간입니다. 이 임계값 이내에 생성된 태블릿과 shard 그룹은 정리되지 않습니다.
  • 도입 버전: -

star_mgr_meta_sync_interval_sec

  • 기본값: 600
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 FE가 StarMgr와 주기적으로 메타데이터를 동기화하는 간격입니다.
  • 도입 버전: -

starmgr_grpc_server_max_worker_threads

  • 기본값: 1024
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: FE starmgr 모듈의 grpc 서버가 사용하는 최대 워커 스레드 수입니다.
  • 도입 버전: v4.0.0, v3.5.8

starmgr_grpc_timeout_seconds

  • 기본값: 5
  • 타입: Int
  • 단위: 초
  • 변경 가능: 예
  • 설명:
  • 도입 버전: -

lake_scheduler_enable_colocate_group_sample

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 태블릿 스케줄러가 그룹의 모든 태블릿을 훑는 대신 샘플링으로 대규모 colocate 그룹의 레플리카 분포를 추정할지 여부입니다. colocate 그룹에 속한 태블릿이 스케줄링되면 스케줄러는 새 레플리카를 어디에 둘지 정하기 위해 그룹 전체에 대해 Compute Node별 레플리카 히스토그램을 만듭니다. 수만 개의 태블릿을 가진 그룹에서는 이 전체 스캔이 스케줄링 비용을 지배하는데, 건강한 colocate 그룹은 균등하게 배치되고 모든 태블릿이 같은 신호를 보고하므로 전체 스캔은 낭비입니다. 이 항목을 true로 설정하면 스케줄러는 lake_scheduler_colocate_group_sample_threshold보다 큰 그룹에서 lake_scheduler_colocate_group_sample_size개의 무작위 태블릿을 뽑아 Compute Node별 샘플 개수를 전체 그룹 크기에 맞춰 확장합니다. 완전히 배치된 건강한 colocate 그룹은 모든 태블릿이 같은 Compute Node 위에 있으므로 샘플이 실제 분포를 정확히 재현하고, 재조정 중인 그룹은 유한한 오차를 만들지만 그 결과는 최악의 경우에도 유효하지 않은 배치가 아니라 차선의 배치(sub-optimal)이며, 백그라운드 태블릿 밸런서가 이후 이를 조정합니다. 샘플링은 colocate 그룹에만 적용됩니다. 항상 모든 태블릿을 훑으려면 이 항목을 false로 설정하세요.
  • 도입 버전: v4.1.5

lake_scheduler_colocate_group_sample_threshold

  • 기본값: 256
  • 타입: Int
  • 단위: 개수
  • 변경 가능: 예
  • 설명: 스케줄러가 샘플링을 적용하기 위해 colocate 그룹이 넘어야 하는 최소 태블릿 수입니다. 이 크기 이하의 그룹은 항상 전체 스캔을 수행합니다. 전체 스캔이 이미 충분히 저렴하고 샘플링은 오차만 더할 뿐이기 때문입니다. 이 항목은 lake_scheduler_enable_colocate_group_sample이 true로 설정된 경우에만 유효합니다.
  • 도입 버전: v4.1.5

lake_scheduler_colocate_group_sample_size

  • 기본값: 128
  • 타입: Int
  • 단위: 개수
  • 변경 가능: 예
  • 설명: colocate 그룹이 lake_scheduler_colocate_group_sample_threshold를 초과할 때 샘플링할 태블릿 수입니다. 샘플이 클수록 치우친(재조정 중인) 그룹에 대한 추정 오차는 줄지만 스케줄링 결정당 비용이 커지므로, 스케줄링 지연과 배치 정밀도 사이의 균형을 이룹니다. 이 값은 lake_scheduler_colocate_group_sample_threshold보다 충분히 작아야 하며, 그렇지 않으면 샘플링이 전체 스캔 대비 절약 효과가 거의 없습니다. 이 항목은 lake_scheduler_enable_colocate_group_sample이 true로 설정된 경우에만 유효합니다.
  • 도입 버전: v4.1.5

lake_scheduler_colocate_group_sample_empty_fallback_percent

  • 기본값: 40
  • 타입: Int
  • 단위: 퍼센트
  • 변경 가능: 예
  • 설명: colocate 그룹 샘플링의 밀도 가드로, 허용되는 빈 추출(empty draw) 비율의 최댓값입니다. 샘플링된 태블릿이 후보 Compute Node 위에 레플리카를 갖고 있지 않으면(아직 배치되지 않았거나 그 Compute Node 위에 없으면) 빈 추출로 간주합니다. 샘플에서 이 비율을 초과하는 부분이 빈 추출이면 그룹의 배치가 너무 성겨(sparse) 샘플이 실제 분포를 대표할 수 없다는 뜻이며, 이는 그룹이 아직 비어 있는 상태에서 벌크 필링 중일 때 발생합니다. 이 경우 스케줄러는 샘플을 폐기하고 전체 스캔으로 폴백합니다. 달리 말하면 샘플링된 태블릿의 최소 (100 - 이 값)%가 후보 Compute Node 위에 배치되어 있을 때만 샘플을 신뢰하므로, 값이 낮을수록 보수적이며 샘플링 전에 더 촘촘한 배치를 요구합니다. 안정적으로 완전 배치된 그룹은 빈 추출이 거의 0%에 가깝고 이 값과 무관하게 항상 빠른 샘플 경로를 택하므로, 이 항목은 벌크 필링 과도기만 다룹니다. 폴백을 절대 하지 않으려면 100으로 설정하세요. 이 항목은 lake_scheduler_enable_colocate_group_sample이 true로 설정된 경우에만 유효합니다.
  • 도입 버전: v4.1.5

데이터 레이크 (Data Lake)

files_enable_insert_push_down_column_type

  • 기본값: true
  • 별칭: files_enable_insert_push_down_schema
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 활성화하면 StarRocks가 INSERT INTO target_table SELECT ... FROM files() 작업에서 대상 테이블의 컬럼 타입을 files() 테이블 함수로 푸시다운합니다. 파일에서 이미 추론된 컬럼의 타입만 재작성되며 컬럼을 추가하거나 제거하지는 않습니다. 복합 타입은 건너뜁니다. 이를 통해 파일 기반 타입 추론의 부정확함으로 인한 타입 불일치 오류를 줄일 수 있습니다. 컬럼 이름과 타입을 포함한 전체 스키마 푸시다운은 INSERT 속성 enable_push_down_schema를 사용하세요.
  • 도입 버전: v3.4.0, v3.5.0

hdfs_read_buffer_size_kb

  • 기본값: 8192
  • 타입: Int
  • 단위: 킬로바이트
  • 변경 가능: 예
  • 설명: HDFS 읽기 버퍼 크기입니다(킬로바이트). StarRocks는 이 값을 바이트로 변환(<< 10)해 HdfsFsManager에서 HDFS 읽기 버퍼를 초기화하고, 브로커 접근을 사용하지 않을 때 BE 작업에 전달되는 thrift 필드 hdfs_read_buffer_size_kb(예: TBrokerScanRangeParams, TDownloadReq)를 채우는 데 사용합니다. hdfs_read_buffer_size_kb를 늘리면 순차 읽기 처리량이 개선되고 시스템 콜 오버헤드가 줄지만 스트림당 메모리 사용량이 늘어납니다. 줄이면 메모리 사용량은 줄지만 IO 효율이 떨어질 수 있습니다. 튜닝할 때는 워크로드(작은 스트림이 많은지, 큰 순차 읽기가 몇 개인지)를 고려하세요.
  • 도입 버전: v3.2.0

hdfs_write_buffer_size_kb

  • 기본값: 1024
  • 타입: Int
  • 단위: 킬로바이트
  • 변경 가능: 예
  • 설명: 브로커를 사용하지 않고 HDFS나 오브젝트 스토어에 직접 쓸 때 사용하는 HDFS 쓰기 버퍼 크기(KB)입니다. FE가 이 값을 바이트로 변환(<< 10)해 HdfsFsManager의 로컬 쓰기 버퍼를 초기화하고, 이 값은 Thrift 요청(예: TUploadReq, TExportSink, sink 옵션)으로 전달되어 백엔드/에이전트가 같은 버퍼 크기를 사용합니다. 이 값을 늘리면 대규모 순차 쓰기의 처리량이 개선되지만 작성자당 메모리 사용량이 늘어나고, 줄이면 스트림당 메모리 사용량이 줄어들고 작은 쓰기의 지연이 낮아질 수 있습니다. hdfs_read_buffer_size_kb와 함께 조정하고 가용 메모리와 동시 작성자 수를 고려하세요.
  • 도입 버전: v3.2.0

lake_batch_publish_max_version_num

  • 기본값: 10
  • 타입: Int
  • 단위: 개수
  • 변경 가능: 예
  • 설명: 레이크(클라우드 네이티브) 테이블의 publish 배치를 구성할 때 몇 개의 연속 트랜잭션 버전까지 묶을 수 있는지 상한입니다. 이 값은 트랜잭션 그래프 배칭 루틴(getReadyToPublishTxnListBatch 참조)에 전달되며 lake_batch_publish_min_version_num과 함께 TransactionStateBatch의 후보 범위 크기를 결정합니다. 값을 늘리면 더 많은 커밋을 배치로 묶어 publish 처리량을 높일 수 있지만 원자적 publish의 범위가 넓어지고(가시화 지연 증가, 롤백 범위 확대) 버전이 연속적이지 않을 때는 런타임에 제한될 수 있습니다. 워크로드와 가시성/지연 요구 사항에 맞춰 조정하세요.
  • 도입 버전: v3.2.0

lake_batch_publish_min_version_num

  • 기본값: 1
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 레이크 테이블의 publish 배치를 구성하는 데 필요한 최소 연속 트랜잭션 버전 수입니다. DatabaseTransactionMgr.getReadyToPublishTxnListBatch는 이 값을 lake_batch_publish_max_version_num과 함께 transactionGraph.getTxnsWithTxnDependencyBatch에 전달해 의존 트랜잭션을 고릅니다. 값이 1이면 단일 트랜잭션 publish(배칭 없음)가 허용됩니다. 1보다 큰 값은 연속된 버전을 가진 단일 테이블, 비복제 트랜잭션이 최소 그만큼 준비되어 있어야 하며, 버전이 연속적이지 않거나 복제 트랜잭션이 나타나거나 schema change가 버전을 소비하면 배칭이 중단됩니다. 이 값을 늘리면 커밋을 묶어 publish 처리량을 높일 수 있지만 충분한 연속 트랜잭션을 기다리며 publish가 지연될 수 있습니다.
  • 도입 버전: v3.2.0

lake_enable_batch_publish_version

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 활성화하면 PublishVersionDaemon이 같은 Lake(shared-data) 테이블/파티션의 준비된 트랜잭션을 묶어 한 번에 버전을 발행하고, 트랜잭션별 발행을 하지 않습니다. shared-data RunMode에서 데몬은 getReadyPublishTransactionsBatch()를 호출하고 publishVersionForLakeTableBatch(...)로 묶은 publish 작업을 수행합니다(RPC를 줄이고 처리량을 높임). 비활성화하면 데몬은 publishVersionForLakeTable(...)로 트랜잭션별 발행으로 폴백합니다. 구현은 내부 집합으로 진행 중인 작업을 조율해 스위치를 토글할 때 중복 publish를 피하며, lake_publish_version_max_threads의 스레드 풀 크기에 영향을 받습니다.
  • 도입 버전: v3.2.0

lake_enable_batch_publish_multi_table

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 배치 publish가 연속된 멀티 테이블 트랜잭션을 하나의 publish 작업으로 묶도록 허용할지 여부입니다. 같은 테이블 그룹에 걸친 작은 원자적 트랜잭션을 높은 빈도로 커밋하는 워크로드(예: 여러 테이블로 팬아웃하는 CDC 파이프라인)에 유용합니다. 이런 워크로드에서는 트랜잭션별 발행이 공유 테이블 의존성 체인에서 직렬화되어 커밋부터 가시화까지의 지연이 커집니다. lake_enable_batch_publish_version이 true일 때만 유효합니다. 모든 FE 노드가 이 기능을 지원하는 버전으로 업그레이드된 뒤에만 이 파라미터를 활성화하세요. 구버전 FE follower가 멀티 테이블 트랜잭션 배치를 리플레이하면 첫 번째 테이블의 가시 로그만 적용됩니다.
  • 도입 버전: v4.1.5

lake_enable_tablet_creation_optimization

  • 기본값: false
  • 타입: boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 활성화하면 shared-data 모드의 클라우드 네이티브 테이블과 머터리얼라이즈드 뷰에 대해 StarRocks가 태블릿 생성을 최적화합니다. 태블릿마다 별도의 메타데이터를 만드는 대신 물리 파티션 아래 모든 태블릿이 단일 공유 태블릿 메타데이터를 사용합니다. 이를 통해 테이블 생성, rollup, schema-change 작업에서 발생하는 태블릿 생성 작업 수와 메타데이터/파일 수를 줄입니다. 이 최적화는 클라우드 네이티브 테이블/머터리얼라이즈드 뷰에만 적용되며 file_bundling과 결합됩니다(후자가 같은 최적화 로직을 재사용). 참고: schema-change와 rollup 작업은 동일한 이름의 파일을 덮어쓰지 않도록 file_bundling을 사용하는 테이블에 대해 이 최적화를 명시적으로 비활성화합니다. 생성되는 태블릿 메타데이터의 세분도가 달라지고 레플리카 생성 및 파일 이름 지정 동작에 영향을 줄 수 있으므로 신중하게 활성화하세요.
  • 도입 버전: v3.3.1, v3.4.0, v3.5.0

lake_create_tablet_max_retries

  • 기본값: 1
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 모드에서 create-tablet 작업이 실패했을 때의 최대 재시도 횟수입니다. 테이블 생성 중 CN에 접근할 수 없거나 CN이 다운되면 실패한 작업은 살아 있는 다른 CN에서 재시도됩니다. 전송(send) 단계 실패(RPC 오류, 노드 다운)만 재시도되며 CN이 보고한 오류와 타임아웃은 재시도되지 않습니다. 0으로 설정하면 재시도가 비활성화됩니다.
  • 도입 버전: v4.1

lake_use_combined_txn_log

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 이 항목을 true로 설정하면 관련 트랜잭션에 대해 레이크 테이블이 결합된(combined) 트랜잭션 로그 경로를 사용하도록 허용합니다. shared-data 클러스터에서만 사용할 수 있습니다.
  • 도입 버전: v3.3.7, v3.4.0, v3.5.0

lake_repair_metadata_fetch_max_version_batch_size

  • 기본값: 160
  • 타입: Long
  • 단위: -
  • 변경 가능: 예
  • 설명: 레이크 태블릿 복구 중 태블릿 메타데이터를 가져올 때 버전 스캔의 최대 배치 크기입니다. 배치 크기는 5에서 시작해 지수적으로(반복마다 두 배씩) 이 최댓값까지 커집니다. 값이 클수록 한 번의 배치로 더 많은 버전을 가져올 수 있고, 버전 간 파일 존재 캐싱을 활용해 복구 효율을 높일 수 있습니다. 5보다 작은 값으로 설정하면 런타임에 5로 클램프됩니다.
  • 도입 버전: v3.5.16, v4.0.9

lake_enable_drop_tablet_cache

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 모드에서 기반이 되는 데이터가 실제로 삭제되기 전에 BE/CN의 캐시를 정리합니다.
  • 도입 버전: v4.0

enable_iceberg_commit_queue

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 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
  • 단위: 초
  • 변경 가능: 예
  • 설명: Iceberg 커밋 작업이 완료되기를 기다리는 타임아웃(초)입니다. 커밋 큐(enable_iceberg_commit_queue=true)를 사용할 때 각 커밋 작업은 이 타임아웃 안에 완료되어야 합니다. 커밋이 이 타임아웃보다 오래 걸리면 취소되고 오류가 발생합니다. 커밋 시간에 영향을 주는 요인으로는 커밋 중인 데이터 파일 수, 테이블 메타데이터 크기, 기반 스토리지(S3, HDFS 등)의 성능이 있습니다.
  • 도입 버전: v4.1.0

iceberg_commit_queue_max_size

  • 기본값: 1000
  • 타입: Int
  • 단위: 개수
  • 변경 가능: 아니요
  • 설명: Iceberg 테이블별 대기 중 커밋 작업의 최대 개수입니다. 커밋 큐(enable_iceberg_commit_queue=true)를 사용할 때 단일 테이블에 대해 큐에 쌓을 수 있는 커밋 작업 수를 제한합니다. 한도에 도달하면 추가 커밋 작업은 호출자 스레드에서 실행됩니다(용량이 생길 때까지 블로킹). 이 구성은 FE 시작 시 읽히며 새로 생성되는 테이블 실행기에 적용됩니다. 효과를 보려면 FE 재시작이 필요합니다. 같은 테이블에 많은 동시 커밋이 예상되면 이 값을 늘리세요. 값이 너무 작으면 고동시 상황에서 커밋이 호출자 스레드에서 블로킹될 수 있습니다.
  • 도입 버전: v4.1.0

iceberg_remove_orphan_files_min_retention_seconds

  • 기본값: 86400
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: remove_orphan_files 프로시저의 older_than 인자는 현재 시간 - 이 값보다 이전이어야 합니다. 더 늦은 older_than은 거부됩니다. 그만큼 최근의 파일을 삭제하면 동시 쓰기가 아직 커밋하지 않은 데이터가 사라져 테이블을 읽을 수 없게 될 수 있기 때문입니다. 명시적인 older_than만 이 바운드가 적용되며, 생략하면 프로시저 자체의 7일 기본값이 그대로 사용됩니다. 프로시저가 실행되는 동안 테이블에 쓰기가 없는 경우에만 이 값을 낮추세요.
  • 도입 버전: v4.1.5
lake_balance_tablets_threshold
  • 기본값: 0.15
  • 타입: Double
  • 단위: -
  • 변경 가능: 예
  • 설명: shared-data 클러스터에서 워커 간 태블릿 균형을 판단할 때 시스템이 사용하는 임계값입니다. 불균형 지수는 f = (MAX(tablets) - MIN(tablets)) / AVERAGE(tablets)로 계산됩니다. 지수가 lake_balance_tablets_threshold보다 크면 태블릿 밸런싱이 트리거됩니다. 이 항목은 lake_enable_balance_tablets_between_workers가 true로 설정된 경우에만 유효합니다.
  • 도입 버전: v3.3.4

기타 (Other)

agent_task_resend_wait_time_ms

  • 기본값: 5000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: FE가 에이전트 작업을 재전송하기 전에 기다려야 하는 시간입니다. 에이전트 작업은 작업 생성 시각과 현재 시각의 차이가 이 파라미터 값을 초과할 때만 재전송될 수 있습니다. 이 파라미터는 에이전트 작업이 반복적으로 전송되는 것을 방지하는 데 사용됩니다.
  • 도입 버전: -

allow_system_reserved_names

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: __op와 __row로 시작하는 이름의 컬럼을 사용자가 만들도록 허용할지 여부입니다. 이 기능을 켜려면 이 파라미터를 TRUE로 설정하세요. 이 이름 형식은 StarRocks에서 특수한 목적으로 예약되어 있어 이런 컬럼을 만들면 정의되지 않은 동작(undefined behavior)이 발생할 수 있습니다. 그래서 이 기능은 기본적으로 비활성화되어 있습니다.
  • 도입 버전: v3.2.0

auth_token

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: FE가 속한 StarRocks 클러스터 내부의 신원 인증에 사용되는 토큰입니다. 이 파라미터를 지정하지 않으면 StarRocks가 클러스터의 leader FE가 처음 시작될 때 클러스터를 위한 무작위 토큰을 생성합니다.
  • 도입 버전: -

authentication_failure_cache_capacity

  • 기본값: 1024
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: authentication_failure_cache_ttl_second가 기억할 수 있는 거부된 자격 증명의 최대 개수입니다. 클라이언트(또는 사용자 이름을 순환하는 공격자)가 점유할 수 있는 메모리를 제한하며, 가장 오래된 항목부터 제거(evict)됩니다.
  • 도입 버전: v4.2, v4.1.6

authentication_failure_cache_ttl_second

  • 기본값: 10
  • 타입: Int
  • 단위: 초
  • 변경 가능: 예
  • 설명: security integration 체인에서 거부된 자격 증명이 기억되는 시간입니다. 같은 잘못된 비밀번호를 재시도하는 클라이언트가 시도마다 LDAP bind를 하나씩 만들어 Active Directory의 badPwdCount를 늘려 계정 잠금으로 이어지는 상황을 막습니다. 캐시 키에 자격 증명의 해시가 포함되므로 비밀번호를 바로잡으면 TTL이 끝나기를 기다릴 필요 없이 즉시 반영되고, 디렉터리에 접근할 수 없어 발생한 실패는 절대 캐시되지 않습니다. 0으로 설정하면 비활성화됩니다.
  • 도입 버전: v4.2, v4.1.6

authentication_ldap_case_insensitive

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: LDAP/AD 사용자 이름 매칭을 StarRocks 쪽에서 대소문자를 무시하도록 완화할지 여부입니다. 이 항목을 true로 설정하면 AUTHENTICATION_LDAP_SIMPLE로 만든 사용자와 이름이 대소문자만 다른 로그인도 해당 사용자로 해석되어 그 사용자의 per-user DN과 부여된 역할이 적용되고, LDAP security integration으로 인증된 로그인은 클라이언트가 입력한 이름이 아니라 디렉터리가 보유한 이름으로 세션 신원을 갖습니다. 로그인이 해석될 수 있는 저장 사용자의 범위가 넓어질 뿐 아니라 current_user()와 SHOW PROCESSLIST가 보고하는 값도 달라지므로 기본적으로 비활성화되어 있습니다. 네이티브 비밀번호, JWT, OAuth2로 인증된 사용자는 영향을 받지 않습니다. AUTHENTICATION_LDAP_SIMPLE로 만든 두 사용자의 이름이 대소문자만 다르면 둘 다 매칭되는 로그인은 어느 쪽으로도 해석되지 않고 거부됩니다. 그룹 이름 매칭은 이 항목과 무관하게 대소문자를 구분하지 않습니다.
  • 도입 버전: v4.2.0

authentication_ldap_simple_bind_base_dn

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: base DN입니다. LDAP 서버가 사용자 인증 정보를 검색하기 시작하는 지점입니다.
  • 도입 버전: -

authentication_ldap_simple_bind_dn_pattern

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: 직접 바인드(direct bind) 인증용 DN 패턴입니다. 사용자 이름 자리에는 ${USER} 플레이스홀더를 사용하세요. 패턴은 유효한 LDAP Distinguished Name(DN)을 만들어야 하며 ${USER}@domain 같은 UPN 스타일 패턴은 지원되지 않습니다. 예: uid=${USER},ou=People,dc=example,dc=com. 여러 패턴을 세미콜론으로 구분할 수 있으며 시스템은 하나가 성공할 때까지 순서대로 각 패턴을 시도합니다. 설정하면 검색 단계가 생략되고 시스템이 만든 DN으로 직접 바인드합니다.

authentication_ldap_simple_bind_root_dn

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: 사용자 인증 정보를 검색하는 데 사용되는 관리자 DN입니다.
  • 도입 버전: -

authentication_ldap_simple_bind_root_pwd

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: 사용자 인증 정보를 검색하는 데 사용되는 관리자 비밀번호입니다.
  • 도입 버전: -

authentication_ldap_simple_conn_read_timeout_ms

  • 기본값: 30000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: authentication_ldap_simple이 수행하는 LDAP bind의 소켓 읽기 타임아웃입니다. authentication_ldap_simple_conn_timeout_ms를 참고하세요.
  • 도입 버전: v4.2, v4.1.6

authentication_ldap_simple_conn_timeout_ms

  • 기본값: 30000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: authentication_ldap_simple이 수행하는 LDAP bind의 TCP 연결 타임아웃입니다. 이 값이 없으면 bind가 운영체제의 TCP 타임아웃으로 폴백되어, 디렉터리에 접근할 수 없을 때 요청을 처리하던 스레드(HTTP 워커나 Thrift 핸들러 — 이제 security integration이 이 채널들도 인증함)가 몇 분을 붙잡고 있을 수 있습니다. 인증이 빨리 실패해야 한다면 값을 낮추세요.
  • 도입 버전: v4.2, v4.1.6

authentication_ldap_simple_group_source

  • 기본값: group_provider
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: LDAP으로 인증된 사용자의 그룹이 어디서 오는지에 대한 클러스터 전체 기본값입니다. 유효한 값: group_provider(구성된 group provider만 사용, 이전 버전의 동작), memberof(사용자 자신의 LDAP 엔트리가 가진 그룹 멤버십 속성만 사용), both(둘의 합집합). 같은 이름의 security integration 속성이 이 값을 덮어씁니다. 잘못된 값은 group_provider로 처리되고 ERROR 수준으로 기록되므로 오타가 모든 LDAP 사용자를 잠그는 일은 없습니다.
  • 도입 버전: v4.2

authentication_ldap_simple_memberof_attr

  • 기본값: memberOf
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: authentication_ldap_simple_group_source가 memberof 또는 both일 때 사용되는, 사용자 엔트리에서 그룹 멤버십을 담는 속성 이름의 클러스터 전체 기본값입니다. memberOf는 Active Directory와 memberof 오버레이가 설치된 OpenLDAP에 맞고, Oracle Directory Server와 389 Directory Server는 isMemberOf를 사용합니다. 같은 이름의 security integration 속성이 이 값을 덮어씁니다.
  • 도입 버전: v4.2

authentication_ldap_simple_server_host

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: LDAP 서버가 실행 중인 호스트입니다.
  • 도입 버전: -

authentication_ldap_simple_server_port

  • 기본값: 389
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: LDAP 서버의 포트입니다.
  • 도입 버전: -

authentication_ldap_simple_user_search_attr

  • 기본값: uid
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: 사용자 엔트리에서 로그인 이름을 담는 속성의 이름으로, search-and-bind 모드의 검색 필터를 만드는 데 사용됩니다. uid는 OpenLDAP에 적합합니다. Active Directory에서는 sAMAccountName으로 설정하세요. AD 엔트리의 RDN은 표시 이름이고 관리자가 채우지 않는 한 uid가 비어 있기 때문입니다. 이 선택은 authentication_ldap_simple_bind_dn_pattern도 배제합니다. Security Integration 문서의 같은 이름 속성을 참고하세요.
  • 도입 버전: -

backup_job_default_timeout_ms

  • 기본값: 86400 * 1000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: 백업 작업의 타임아웃입니다. 이 값을 초과하면 백업 작업이 실패합니다.
  • 도입 버전: -

enable_collect_tablet_num_in_show_proc_backend_disk_path

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: SHOW PROC /BACKENDS/{id} 명령에서 디스크별 태블릿 수 수집을 활성화할지 여부입니다
  • 도입 버전: v4.0.1, v3.5.8

enable_colocate_restore

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: Colocate 테이블에 대한 Backup and Restore를 활성화할지 여부입니다. true는 Colocate 테이블의 Backup and Restore를 활성화한다는 뜻이고 false는 비활성화한다는 뜻입니다.
  • 도입 버전: v3.2.10, v3.3.3

enable_external_catalog_information_schema_tables_access_full_metadata

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 외부 카탈로그(Hive, Iceberg, JDBC 등)의 테이블을 해석할 때 information_schema.tables가 외부 메타데이터 서비스에 접근하도록 허용할지 여부입니다. false(기본값)이면 외부 테이블의 TABLE_COMMENT 같은 컬럼이 비어 있을 수 있지만 쿼리가 빠르고 원격 호출을 피합니다. true이면 FE가 해당 외부 메타데이터 서비스에 접촉해 TABLE_COMMENT 같은 필드를 채울 수 있지만 테이블별 추가 지연과 원격 호출이 발생합니다.
  • 도입 버전: -

enable_materialized_view_concurrent_prepare

  • 기본값: true
  • 타입: Boolean
  • 단위:
  • 변경 가능: 예
  • 설명: 성능 향상을 위해 머터리얼라이즈드 뷰를 동시에 prepare할지 여부입니다.
  • 도입 버전: v3.4.4

enable_metric_calculator

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 메트릭을 주기적으로 수집하는 기능을 활성화할지 여부입니다. 유효한 값: TRUE, FALSE. TRUE는 이 기능을 활성화하고 FALSE는 비활성화합니다.
  • 도입 버전: -

enable_table_metrics_collect

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: FE에서 테이블 수준 메트릭을 내보낼지 여부입니다. 비활성화하면 FE가 테이블 메트릭(테이블 스캔/로드 카운터, 테이블 크기 메트릭 등) 내보내기를 건너뛰지만 카운터는 여전히 메모리에 기록합니다.
  • 도입 버전: -

enable_mv_post_image_reload_cache

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: FE가 이미지(image)를 로드한 뒤 reload 플래그 검사를 수행할지 여부입니다. 베이스 머터리얼라이즈드 뷰에 대해 검사가 수행되었다면 그와 관련된 다른 머터리얼라이즈드 뷰에는 필요하지 않습니다.
  • 도입 버전: v3.5.0

enable_mv_query_context_cache

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 쿼리 리라이트 성능을 높이기 위해 쿼리 수준 머터리얼라이즈드 뷰 리라이트 캐시를 활성화할지 여부입니다.
  • 도입 버전: v3.3

enable_mv_refresh_collect_profile

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 모든 머터리얼라이즈드 뷰에 대해 기본적으로 리프레시 중 프로파일 수집을 활성화할지 여부입니다.
  • 도입 버전: v3.3.0

enable_mv_refresh_extra_prefix_logging

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 디버깅에 도움이 되도록 로그에 머터리얼라이즈드 뷰 이름 접두사를 붙일지 여부입니다.
  • 도입 버전: v3.4.0

enable_mv_refresh_query_rewrite

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 리프레시 중 쿼리 리라이트를 활성화해, 쿼리가 베이스 테이블 대신 리라이트된 mv를 직접 사용하도록 해 쿼리 성능을 높일지 여부입니다.
  • 도입 버전: v3.3

enable_trace_historical_node

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 시스템이 히스토리 노드를 추적하도록 허용할지 여부입니다. 이 항목을 true로 설정하면 Cache Sharing 기능이 활성화되고 탄력적 스케일링 중 시스템이 적절한 캐시 노드를 선택할 수 있습니다.
  • 도입 버전: v3.5.1

es_state_sync_interval_second

  • 기본값: 10
  • 타입: Long
  • 단위: 초
  • 변경 가능: 아니요
  • 설명: FE가 Elasticsearch 인덱스를 가져와 StarRocks 외부 테이블의 메타데이터를 동기화하는 시간 간격입니다.
  • 도입 버전: -

hive_meta_cache_refresh_interval_s

  • 기본값: 60
  • 타입: Long
  • 단위: 초
  • 변경 가능: 아니요
  • 설명: 캐시된 Hive 외부 테이블 메타데이터가 갱신되는 시간 간격입니다.
  • 도입 버전: -

hive_meta_store_timeout_s

  • 기본값: 10
  • 타입: Long
  • 단위: 초
  • 변경 가능: 아니요
  • 설명: Hive metastore 연결이 타임아웃되기까지의 시간입니다.
  • 도입 버전: -

jdbc_connection_idle_timeout_ms

  • 기본값: 600000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 아니요
  • 설명: JDBC 카탈로그에 접근하는 연결이 타임아웃되기까지의 최대 시간입니다. 타임아웃된 연결은 유휴(idle)로 간주됩니다.
  • 도입 버전: -

jdbc_connection_timeout_ms

  • 기본값: 10000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 아니요
  • 설명: HikariCP 커넥션 풀이 연결을 획득하기까지의 타임아웃(밀리초)입니다. 이 시간 안에 풀에서 연결을 얻지 못하면 작업이 실패합니다.
  • 도입 버전: v3.5.13

jdbc_query_timeout_ms

  • 기본값: 30000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: JDBC 구문 쿼리 실행의 타임아웃(밀리초)입니다. 이 타임아웃은 JDBC 카탈로그를 통해 실행되는 모든 SQL 쿼리(예: 파티션 메타데이터 쿼리)에 적용됩니다. 값은 JDBC 드라이버에 전달될 때 초로 변환됩니다.
  • 도입 버전: v3.5.13

jdbc_network_timeout_ms

  • 기본값: 30000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: JDBC 네트워크 작업(소켓 읽기)의 타임아웃(밀리초)입니다. 이 타임아웃은 데이터베이스 메타데이터 호출(getSchemas(), getTables(), getColumns() 등)에 적용되어 외부 데이터베이스가 응답하지 않을 때 무한 블로킹을 방지합니다.
  • 도입 버전: v3.5.13

jdbc_connection_max_lifetime_ms

  • 기본값: 300000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 아니요
  • 설명: JDBC 커넥션 풀에서 연결의 최대 수명입니다. 오래된(stale) 연결을 막기 위해 이 타임아웃 전에 연결이 재활용됩니다. 외부 데이터베이스의 연결 타임아웃보다 짧아야 합니다. 허용되는 최솟값은 30000(30초)입니다.
  • 도입 버전: -

jdbc_connection_keepalive_time_ms

  • 기본값: 30000
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 아니요
  • 설명: 유휴 JDBC 연결의 keepalive 간격입니다. 유휴 연결이 이 간격으로 검사되어 오래된 연결을 선제적으로 감지합니다. 0으로 설정하면 keepalive 검사가 비활성화됩니다. 활성화할 때는 30000 이상이고 jdbc_connection_max_lifetime_ms보다 작아야 합니다. 유효하지 않은 활성 값은 조용히 비활성화됩니다(0으로 재설정).
  • 도입 버전: -

jdbc_connection_leak_detection_threshold_ms

  • 기본값: 0
  • 타입: Long
  • 단위: 밀리초
  • 변경 가능: 아니요
  • 설명: JDBC 연결 누수 감지 임계값입니다. 연결이 이 값보다 오래 유지되면 경고가 기록됩니다. 0으로 설정하면 비활성화됩니다. 연결을 너무 오래 붙잡는 코드 경로를 찾는 디버깅 보조 도구입니다.
  • 도입 버전: -

jdbc_connection_pool_size

  • 기본값: 8
  • 타입: Int
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JDBC 카탈로그에 접근하는 JDBC 커넥션 풀의 최대 용량입니다.
  • 도입 버전: -

jdbc_meta_default_cache_enable

  • 기본값: false
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: JDBC Catalog 메타데이터 캐시 활성화 여부의 기본값입니다. true로 설정하면 새로 만드는 JDBC Catalog가 메타데이터 캐싱 활성화를 기본값으로 가집니다.
  • 도입 버전: -

jdbc_meta_default_cache_expire_sec

  • 기본값: 600
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: JDBC Catalog 메타데이터 캐시의 기본 만료 시간입니다. jdbc_meta_default_cache_enable이 true로 설정되면 새로 만드는 JDBC Catalog가 메타데이터 캐시의 만료 시간을 이 기본값으로 설정합니다.
  • 도입 버전: -

jdbc_row_count_cache_refresh_sec

  • 기본값: 600
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: JDBC 테이블 row-count 캐시의 백그라운드 리프레시 간격입니다. 이 간격이 지나면 오래된(stale) 값이 즉시 반환되고 리로드가 백그라운드에서 비동기로 실행됩니다. 카탈로그 속성 jdbc_row_count_cache_refresh_sec로 카탈로그별로 재정의할 수 있습니다.
  • 도입 버전: -

jdbc_row_count_cache_expire_sec

  • 기본값: 1200
  • 타입: Long
  • 단위: 초
  • 변경 가능: 예
  • 설명: JDBC 테이블 row-count 캐시 항목의 하드 제거(hard eviction) TTL입니다. 이 기간 안에 접근되지 않은 항목은 제거됩니다. jdbc_row_count_cache_refresh_sec보다 커야 합니다. 카탈로그 속성 jdbc_row_count_cache_expire_sec로 카탈로그별로 재정의할 수 있습니다.
  • 도입 버전: -

jdbc_row_count_cache_max_size

  • 기본값: 10000
  • 타입: Long
  • 단위: -
  • 변경 가능: 예
  • 설명: 카탈로그별 JDBC 테이블 row-count 캐시의 최대 항목 수입니다. 테이블이 많은 카탈로그의 메모리 증가를 제한합니다. 카탈로그 속성 jdbc_row_count_cache_max_size로 카탈로그별로 재정의할 수 있습니다.
  • 도입 버전: -

jdbc_minimum_idle_connections

  • 기본값: 1
  • 타입: Int
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JDBC 카탈로그에 접근하는 JDBC 커넥션 풀의 최소 유휴 연결 수입니다.
  • 도입 버전: -

jwt_jwks_url

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JSON Web Key Set(JWKS) 서비스의 URL 또는 fe/conf 디렉터리 아래 공개 키 로컬 파일의 경로입니다.
  • 도입 버전: v3.5.0

jwt_principal_field

  • 기본값: sub
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JWT에서 주체(sub)를 나타내는 필드를 식별하는 데 사용되는 문자열입니다. 기본값은 sub입니다. 이 필드의 값은 StarRocks 로그인에 사용되는 사용자 이름과 동일해야 합니다.
  • 도입 버전: v3.5.0

jwt_required_audience

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JWT에서 audience(aud)를 식별하는 데 사용되는 문자열 목록입니다. 목록의 값 중 하나가 JWT audience와 일치할 때만 JWT가 유효한 것으로 간주됩니다.
  • 도입 버전: v3.5.0

jwt_required_issuer

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JWT에서 발급자(iss)를 식별하는 데 사용되는 문자열 목록입니다. 목록의 값 중 하나가 JWT 발급자와 일치할 때만 JWT가 유효한 것으로 간주됩니다.
  • 도입 버전: v3.5.0

locale

  • 기본값: zh_CN.UTF-8
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: FE가 사용하는 문자 집합입니다.
  • 도입 버전: -

max_agent_task_threads_num

  • 기본값: 4096
  • 타입: Int
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 에이전트 작업 스레드 풀에 허용되는 최대 스레드 수입니다.
  • 도입 버전: -

max_download_task_per_be

  • 기본값: 0
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 각 RESTORE 작업에서 StarRocks가 BE 노드에 할당하는 최대 다운로드 작업 수입니다. 이 항목을 0 이하로 설정하면 작업 수에 제한이 없습니다.
  • 도입 버전: v3.1.0

max_mv_check_base_table_change_retry_times

  • 기본값: 10
  • 타입: -
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 리프레시 시 베이스 테이블 변경 감지의 최대 재시도 횟수입니다.
  • 도입 버전: v3.3.0

max_mv_refresh_failure_retry_times

  • 기본값: 1
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 리프레시가 실패했을 때의 최대 재시도 횟수입니다.
  • 도입 버전: v3.3.0

max_mv_refresh_try_lock_failure_retry_times

  • 기본값: 3
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 리프레시가 실패했을 때 try lock의 최대 재시도 횟수입니다.
  • 도입 버전: v3.3.0

max_small_file_number

  • 기본값: 100
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: FE 디렉터리에 저장할 수 있는 작은 파일의 최대 개수입니다.
  • 도입 버전: -

max_small_file_size_bytes

  • 기본값: 1024 * 1024
  • 타입: Int
  • 단위: 바이트
  • 변경 가능: 예
  • 설명: 작은 파일의 최대 크기입니다.
  • 도입 버전: -

max_upload_task_per_be

  • 기본값: 0
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 각 BACKUP 작업에서 StarRocks가 BE 노드에 할당하는 최대 업로드 작업 수입니다. 이 항목을 0 이하로 설정하면 작업 수에 제한이 없습니다.
  • 도입 버전: v3.1.0

mv_create_partition_batch_interval_ms

  • 기본값: 1000
  • 타입: Int
  • 단위: ms
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 리프레시 중 여러 파티션을 대량으로 생성해야 하는 경우 시스템은 64개씩 배치로 나눕니다. 잦은 파티션 생성으로 인한 실패 위험을 줄이기 위해 각 배치 사이에 기본 간격(밀리초)을 두어 생성 빈도를 조절합니다.
  • 도입 버전: v3.3

mv_plan_cache_max_size

  • 기본값: 1000
  • 타입: Long
  • 단위:
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 플랜 캐시(머터리얼라이즈드 뷰 리라이트에 사용)의 최대 크기입니다. 투명 쿼리 리라이트에 사용되는 머터리얼라이즈드 뷰가 많다면 이 값을 늘릴 수 있습니다.
  • 도입 버전: v3.2

mv_plan_cache_thread_pool_size

  • 기본값: 8
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 플랜 캐시(머터리얼라이즈드 뷰 리라이트에 사용)의 기본 스레드 풀 크기입니다.
  • 도입 버전: v3.2

mv_refresh_default_planner_optimize_timeout

  • 기본값: 30000
  • 타입: -
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰를 리프레시할 때 옵티마이저 계획(planning) 단계의 기본 타임아웃입니다.
  • 도입 버전: v3.3.0

mv_refresh_fail_on_filter_data

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 리프레시 중 필터링된 데이터가 있으면 머터리얼라이즈드 뷰 리프레시가 실패합니다. 기본값은 true이며, 그렇지 않으면 필터링된 데이터를 무시하고 성공을 반환합니다.
  • 도입 버전: -

mv_refresh_try_lock_timeout_ms

  • 기본값: 30000
  • 타입: Int
  • 단위: 밀리초
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 리프레시가 베이스 테이블/머터리얼라이즈드 뷰의 DB lock을 시도할 때의 기본 try lock 타임아웃입니다.
  • 도입 버전: v3.3.0

oauth2_auth_server_url

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 인가 URL입니다. OAuth 2.0 인가 프로세스를 시작하기 위해 사용자의 브라우저가 리다이렉트되는 URL입니다.
  • 도입 버전: v3.5.0

oauth2_client_id

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: StarRocks 클라이언트의 공개 식별자입니다.
  • 도입 버전: v3.5.0

oauth2_client_secret

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 인가 서버에서 StarRocks 클라이언트를 인가하는 데 사용되는 시크릿입니다.
  • 도입 버전: v3.5.0

oauth2_jwks_url

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JSON Web Key Set(JWKS) 서비스의 URL 또는 conf 디렉터리 아래 로컬 파일의 경로입니다.
  • 도입 버전: v3.5.0

oauth2_principal_field

  • 기본값: sub
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JWT에서 주체(sub)를 나타내는 필드를 식별하는 데 사용되는 문자열입니다. 기본값은 sub입니다. 이 필드의 값은 StarRocks 로그인에 사용되는 사용자 이름과 동일해야 합니다.
  • 도입 버전: v3.5.0

oauth2_redirect_url

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: OAuth 2.0 인증이 성공한 뒤 사용자의 브라우저가 리다이렉트되는 URL입니다. 인가 코드가 이 URL로 전송됩니다. 대부분의 경우 http://<starrocks_fe_url>:<fe_http_port>/api/oauth2로 설정해야 합니다.
  • 도입 버전: v3.5.0

oauth2_required_audience

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JWT에서 audience(aud)를 식별하는 데 사용되는 문자열 목록입니다. 목록의 값 중 하나가 JWT audience와 일치할 때만 JWT가 유효한 것으로 간주됩니다.
  • 도입 버전: v3.5.0

oauth2_required_issuer

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: JWT에서 발급자(iss)를 식별하는 데 사용되는 문자열 목록입니다. 목록의 값 중 하나가 JWT 발급자와 일치할 때만 JWT가 유효한 것으로 간주됩니다.
  • 도입 버전: v3.5.0

oauth2_token_server_url

  • 기본값: 빈 문자열
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: StarRocks가 액세스 토큰을 얻는 인가 서버의 엔드포인트 URL입니다.
  • 도입 버전: v3.5.0

plugin_dir

  • 기본값: System.getenv("STARROCKS_HOME") + "/plugins"
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 플러그인 설치 패키지를 저장하는 디렉터리입니다.
  • 도입 버전: -

plugin_enable

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: FE에 플러그인을 설치할 수 있는지 여부입니다. 플러그인은 Leader FE에서만 설치하거나 제거할 수 있습니다.
  • 도입 버전: -

proc_profile_jstack_depth

  • 기본값: 128
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 시스템이 CPU와 메모리 프로파일을 수집할 때의 최대 Java 스택 깊이입니다. 이 값은 샘플링된 스택마다 캡처할 Java 스택 프레임 수를 조절합니다. 값이 크면 추적 상세 정보와 출력 크기가 늘고 프로파일링 오버헤드가 추가될 수 있으며, 값이 작으면 상세 정보가 줄어듭니다. 이 설정은 CPU와 메모리 프로파일링 모두에 프로파일러가 시작될 때 사용되므로 진단 필요성과 성능 영향 사이에서 조정하세요.
  • 도입 버전: -

proc_profile_mem_enable

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 프로세스 메모리 할당 프로파일 수집을 활성화할지 여부입니다. 이 항목을 true로 설정하면 시스템이 sys_log_dir/proc_profile 아래 mem-profile-<timestamp>.html이라는 이름의 HTML 프로파일을 생성하고, 샘플링하는 동안 proc_profile_collect_time_s초 대기하며, Java 스택 깊이로 proc_profile_jstack_depth를 사용합니다. 생성된 파일은 proc_profile_file_retained_days와 proc_profile_file_retained_size_bytes에 따라 압축·정리됩니다. 네이티브 추출 경로는 /tmp noexec 문제를 피하려고 STARROCKS_HOME_DIR을 사용합니다. 이 항목은 메모리 할당 핫스팟 문제 해결용입니다. 활성화하면 CPU, I/O, 디스크 사용량이 늘고 큰 파일이 생길 수 있습니다.
  • 도입 버전: v3.2.12

query_detail_explain_level

  • 기본값: COSTS
  • 타입: String
  • 단위: -
  • 변경 가능: 예
  • 설명: EXPLAIN 구문이 반환하는 쿼리 플랜의 상세 수준입니다. 유효한 값: COSTS, NORMAL, VERBOSE.
  • 도입 버전: v3.2.12, v3.3.5

replication_interval_ms

  • 기본값: 100
  • 타입: Int
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 복제 작업이 스케줄링되는 최소 시간 간격입니다.
  • 도입 버전: v3.3.5

replication_max_parallel_data_size_mb

  • 기본값: 1048576
  • 타입: Int
  • 단위: MB
  • 변경 가능: 예
  • 설명: 동시 동기화에 허용되는 최대 데이터 크기입니다.
  • 도입 버전: v3.3.5

replication_max_parallel_replica_count

  • 기본값: 10240
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 동시 동기화에 허용되는 최대 태블릿 레플리카 수입니다.
  • 도입 버전: v3.3.5

replication_max_parallel_table_count

  • 기본값: 100
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 허용되는 최대 동시 데이터 동기화 작업 수입니다. StarRocks는 테이블마다 하나의 동기화 작업을 만듭니다.
  • 도입 버전: v3.3.5

replication_transaction_timeout_sec

  • 기본값: 86400
  • 타입: Int
  • 단위: 초
  • 변경 가능: 예
  • 설명: 동기화 작업의 타임아웃입니다.
  • 도입 버전: v3.3.5

skip_whole_phase_lock_mv_limit

  • 기본값: 5
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 관련 머터리얼라이즈드 뷰가 있는 테이블에 StarRocks가 "non-lock" 최적화를 적용하는 시점을 조절합니다. 이 항목을 0 미만으로 설정하면 항상 non-lock 최적화가 적용되고 쿼리를 위해 관련 머터리얼라이즈드 뷰를 복사하지 않습니다(FE 메모리 사용량과 메타데이터 복사/잠금 경합이 줄지만 메타데이터 동시성 문제 위험은 커질 수 있습니다). 0으로 설정하면 관련 머터리얼라이즈드 뷰가 없는 테이블에만 non-lock 최적화가 적용됩니다. 0보다 크게 설정하면 관련 머터리얼라이즈드 뷰 수가 설정된 임계값 이하인 테이블에만 non-lock 최적화가 적용됩니다. 이 임계값은 외부 카탈로그의 테이블도 함께 읽는 구문에는 적용되지 않습니다. 계획(planning) 단계 전체를 잠금으로 묶으면 파티션·통계·파일 목록 요청이 FE가 통제할 수 없는 외부 시스템에 종속되는 반면 그 잠금은 외부 쪽에서 아무것도 보호하지 않으므로, 이런 구문은 내부 테이블이 관련 머터리얼라이즈드 뷰를 몇 개 갖고 있든 non-lock 경로를 사용합니다. 또한 값이 0 이상이면 플래너가 쿼리 OLAP 테이블을 옵티마이저 컨텍스트에 기록해 머터리얼라이즈드 뷰 관련 리라이트 경로를 활성화하고, 0 미만이면 이 단계를 건너뜁니다.
  • 도입 버전: v3.2.1

small_file_dir

  • 기본값: StarRocksFE.STARROCKS_HOME_DIR + "/small_files"
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 작은 파일의 루트 디렉터리입니다.
  • 도입 버전: -

task_runs_max_history_number

  • 기본값: 10000
  • 타입: Int
  • 단위: -
  • 변경 가능: 예
  • 설명: 메모리에 보관할 task run 기록의 최대 개수이자, 아카이브된 task-run 히스토리를 조회할 때 기본 LIMIT으로 사용되는 값입니다. enable_task_history_archive가 false이면 이 값이 메모리 내 히스토리를 제한합니다. Force GC가 오래된 항목을 정리해 최신 task_runs_max_history_number개만 남깁니다. 아카이브 히스토리를 조회할 때(명시적 LIMIT이 없다면) 이 값이 0보다 크면 TaskRunHistoryTable.lookup이 "ORDER BY create_time DESC LIMIT <value>"를 사용합니다. 참고: 이 값을 0으로 설정하면 조회 쪽 LIMIT이 비활성화되지만(무제한) 메모리 내 히스토리가 0으로 잘립니다(아카이빙이 활성화된 경우는 예외).
  • 도입 버전: v3.2.0

tmp_dir

  • 기본값: StarRocksFE.STARROCKS_HOME_DIR + "/temp_dir"
  • 타입: String
  • 단위: -
  • 변경 가능: 아니요
  • 설명: 백업 및 복구 절차에서 생성되는 파일 같은 임시 파일을 저장하는 디렉터리입니다. 이 절차가 끝나면 생성된 임시 파일은 삭제됩니다.
  • 도입 버전: -

transform_type_prefer_string_for_varchar

  • 기본값: true
  • 타입: Boolean
  • 단위: -
  • 변경 가능: 예
  • 설명: 머터리얼라이즈드 뷰 생성 시 고정 길이 char/varchar 컬럼에 string 타입을 선호할지 여부입니다.
  • 도입 버전: v4.0.0

더 알아보기 (Learn more)

  • ADMIN SHOW CONFIG — 파라미터별 IsMutable 여부 확인 방법과 반환 필드의 상세 설명을 볼 수 있습니다.
  • ADMIN SET FRONTEND CONFIG — 동적 파라미터를 SQL로 바꾸는 방법을 다룹니다. 재시작 후에는 fe.conf 값으로 복원되므로 영구 변경은 fe.conf 수정을 권장합니다.
  • Authenticate User Groups — group_provider 계열 구성과 사용자 그룹 인증의 동작 방식을 설명합니다.
  • Security Integration — LDAP, JWT, OAuth2 보안 통합 설정 문서로, 이 페이지의 인증 관련 FE 파라미터와 함께 참고하면 좋습니다.