Ken
2025년 12월 31일, ClickHouse의 CTO Alexey Milovidov는 GitHub Issue #93288을 통해 2026년 로드맵 초안을 공개했습니다. 이번 로드맵은 쿼리 엔진, 데이터 스토리지, 데이터 레이크 통합, 인터페이스, 그리고 시스템 안정성 전반에 걸친 대규모 개선을 예고하고 있습니다. 본 글에서는 각 영역별 주요 변화와 그 기술적 의미를 상세히 살펴보겠습니다.
역대 로드맵: 2025 | 2024 | 2023 | 2022 | 2021
- 1. Query Engine: 더 빠르고 스마트한 쿼리 처리
- 1.1 Parallel Replicas for Merge Tables
- 1.2 Materialized CTE (Common Table Expression)
- 1.3 Flat Combining을 통한 GROUP BY 최적화
- 1.4 Cascades 기반 JOIN 최적화
- 1.5 LowCardinality 최적화
- 1.6 Query Cache 확장
- 1.7 Block-level Hints
- 1.8 Streaming Queries with Cursors
- 1.9 괄호 없는 SQL 함수
- 1.10 macOS JIT 컴파일 활성화
- 2. Data Storage: 스토리지 계층의 혁신
- 2.1 Text Index GA (General Availability)
- 2.2 Unique Key Constraint
- 2.3 Automatic LowCardinality Columns
- 2.4 통계 기능 강화
- 2.5 Virtual Shards on Shared Storage (Cloud)
- 2.6 ShardedMap Data Type
- 2.7 Transactions for Replicated Tables
- 3. Data Lakes: 레이크하우스 아키텍처 완성
- 3.1 Parquet 메타데이터 캐싱
- 3.2 데이터베이스/테이블 이름 지원 확장
- 3.3 Iceberg v3 Deletion Vectors 지원
- 3.4 Query Condition Cache for Data Lakes
- 3.5 Lazy Columns Reading for Data Lakes
- 3.6 Data Lake Catalogs GA
- 3.7 클라우드 서비스 통합
- 3.8 Plain Rewritable 메타데이터 스토리지
- 3.9 Data Lake 위 Materialized Views
- 3.10 Background Merges for Data Lakes (Cloud)
- 3.11 자동 Cluster 함수
- 4. Resiliency: 시스템 안정성 강화
- 4.1 자동 External Memory
- 4.2 Workload Scheduler의 메모리 관리
- 4.3 GROUP BY in Order 기본 활성화
- 4.4 max_insert_threads 자동 선택
- 4.5 외부 메모리 공간 추적
- 4.6 스칼라 서브쿼리 취소 허용
- 5. Interfaces: 확장된 연결성
- 5.1 백그라운드 쿼리 완료
- 5.2 쿼리 재작성 규칙
- 5.3 PromQL Dialect GA
- 5.4 Arrow Flight SQL 지원
- 5.5 Kafka2 GA
- 5.6 SQL을 통한 Query Handler 설정
- 5.7 Remote 및 Cloud Database Engines
- 5.8 UDF 드라이버
- 5.9 WebAssembly UDFs
- 5.10 API for Query Construction
- 5.11 Even Simpler Data Upload
- 5.12 URL 테이블 함수에 입력 데이터 전달
- 5.13 쿼리 결과 프레이밍 포맷
- 5.14 Predictive Autocomplete in CLI
- 6. Cleanups: 레거시 정리
- 결론: ClickHouse 2026의 방향성
1. Query Engine: 더 빠르고 스마트한 쿼리 처리
2026년 ClickHouse 쿼리 엔진은 성능 최적화와 새로운 기능 추가에 집중합니다.
1.1 Parallel Replicas for Merge Tables
#67770 - Merge 테이블에서 Parallel Replicas를 지원하여 여러 복제본에 걸쳐 쿼리를 분산 처리할 수 있게 됩니다. 현재 Merge 테이블은 Parallel Replicas를 사용할 수 없어 대규모 데이터셋 쿼리 시 병목이 발생하는데, 이 제약이 해소됩니다.
1.2 Materialized CTE (Common Table Expression)
#61086 - CTE 결과를 물리화하여 재사용함으로써 복잡한 쿼리에서 동일한 서브쿼리가 반복 실행되는 것을 방지합니다. 이는 특히 분석 쿼리에서 상당한 성능 향상을 가져올 것입니다.
1.3 Flat Combining을 통한 GROUP BY 최적화
#79428 - 대규모 집계 상태에서 GROUP BY 성능을 획기적으로 개선하는 새로운 알고리즘이 도입됩니다. 핵심 아이디어는 다음과 같습니다.
각 스레드는 로컬 해시 테이블에서 집계를 수행하되, 테이블이 임계값을 초과하면 기존 엔트리만 업데이트합니다. 로컬 테이블에 없는 키는 256개 버킷으로 구성된 공유 2-레벨 해시 테이블에 저장되며, 각 버킷은 개별 뮤텍스로 보호됩니다. 이 방식은 일반적인 키 분포에서 거의 이상적인 병렬화를 달성하고 메모리 사용량도 줄입니다.
1.4 Cascades 기반 JOIN 최적화
비용 기반 Cascades 옵티마이저가 JOIN 순서를 자동으로 최적화합니다. 파티션 키를 활용한 JOIN, DISTINCT, IN, GROUP BY, LIMIT BY 최적화도 함께 도입됩니다. 추가로 런타임 필터를 기본 활성화하고, Anti-JOIN 최적화(LEFT JOIN ... WHERE ... IS NULL을 NOT IN으로 변환)도 포함됩니다.
1.5 LowCardinality 최적화
#72717 - 단일 딕셔너리를 사용하는 LowCardinality 컬럼에 대한 전역 최적화가 도입됩니다. 딕셔너리가 충분히 작은 경우 전역 LowCardinality 딕셔너리를 활용한 최적화가 가능해집니다.
1.6 Query Cache 확장
- #51656 - 서브쿼리용 쿼리 캐시
- #57490 - 부분 결과 캐시
- #52141 - 디스크 기반 쿼리 캐시 (
cache디스크 활용)
이를 통해 반복 쿼리 패턴에서 응답 시간이 대폭 단축됩니다.
1.7 Block-level Hints
#48800 - 블록 수준의 데이터 힌트를 활용한 정렬 최적화가 도입됩니다.
1.8 Streaming Queries with Cursors
#63312 - 커서 기반 스트리밍 쿼리 모델이 도입됩니다. 이 기능은 MergeTree와 ReplicatedMergeTree에서 파티션별 FIFO 순서 보장, 빠른 커서 조회, 병렬 파티션 소비를 지원합니다. Window View를 대체하여 더 유연한 실시간 데이터 처리가 가능해집니다.
SQL 확장 구문은 다음과 같습니다.
SELECT ... FROM ... STREAM [TAIL | (CURSOR 'keeper-key' {cursor-map})]
주요 특징으로는 MergeTree에서 블록 번호 순서의 엄격한 FIFO 순서 보장, ReplicatedMergeTree에서 모든 복제본의 데이터에 대한 엄격한 FIFO 순서 보장, Distributed 테이블 지원, 그리고 Keeper를 통한 영구 커서 저장이 있습니다.
1.9 괄호 없는 SQL 함수
#52102 - 특정 SQL 함수에서 괄호 없이 사용할 수 있는 구문이 지원됩니다.
1.10 macOS JIT 컴파일 활성화
macOS에서도 JIT 컴파일이 활성화되어 쿼리 실행 성능이 향상됩니다.
2. Data Storage: 스토리지 계층의 혁신
2.1 Text Index GA (General Availability)
전문 검색(Full-Text Search) 기능이 정식 출시됩니다. ClickHouse는 완전히 재설계된 역색인(Inverted Index)을 도입했습니다. 관련 블로그에서 상세한 기술 내용을 확인할 수 있습니다.
새로운 Text Index는 Finite State Transducers(FST)를 사용한 효율적인 토큰 사전과 Roaring Bitmaps를 활용한 고압축 포스팅 리스트를 결합합니다. 기존 Bloom Filter 기반 접근법의 한계, 즉 수동 튜닝 필요성, false positive 문제, 다중 토큰 검색 미지원 등을 해결합니다.
또한 Text Index에 스코어링 기능이 추가되어 검색 결과의 관련성 순위 지정이 가능해집니다.
2.2 Unique Key Constraint
#70589 - 중복 레코드 삽입을 방지하는 고유 키 제약 조건이 도입됩니다.
CONSTRAINT check_unique_ab UNIQUE (a, b) TYPE impl_engine_name
이 제약 조건은 해당 컬럼 튜플의 모든 고유 값을 포함하는 데이터 구조를 유지합니다. 구현 방식은 128비트 해시를 사용하는 메모리 내 해시 테이블 또는 RocksDB 테이블 중 선택할 수 있습니다. 데이터 구조는 영구적이지 않으며 서버 재시작 시 테이블 데이터에서 재구축됩니다. INSERT IGNORE 쿼리도 지원됩니다.
분산 환경에서의 일관성은 Replicated/Shared MergeTree의 경우 Keeper를 통한 낙관적 트랜잭션과 재시도로 달성됩니다.
2.3 Automatic LowCardinality Columns
#69916 - 카디널리티가 낮은 컬럼을 자동으로 LowCardinality 타입으로 변환하여 저장 공간과 쿼리 성능을 최적화합니다.
2.4 통계 기능 강화
컴팩트 통계 저장과 통계 기본 활성화가 도입됩니다. 이를 통해 쿼리 옵티마이저가 더 정확한 카디널리티 추정을 수행할 수 있습니다.
2.5 Virtual Shards on Shared Storage (Cloud)
ClickHouse Cloud에서 공유 스토리지 위에 가상 샤드를 구현하여 탄력적인 확장성을 제공합니다.
2.6 ShardedMap Data Type
#47045 - Map 데이터 타입에 샤딩을 추가하여 대규모 Map 처리 성능을 향상시킵니다.
2.7 Transactions for Replicated Tables
Replicated 테이블에 대한 트랜잭션 지원이 추가되어 데이터 일관성이 강화됩니다.
3. Data Lakes: 레이크하우스 아키텍처 완성
2025년에 이어 2026년에도 Data Lake 통합은 핵심 우선순위입니다. Climbing the Iceberg with ClickHouse 블로그에서 ClickHouse의 Data Lake 전략을 확인할 수 있습니다.
3.1 Parquet 메타데이터 캐싱
Parquet 파일의 메타데이터를 캐싱하여 Data Lake 쿼리 성능을 크게 향상시킵니다.
3.2 데이터베이스/테이블 이름 지원 확장
- #71171 - 임의 중첩 데이터베이스/테이블 이름 지원
- #33935 - 대소문자 구분 없는 데이터베이스, 테이블, 컬럼 이름 지원
3.3 Iceberg v3 Deletion Vectors 지원
Iceberg v3의 Deletion Vectors를 지원하여 행 수준 삭제를 효율적으로 처리합니다. 2025년에 도입된 positional 및 equality delete 지원(#66588)에 이어 완전한 Iceberg 호환성을 달성합니다.
3.4 Query Condition Cache for Data Lakes
Data Lake에 대한 쿼리 조건 캐시가 도입되어 반복 쿼리 성능이 향상됩니다.
3.5 Lazy Columns Reading for Data Lakes
Data Lake에서 필요한 컬럼만 지연 로딩하여 I/O를 최소화합니다.
3.6 Data Lake Catalogs GA
AWS Glue, Unity Catalog, Nessie 등 주요 카탈로그 통합이 정식 출시됩니다.
3.7 클라우드 서비스 통합
- AWS S3 Tables 지원
- Google BigLake 지원
3.8 Plain Rewritable 메타데이터 스토리지
하드 링크를 지원하는 Plain Rewritable 메타데이터 스토리지가 도입됩니다.
3.9 Data Lake 위 Materialized Views
Data Lake 테이블 위에 Materialized View를 생성할 수 있게 됩니다. 이를 통해 Iceberg나 Delta Lake 데이터에 대한 실시간 집계가 가능해집니다.
3.10 Background Merges for Data Lakes (Cloud)
ClickHouse Cloud에서 Data Lake 테이블에 대한 백그라운드 머지를 지원하여 쿼리 성능을 최적화합니다.
3.11 자동 Cluster 함수
서브쿼리에 대한 자동 클러스터 함수가 도입됩니다.
4. Resiliency: 시스템 안정성 강화
4.1 자동 External Memory
- DISTINCT 및 LIMIT BY 자동 외부 메모리
- IN 연산 자동 외부 메모리
- JOIN 자동 외부 메모리
- S3로의 스필링 지원 (캐시 디스크 외 추가)
4.2 Workload Scheduler의 메모리 관리
#82414 - 워크로드 스케줄러에 메모리 예약 기능이 추가되어 리소스 격리가 강화됩니다.
4.3 GROUP BY in Order 기본 활성화
정렬된 데이터에서 GROUP BY 성능을 최적화하는 기능이 기본으로 활성화됩니다.
4.4 max_insert_threads 자동 선택
삽입 스레드 수가 워크로드에 따라 자동으로 최적화됩니다.
4.5 외부 메모리 공간 추적
외부 메모리 사용량을 추적하여 디스크 공간 관리를 개선합니다.
4.6 스칼라 서브쿼리 취소 허용
스칼라 서브쿼리의 취소가 가능해져 쿼리 제어가 향상됩니다.
5. Interfaces: 확장된 연결성
5.1 백그라운드 쿼리 완료
#49683 - 인터랙티브 쿼리가 백그라운드에서 완료되도록 허용합니다.
5.2 쿼리 재작성 규칙
#80084 - 설정 가능한 쿼리 재작성 규칙이 도입됩니다.
5.3 PromQL Dialect GA
Prometheus 쿼리 언어(PromQL) 지원이 정식 출시됩니다. Observability 워크로드에서 ClickHouse를 메트릭 스토어로 활용하기가 더욱 쉬워집니다.
5.4 Arrow Flight SQL 지원
Apache Arrow Flight SQL 프로토콜을 지원하여 고성능 데이터 전송이 가능해집니다.
5.5 Kafka2 GA
새로운 Kafka 엔진이 정식 출시됩니다.
5.6 SQL을 통한 Query Handler 설정
쿼리 핸들러를 SQL로 설정할 수 있게 됩니다.
5.7 Remote 및 Cloud Database Engines
#59304 - Remote 및 Cloud 데이터베이스 엔진이 도입됩니다.
5.8 UDF 드라이버
#71172 - 사용자 정의 함수용 드라이버가 지원됩니다.
5.9 WebAssembly UDFs
WebAssembly 기반 사용자 정의 함수를 지원하여 안전하고 이식성 높은 확장이 가능해집니다.
5.10 API for Query Construction
#64336 - HTTP 파라미터와 쿼리를 결합하고 테이블을 파일로 접근하는 새 핸들러가 추가됩니다.
5.11 Even Simpler Data Upload
#38775 - 더욱 간단한 데이터 업로드 방식이 도입됩니다.
5.12 URL 테이블 함수에 입력 데이터 전달
#45994 - URL 테이블 엔진 읽기 시 입력 데이터 지원이 추가됩니다.
5.13 쿼리 결과 프레이밍 포맷
쿼리 결과에 대한 프레이밍 포맷이 지원됩니다.
5.14 Predictive Autocomplete in CLI
#69641 - CLI에서 예측 자동 완성 기능이 추가되어 개발자 경험이 향상됩니다.
6. Cleanups: 레거시 정리
2026년에는 다음 레거시 기능들이 제거됩니다.
제거 대상 | 대체 기능 |
Old Analyzer | 새로운 분석기 |
Old Predicate Pushdown | 새로운 옵티마이저 |
Hypotheses Index | - |
Parquet Reader v1 | 통합된 새 Parquet 리더 |
Kusto (KQL) | 수정 또는 제거 |
Window View | Streaming Queries |
결론: ClickHouse 2026의 방향성
2026년 로드맵은 세 가지 핵심 방향을 보여줍니다.
첫째, 성능 극대화입니다. Flat Combining GROUP BY, Cascades JOIN 옵티마이저, 다양한 캐시 레이어 등을 통해 쿼리 성능을 한 단계 끌어올립니다.
둘째, 레이크하우스 완성입니다. Iceberg v3, 다양한 카탈로그 통합, Materialized Views on Data Lakes 등으로 ClickHouse를 레이크하우스 아키텍처의 핵심 쿼리 엔진으로 자리매김합니다.
셋째, 개발자 경험 향상입니다. 스트리밍 쿼리, WebAssembly UDF, Arrow Flight SQL 등 현대적인 개발 패러다임을 수용합니다.
ClickHouse는 단순한 OLAP 데이터베이스를 넘어 실시간 분석, 로그 처리, 벡터 검색, 그리고 레이크하우스 쿼리 엔진으로서의 역할을 모두 수행하는 통합 분석 플랫폼으로 진화하고 있습니다. 2026년 로드맵은 이러한 비전을 실현하기 위한 구체적인 청사진을 제시합니다.
본 글은 ClickHouse Roadmap 2026 (Draft) - GitHub Issue #93288을 기반으로 작성되었습니다.