Skip to content

Vectorization

  • Published on
    Cloudflare, Uber, Bloomberg, Yandex가 매일 수십조 행을 처리하는 분석 엔진, ClickHouse. 이 글은 ClickHouse의 내부를 처음부터 해부합니다. 컬럼나 vs 로우 기반의 근본 차이, MergeTree 엔진 패밀리(Replacing/Summing/Aggregating/Collapsing), Part와 Mutation, Sparse Primary Index와 Data Skipping Index, 벡터화 실행과 SIMD, 압축 코덱(LZ4/ZSTD/Delta/Gorilla), Materialized View, 분산 쿼리와 샤딩/복제, Keeper(ZooKeeper 대체), Projections, 그리고 DuckDB/Druid/Pinot와의 비교까지 — 현대 OLAP 엔진을 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.
  • Published on
    Pandas를 대체하고 ClickHouse를 임베디드로 가져온 분석 엔진, DuckDB. 이 글은 DuckDB의 내부를 처음부터 해부합니다. Mark Raasveldt와 Hannes Mühleisen의 2018년 CWI 프로젝트부터 2024년 1.0 릴리스까지의 여정, 단일 파일 단일 프로세스 설계, 컬럼나 저장 + Vector(1024 행 chunk), HyPer 스타일 Morsel-Driven 병렬 실행, 쿼리 최적화기와 cost-based join order, DuckDB Storage Format과 compression, Python/R/WASM/Node 바인딩, Parquet/Arrow 네이티브 통합, Polars와의 관계, Pandas 대체 워크플로우, 그리고 MotherDuck 클라우드 확장까지 — 임베디드 OLAP 엔진의 결정판을 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.
  • Published on
    모든 현대 CPU의 숨은 병렬성 SIMD. 이 글은 CPU 벡터화를 처음부터 해부합니다. 1996년 MMX부터 AVX-512, ARM NEON, SVE2까지의 진화, 128/256/512 bit 레지스터와 대표 명령어, horizontal/vertical 연산 패턴, SoA vs AoS 데이터 레이아웃, 자동 벡터화의 한계, C/C++ intrinsics 직접 사용, simdjson이 4 GB/s JSON 파싱을 달성한 방법, Highway와 std::simd로 포터블 SIMD 작성, Apple Silicon과 WebAssembly SIMD, 그리고 ML 추론/압축/암호화에서의 실전 활용까지 — 현대 고성능 시스템의 핵심 기법을 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.