Column-Family DB

Column-Family DB는 넓은 행을 접근 패턴에 맞춰 설계한다

Cassandra, HBase 계열의 핵심은 컬럼형 분석 DB가 아니라 wide-row 모델입니다. row key로 행을 찾고, 함께 읽는 컬럼들을 column family로 묶어 대규모 분산 읽기·쓰기에 맞춥니다.

row key device:42
profile
model: A100
region: seoul
metrics
2026-05-01T10: 38.1
2026-05-01T11: 38.7
events
boot: ok
alert: none
1 읽을 질문을 먼저 정한다 장치별 최근 측정값, 사용자별 이벤트처럼 접근 경로를 좁힙니다.
2 row key를 설계한다 분산이 고르게 되면서 필요한 범위를 빠르게 찾도록 키를 잡습니다.
3 함께 읽는 컬럼을 묶는다 profile, metrics, events처럼 사용 패턴별로 family를 나눕니다.
Sparse 행마다 컬럼 수가 달라도 된다 값이 없는 칸을 억지로 채우지 않고 필요한 컬럼만 저장합니다.
Scale 대규모 쓰기와 랜덤 접근에 강하다 로그, 시계열, IoT처럼 row key 기반 접근이 분명한 곳에 잘 맞습니다.
Tradeoff 임의 조인·ad-hoc 분석은 약하다 질문이 자주 바뀌는 분석은 columnar OLAP DB가 더 맞을 수 있습니다.
정리
Column-Family DB는 “특정 컬럼만 읽는 분석 DB”가 아니라 “row key와 column family를 미리 설계하는 wide-column DB”로 이해해야 합니다.