AI 용어집 · 심화 · 데이터 엔지니어링
컬럼형 저장 Columnar Storage
컬럼형 저장은 표 데이터를 행(한 줄) 단위가 아니라 열(컬럼) 단위로 모아 저장하는 방식이다. 특정 열 몇 개만 읽어 합계·평균을 내는 분석 작업을 훨씬 빠르고 싸게 만든다.
어떻게 작동하나
일반 데이터베이스는 한 고객의 이름·나이·주소·가입일을 붙여서 한 줄로 저장한다. 컬럼형 저장은 이름은 이름끼리, 나이는 나이끼리 따로 모아 저장한다. 그래서 '나이 평균'을 구할 때 나이 열만 읽고 나머지는 건드리지 않는다. 같은 열에는 비슷한 값이 몰려 있어 압축도 잘 되므로, 디스크에서 읽어 오는 양이 더 줄어든다.
행 단위 저장 대 컬럼형 저장
행 단위 저장한 고객 = 한 줄
- 한 건 추가·수정이 빠름
- 평균 하나 내려 해도 모든 열을 읽음
- 거래 처리용 데이터베이스
컬럼형 저장한 열 = 한 묶음
- 필요한 열만 읽음
- 비슷한 값끼리 모여 압축이 잘 됨
- 한 건씩 쓰기는 불리
왜 중요한가
분석 질문은 보통 열은 몇 개만, 행은 아주 많이 읽는다. 컬럼형 저장은 바로 이 모양에 맞춰져 있어서 데이터 웨어하우스와 OLAP 시스템의 기본 저장 방식이 되었다. Parquet 같은 컬럼형 파일 형식은 데이터 레이크에서 표준처럼 쓰이고, AI 학습 데이터를 보관·필터링할 때도 자주 쓰인다. 읽는 양이 줄면 클라우드에서 스캔한 양만큼 내는 비용도 함께 줄어든다.
알아 둘 점
한 건씩 넣고 고치는 작업에는 불리하다. 한 줄을 추가하려면 여러 열 묶음을 모두 건드려야 하기 때문이다. 그래서 시스템들은 새 데이터를 잠시 모아 두었다가 한꺼번에 쓰는 식으로 이 약점을 보완한다. 서비스의 실시간 거래 기록은 행 단위 데이터베이스에, 분석은 컬럼형 저장소에 두는 식으로 나눠 쓰는 경우가 많다.
예시
데이터 팀이 수억 건의 웹 로그 가운데 '날짜'와 '페이지' 열만 골라 일별 방문 수를 집계할 때, 로그가 Parquet 같은 컬럼형 파일로 저장돼 있으면 필요한 두 열만 읽으면 된다. LLM 학습용 데이터셋을 공개 저장소에서 내려받을 때 Parquet 파일로 제공되는 경우가 많은 것도 같은 이유다.