버전 25.6부터 사용 가능이 테이블 엔진은 OSS와 Cloud 모두에서 버전 25.6 이상부터 사용할 수 있습니다.
CoalescingMergeTree 테이블에서는 ClickHouse가 동일한 기본 키(primary key), 더 정확히는 동일한 정렬 키를 가진 모든 행을 각 컬럼의 최신 NULL이 아닌 값을 담은 단일 행으로 대체합니다.
이를 통해 컬럼 수준의 업서트가 가능하므로 전체 행이 아니라 특정 컬럼만 업데이트할 수 있습니다.
CoalescingMergeTree는 키가 아닌 컬럼에서 널 허용(Nullable) 타입과 함께 사용하도록 설계되었습니다. 컬럼이 Nullable이 아니면 동작은 ReplacingMergeTree와 동일합니다.
테이블 만들기
CoalescingMergeTree 매개변수
컬럼
columns - 선택 사항입니다. 값이 합쳐질 컬럼 이름을 담은 튜플입니다. 지정한 컬럼은 파티션 또는 정렬 키에 포함되면 안 됩니다. columns를 지정하지 않으면 ClickHouse는 정렬 키에 포함되지 않은 모든 컬럼의 값을 합칩니다.
쿼리 절
CoalescingMergeTree 테이블을 생성할 때는 MergeTree 테이블을 생성할 때와 동일한 절이 필요합니다.
사용 예시
FINAL 수정자를 사용하면 ClickHouse가 쿼리 시점에 머지 로직을 적용하므로, 각 컬럼에 대해 정확히 취합된 “최신” 값을 얻을 수 있습니다. 이는 CoalescingMergeTree 테이블에서 쿼리할 때 가장 안전하고 정확한 메서드입니다.
GROUP BY를 사용하는 방식은 기반이 되는 파트가 완전히 머지되지 않은 경우 잘못된 결과를 반환할 수 있습니다.