이 설정은 system.merge_tree_settings에서 확인할 수 있으며, ClickHouse 소스에서 자동 생성됩니다.
merge_max_block_size
병합된 파트에서 메모리로 읽어 오는 행 수입니다.
가능한 값:
- 임의의 양의 정수.
머지 작업은 파트에서 merge_max_block_size행 단위의 블록으로 행을 읽은 다음,
이를 병합하여 결과를 새 파트에 기록합니다. 읽기 블록은 RAM에 올라가므로,
merge_max_block_size는 머지에 필요한 RAM 크기에 영향을 줍니다.
따라서 행 크기가 매우 큰 테이블에서는 머지 시 많은 양의 RAM을 사용할 수 있습니다
(평균 행 크기가 100kb인 경우, 10개의 파트를 머지하면
(100kb * 10 * 8192) = 약 8GB의 RAM). merge_max_block_size를 줄이면
머지에 필요한 RAM 사용량은 줄일 수 있지만 머지 속도는 느려집니다.
merge_max_block_size_bytes
머지 작업에서 형성할 블록의 바이트 수입니다. 기본적으로
index_granularity_bytes와 같은 값입니다.
merge_max_bytes_to_prewarm_cache
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.1 | 1073741824 | Cloud sync |
ClickHouse Cloud에서만 사용할 수 있습니다. 머지 중 캐시를 예열할 파트(compact 또는 패킹)의 최대 크기입니다.
merge_max_dynamic_subcolumns_in_compact_part
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.1 | auto | 데이터 타입에 지정된 매개변수와 관계없이 머지 후 Compact 데이터 파트의 동적 서브컬럼 수를 제한하는 새로운 설정을 추가했습니다 |
머지 후 각 컬럼의 Compact 데이터 파트에 생성할 수 있는 동적 서브컬럼의 최대 개수입니다. 이 설정을 사용하면 데이터 타입에 지정된 동적 매개변수와 관계없이 Compact 데이터 파트의 동적 서브컬럼 수를 제어할 수 있습니다.
예를 들어, 테이블에 JSON(max_dynamic_paths=1024) 타입의 컬럼이 있고 merge_max_dynamic_subcolumns_in_compact_part 설정이 128로 되어 있으면,
Compact 데이터 파트로 머지된 후 이 파트의 동적 경로 수는 128로 줄어들고 128개의 경로만 동적 서브컬럼으로 기록됩니다.
merge_max_dynamic_subcolumns_in_wide_part
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.11 | auto | 데이터 타입에 지정된 매개변수와 관계없이 머지 후 파트의 동적 서브컬럼 수를 제한하는 새로운 설정 추가 |
머지 후 각 컬럼의 Wide 데이터 파트에서 생성할 수 있는 동적 서브컬럼의 최대 개수입니다. 데이터 타입에 지정된 동적 매개변수와 관계없이 Wide 데이터 파트에서 생성되는 파일 수를 줄일 수 있습니다.
예를 들어, 테이블에 JSON(max_dynamic_paths=1024) 타입의 컬럼이 있고 설정 merge_max_dynamic_subcolumns_in_wide_part가 128로 설정된 경우, Wide 데이터 파트로 머지된 후 이 파트의 동적 경로 수는 128개로 줄어들며, 128개의 경로만 동적 서브컬럼으로 기록됩니다.