[ClickHouse Deep Dive] 3편: 극한의 CPU 성능을 쥐어짜는 쿼리 엔진의 비밀 (SIMD, 멀티코어, JIT 컴파일)
1편과 2편에서는 ClickHouse의 스토리지 구조와 필요한 데이터 블록만 칼같이 골라내는 Data Pruning(가지치기) 기술을 알아보았습니다. 하지만 인덱스를 통해 최소한의 데이터만 메모리에 올렸다고 해도, 그 데이터가 수억, 수십억 건에 달한다면 연산 엔진의 효율성이 전체
[ClickHouse Deep Dive] 2편: 물리 파일 구조와 초고속 조회를 가능하게 하는 Data Pruning 기술
1편에서는 ClickHouse의 전반적인 아키텍처와 함께 MergeTree 엔진이 디스크 상에 'part'라는 불변의 단위를 어떻게 생성하고 병합하는지 알아봤습니다. 하지만 ClickHouse가 진정으로 빛을 발하는 순간은 수십억, 수백억 건에 달하는 대규모 데이터에서 원하는 결과를
[ClickHouse Deep Dive] 1편: 대용량 로그 분석을 위한 ClickHouse 아키텍처 및 저장 구조
최근 대규모 인프라와 서비스에서 발생하는 페타바이트급 대용량 로그 및 이벤트 데이터를 실시간으로 분석하기 위해 ClickHouse를 도입하는 기업이 늘고 있습니다. ClickHouse는 극단적인 속도를 자랑하는 오픈소스 컬럼 지향(Column-oriented) OLAP 데이터베이스 관리 시스템입니다.
이번 글에서는