max_bytes_to_merge MergeTree 설정

max_bytes_to_merge MergeTree 설정 (max_bytes_to_merge_at_*_space_in_pool MergeTree settings)

이 문서는 병합 시 파트 크기 상한과 관련된 MergeTree 설정들을 다루는 페이지예요. 백그라운드 풀의 자원 상태에 따라 한 번에 병합할 수 있는 최대 총 파트 크기를 설정합니다.

출처: 문서

본문

이 설정들은 system.merge_tree_settings에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성됩니다.

max_bytes_to_merge_at_max_space_in_pool

충분한 자원이 있을 때 한 파트로 병합할 수 있는 최대 총 파트 크기(바이트)예요. 대략 자동 백그라운드 병합이 만드는 가능한 최대 파트 크기에 해당합니다.(0이면 병합이 비활성화됩니다) 가능한 값:

  • 음수가 아닌 정수.

병합 스케줄러는 주기적으로 파티션의 파트 크기와 개수를 분석하며, 풀에 충분한 여유 자원이 있으면 백그라운드 병합을 시작해요. 병합은 소스 파트의 총 크기가 max_bytes_to_merge_at_max_space_in_pool보다 커질 때까지 발생합니다. OPTIMIZE FINAL로 시작된 병합은 max_bytes_to_merge_at_max_space_in_pool을 무시해요(여유 디스크 공간만 고려됩니다).

max_bytes_to_merge_at_min_space_in_pool

백그라운드 풀의 최소 자원이 있을 때 한 파트로 병합할 수 있는 최대 총 파트 크기(바이트)예요. 가능한 값:

  • 양의 정수.

max_bytes_to_merge_at_min_space_in_pool은 (풀에서) 사용 가능한 디스크 공간이 부족함에도 병합할 수 있는 파트의 최대 총 크기를 정의해요. 이는 작은 파트의 개수를 줄이고 Too many parts 오류의 가능성을 낮추는 데 필요합니다. 병합은 병합할 총 파트 크기를 두 배로 하여 디스크 공간을 예약합니다. 따라서 여유 디스크 공간이 적으면, 여유 공간이 있지만 그 공간이 이미 진행 중인 대형 병합에 예약되어 다른 병합이 시작하지 못하고 매 삽입마다 작은 파트의 개수가 늘어나는 상황이 발생할 수 있어요.

더 알아보기 (Learn more)