Clickhouse란?

ClickHouse는 Yandex에서 개발한 오픈소스 칼럼 기반(column-oriented) OLAP 데이터베이스 관리 시스템(DBMS)입니다. 대용량 데이터의 실시간 분석에 특화되어 있으며, 초당 수십억 행의 데이터를 처리할 수 있는 높은 성능을 자랑합니다.

Clickhouse를 알아보기에 앞서 column-oriented와 row-oriented 데이터베이스의 개념과 특징을 간단히 알아봅시다.

📊 Row-Oriented vs Column-Oriented 비교

데이터 저장 구조

[Row-Oriented]
[id|name |age|city  ] → Row 1
[1 |John |25 |Seoul ] → Row 2
[2 |Jane |30 |Busan ] → Row 3
[3 |Mike |35 |Daegu ] → Row 4

[Column-Oriented]
id  : [1, 2, 3]
name: [John, Jane, Mike]
age : [25, 30, 35]
city: [Seoul, Busan, Daegu]

💫 특징 비교

구분 Row-Oriented (MySQL) Column-Oriented (ClickHouse)
저장 방식 레코드 단위로 연속 저장 컬럼 단위로 연속 저장
최적화 OLTP (트랜잭션 처리) OLAP (분석 처리)
주 용도 실시간 트랜잭션 처리 대규모 데이터 분석

🔄 장단점 비교

특성 Row-Oriented (MySQL) Column-Oriented (ClickHouse)
단일 레코드 처리 ✅ 빠른 읽기/쓰기
✅ 모든 필드 한 번에 접근 ❌ 상대적으로 느림
❌ 컬럼 데이터 재조합 필요
대량 데이터 분석 ❌ 불필요한 데이터도 읽음
❌ 전체 디스크 스캔 필요 ✅ 필요한 컬럼만 읽음
✅ 효율적인 디스크 I/O
데이터 압축 ❌ 상대적으로 낮은 압축률 ✅ 높은 압축률
✅ 동일 타입 데이터 연속 저장
트랜잭션 ✅ ACID 보장
✅ 복잡한 트랜잭션 처리 ❌ 제한적 트랜잭션
❌ ACID 미보장
데이터 수정 ✅ 빠른 수정/삭제
✅ 실시간 업데이트 ❌ 수정 작업 비효율적
❌ 배치 처리 필요
집계 쿼리 ❌ 상대적으로 느린 처리 ✅ 빠른 집계 처리
✅ 효율적인 병렬 처리

📊 ClickHouse 특징과 장단점

🎯 주요 특징

1. 고성능 데이터 처리

2. 유연한 테이블 엔진