"세상에서 가장 빠른 분석 DB"는 어떻게 만들어졌을까요? 컬럼 저장, immutable 파트, 백그라운드 머지, 희소 인덱스 — ClickHouse의 심장을 애니메이션으로 하나씩 열어봅니다.
📚 총 11개 챕터🎬 챕터마다 애니메이션 2~3개✅ 완료 0 / 11장
한눈에 보는 ClickHouse — 데이터의 일생
ClickHouse의 거의 모든 동작은 단 하나의 스토리로 요약됩니다. INSERT는 immutable 파트를 만들고, 백그라운드 머지가 파트를 합치고, SELECT는 희소 인덱스로 건너뛰며 읽습니다. 이 30초 애니메이션이 앞으로 11개 챕터에서 배울 전체 그림입니다.
ClickHouse에는 데이터를 배치(batch)로 모아서 INSERT합니다. 메모리 버퍼(MEMTABLE)도 WAL도 없습니다.
INSERT는 정렬·압축을 거쳐 즉시 디스크에 새 "파트(part)"를 만듭니다. 한 번 만들어진 파트는 절대 수정되지 않습니다(immutable).
INSERT가 반복될 때마다 파트가 하나씩 쌓입니다. 파트가 너무 많아지면 읽기가 비효율적이겠죠?
그래서 백그라운드 머지가 작은 파트들을 큰 파트 하나로 합칩니다. 중복 제거·집계 같은 무거운 작업도 이 시점으로 미룹니다.
SELECT는 파트 안의 희소 인덱스(sparse index)로 조건에 맞는 granule(8,192행 묶음)만 골라 읽고, 나머지는 디스크에서 읽지도 않습니다.
"읽지 않는 것이 가장 빠르다" — 이 한 문장이 ClickHouse의 설계 철학입니다. 이제 챕터별로 각 단계를 깊이 들어가 봅시다!
🧭
이 가이드를 읽는 방법
PostgreSQL 같은 행 지향 DB를 써본 경험이 있다면 더 재미있게 읽을 수 있지만, 필수는 아닙니다. 각 챕터는 애니메이션 → 개념 설명 → 실행 가능한 SQL → 퀴즈 순서로 구성되어 있습니다. 챕터 끝의 "완료로 표시" 버튼으로 진도를 관리하세요.