use_* 서버 설정
use_* 서버 설정
이 설정들은 ClickHouse 서버의 데이터 파트 헤더 저장 방식, 캐시 메모리 아레나, 공유 로그 파이프라인 등을 제어해요. ClickHouse 소스 코드에서 자동으로 생성된 참조 문서예요.
출처: 문서
본문
이 설정들은 ClickHouse 서버를 구성하며 ClickHouse 소스 코드에서 자동으로 생성돼요.
use_minimalistic_part_header_in_zookeeper
ZooKeeper에서 데이터 파트 헤더를 저장하는 방법이에요. 이 설정은 MergeTree 계열에만 적용돼요. 다음과 같이 지정할 수 있어요:
config.xml 파일의 merge_tree 섹션에서 전역으로
ClickHouse는 서버의 모든 테이블에 이 설정을 사용해요. 언제든 설정을 변경할 수 있고, 설정이 변경되면 기존 테이블의 동작도 바뀌어요.
테이블별로
테이블을 만들 때 해당 엔진 설정을 지정해요. 이 설정이 있는 기존 테이블의 동작은 전역 설정이 변경되어도 바뀌지 않아요.
가능한 값
0— 기능이 꺼짐.1— 기능이 켜짐.
use_minimalistic_part_header_in_zookeeper = 1이면 replicated 테이블이 단일 znode를 사용해 데이터 파트 헤더를 컴팩트하게 저장해요. 테이블에 열이 많으면 이 저장 방법이 Zookeeper에 저장되는 데이터 용량을 크게 줄여줘요.
use_minimalistic_part_header_in_zookeeper = 1을 적용한 후에는 이 설정을 지원하지 않는 ClickHouse 서버 버전으로 다운그레이드할 수 없어요. 클러스터의 서버에서 ClickHouse를 업그레이드할 때 주의해요. 모든 서버를 한꺼번에 업그레이드하지 마세요. 테스트 환경이나 클러스터의 몇몇 서버에서만 새 ClickHouse 버전을 테스트하는 것이 더 안전해요.
이 설정으로 이미 저장된 데이터 파트 헤더는 이전(비컴팩트) 표현으로 되돌릴 수 없어요.
use_separate_cache_arena
캐시 할당(mark 캐시, 비압축 캐시, 페이지 캐시)을 위한 전용 jemalloc 아레나를 활성화해요. 캐시 데이터를 쿼리 처리 할당에서 격리해서 메모리 단편화를 줄여요.
use_shared_merge_tree_log_pipeline
ClickHouse Cloud에서만 사용할 수 있어요. 활성화하면 system.*_log 테이블이 S3 기반 파이프라인을 통해 SharedMergeTree로 지원돼요. 각 로그 <log>에 대해 시작 시 다음 객체가 자동으로 생성돼요:
system.<log>_s3— 직접 플러시 대상인S3백업 테이블. 각SYSTEM FLUSH LOGS호출은 여기에 새 파티셔닝 파일을 기록해요.system.<log>_s3queue—<log>_s3에서 파일을 가져와 행을 하위 스트림으로 내보내는S3Queue테이블(정렬 모드). 각 노드는partition_regex기반 파티셔닝으로 자신의 파일만 처리해요.system.<log>_mv—<log>_s3queue의 행을 최종SharedMergeTree테이블로 라우팅하는MATERIALIZED VIEW.system.<log>— 행이 누적되고 조회되는 최종SharedMergeTree테이블.
스키마나 설정이 변경되면 영향받는 테이블이 <log>_0, <log>_1 등으로 이름이 바뀌고 재생성돼요. 이는 기존 SystemLog 회전(rotation) 동작과 일치해요.
서버 구성에 <shared_log_pipeline><endpoint>가 설정되어 있어야 해요. 또한 shared_log_pipeline.enable_sync_flush, shared_log_pipeline.flush_timeout_seconds를 참고해요.