Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

Column-Oriented MergeTree: 컬럼 지향 저장소의 구조와 아키텍처

MergeTree는 ClickHouse의 핵심 저장소 엔진으로, 컬럼 지향 설계를 통해 분석 워크로드에 최적화된 성능을 제공합니다. 이 글에서는 데이터 파트 구조, 스파스 인덱싱, 백그라운드 병합 메커니즘과 같은 엔지니어링 설계를 살펴봅니다.

2026.10.12  ·  0회  · 

컬럼 지향 저장소의 핵심 설계

MergeTree 엔진은 각 컬럼의 값을 연속적으로 저장하는 극단적인 컬럼 지향 모드를 채택합니다. 행 지향 데이터베이스와 달리, 같은 컬럼의 값들이 메모리상에 연속으로 배치되므로 SIMD 벡터화 실행과 높은 압축률을 달성합니다. 분석 쿼리가 일반적으로 많은 행 중 소수의 컬럼만 필요로 할 때, 불필요한 컬럼을 읽지 않아 I/O 오버헤드를 극적으로 감소시킵니다.

불변 파트와 스파스 인덱싱 구조

INSERT 작업은 불변의 데이터 파트를 생성하며, 각 파트는 PRIMARY KEY 기준으로 렉시코그래픽 순서로 정렬됩니다. 파트 내부는 그래뉼(granule) 단위로 논리적 분할되는데, 기본 그래뉼 크기는 8,192개 행입니다. 각 그래뉼의 첫 행이 PRIMARY KEY로 마킹되며, ClickHouse는 모든 컬럼(인덱스 포함 여부 무관)에 대해 동일한 마크를 저장합니다. 이러한 스파스 인덱스는 메인 메모리에 적재 가능하면서도 온디스크 데이터에 빠른 접근을 제공합니다.

백그라운드 병합과 저장소 포맷

MergeTree는 INSERT 시 생성된 작은 파트들을 백그라운드에서 자동으로 병합하여 저장소 효율을 높입니다. 데이터 파트는 Wide 또는 Compact 포맷으로 저장되는데, Wide 포맷에서는 각 컬럼이 별도 파일로 저장되어 분석 스캔에 최적이고, Compact 포맷에서는 모든 컬럼이 단일 파일에 저장되어 작은 빈번한 삽입 성능을 높입니다. 선택은 min_bytes_for_wide_part와 min_rows_for_wide_part 설정으로 제어됩니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원