max_delay MergeTree 설정
max_delay MergeTree 설정 (max_delay_to_* MergeTree settings)
이 문서는 삽입·뮤테이션 지연 상한과 관련된 MergeTree 설정들을 다루는 페이지예요. 단일 파티션의 활성 파트 수가 임계값을 초과할 때 INSERT 지연을 계산하는 방법을 설명합니다.
출처: 문서
본문
이 설정들은 system.merge_tree_settings에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성됩니다.
max_delay_to_insert
단일 파티션의 활성 파트 수가 parts_to_delay_insert 값을 초과할 때 INSERT 지연을 계산하는 데 사용하는 값(초)이에요.
가능한 값:
- 양의 정수.
INSERT의 지연(밀리초)은 다음 공식으로 계산됩니다:
max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)
예를 들어 파티션에 활성 파트가 299개이고 parts_to_throw_insert = 300, parts_to_delay_insert = 150, max_delay_to_insert = 1이면, INSERT는 pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000 밀리초 지연됩니다.
버전 23.1부터 공식이 다음과 같이 변경되었어요:
allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)
예를 들어 파티션에 활성 파트가 224개이고 parts_to_throw_insert = 300, parts_to_delay_insert = 150, max_delay_to_insert = 1, min_delay_to_insert_ms = 10이면, INSERT는 max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 밀리초 지연됩니다.
max_delay_to_mutate_ms
미완료 뮤테이션이 많을 때 MergeTree 테이블을 뮤테이션하기까지의 최대 지연(밀리초)이에요.