Chapter 2
빅데이터의 탐색
📑 목차
1. 크로스 집계의 기본
2. 열 지향 스토리지와 MPP 데이터베이스
3. 데이터 시각화 도구의 종류와 특징
4. 데이터 마트의 기본 구조와 OLAP
5. 핵심 요약 정리
01
크로스 집계의 기본
데이터 시각화의 첫걸음은 대량의 데이터를 보기 좋은 형태로 변환하는 것입니다. 이때 핵심이 되는 개념이 바로 크로스 집계입니다.
트랜잭션 테이블 vs 크로스 테이블
📋 트랜잭션 테이블
데이터가 한 방향(행)으로 계속 추가되는 형태. DB에 저장하기엔 좋지만, 그대로 시각화하기엔 부적합
날짜 | 상품 | 수량 | 금액
1/1 | 사과 | 5 | 5000
1/1 | 바나나 | 3 | 3000
1/2 | 사과 | 2 | 2000
📊 크로스 테이블 (피벗)
행과 열이 교차하는 부분에 숫자가 들어가 한눈에 파악 가능. 시각화에 최적!
| 사과 | 바나나
1/1 | 5000 | 3000
1/2 | 2000 | 0
💡 비유로 이해하기
트랜잭션 테이블은 영수증을 차곡차곡 쌓아둔 것이고, 크로스 테이블은 그 영수증들을 엑셀 피벗 테이블로 정리한 것입니다. 영수증 뭉치에서 "1월에 사과를 얼마나 팔았지?"를 찾는 건 어렵지만, 피벗 테이블에서는 한눈에 보이죠.
대용량 데이터의 크로스 집계 전략
수백만 건 이상의 데이터에서는 피벗 테이블만으로 한계가 있습니다. 이때는 2단계 전략이 효과적입니다:
데이터 양을 크게 줄임 → 2️⃣ 시각화 도구로 표현
피벗·그래프로 변환
데이터 마트 크기의 Trade-off
📦 작은 데이터 마트
✅ 시각화가 빠르고 간단
⚠️ 원본 정보 손실 가능
🏗️ 큰 데이터 마트
✅ 많은 정보를 유지
⚠️ 시각화 도구가 느려질 위험
⚖️ 핵심은 균형(Balance)
정보의 손실과 시스템 성능 사이의 적절한 균형을 찾는 것이 성공적인 데이터 시각화의 열쇠입니다. 수백만 건 정도로 줄일 수 있다면 별도 시스템 없이도 충분합니다.
02
열 지향 스토리지와 MPP 데이터베이스
수억 건 이상의 데이터를 빠르게 집계하려면, 단순히 데이터를 읽는 속도를 넘어 저장 방식과 처리 방식 자체를 바꿔야 합니다.
행 지향 vs 열 지향 스토리지
📑 행 지향 (Row-oriented)
데이터를 행 단위로 저장. 모든 열을 한 번에 읽어와야 함
✅ 트랜잭션 처리에 최적화
⚠️ 대량 집계에는 부적합
📊 열 지향 (Column-oriented)
컬럼별로 압축 저장. 필요한 컬럼만 선택적으로 읽기 가능
✅ 데이터 분석·집계에 최적화
✅ 압축률이 높아 저장 공간 절약
💡 비유로 이해하기
행 지향은 학생 한 명의 성적표(이름, 국어, 영어, 수학…)를 통째로 꺼내오는 방식이고, 열 지향은 전교생의 "수학 점수"만 쭉 뽑아오는 방식입니다. "수학 평균"을 구하고 싶다면, 당연히 열 지향이 훨씬 빠르겠죠?
MPP(대규모 병렬 처리)란?
MPP 데이터베이스는 하나의 쿼리를 여러 개의 작은 작업(Task)으로 나누어, 다수의 CPU 코어가 동시에 처리하는 구조입니다.
💡 비유로 이해하기
1억 건의 시험지를 채점한다고 할 때, 선생님 1명이 전부 채점하면 며칠이 걸리지만, 1,000명의 선생님이 10만 장씩 나눠서 동시에 채점하면 순식간에 끝나죠. 이것이 MPP의 원리입니다.
📌 MPP의 3가지 핵심 기술
✔ 데이터 압축 — 읽어들이는 양을 줄여 디스크 I/O 부담 감소
✔ 데이터 분산 — 여러 디스크에 나눠 저장 → 병렬 읽기 가능
✔ 멀티 코어 활용 — 각 코어가 독립적으로 처리 → 초 단위 응답
시스템 선택 기준
작은 데이터 마트
MySQL, PostgreSQL
메모리 내 처리 가능한 규모라면 전통적인 RDBMS로 충분
큰 데이터 마트
Redshift, BigQuery
수억 건 이상이라면 열 지향 + MPP 통합 DB 사용
03
데이터 시각화 도구의 종류와 특징
데이터 시각화 도구는 크게 3가지 유형으로 나뉩니다. 각각의 특성과 용도가 다르므로, 상황에 맞게 선택해야 합니다.
📓
노트북 환경
Jupyter Notebook
✔ 애드혹 분석에 최적화
✔ 코드와 결과를 함께 기록
✔ matplotlib 등으로 즉시 그래프 생성
⚠️ 대화형 차트에는 한계
📺
대시보드 도구
Redash, Superset
✔ 정기적 모니터링에 적합
✔ 쿼리 → 표/그래프 자동 생성
✔ 실시간 지표 변화 감시
⚠️ 심층 분석에는 제한적
🔍
BI 도구
Tableau, Looker 등
✔ 대화형 심층 분석 가능
✔ 그래프 클릭 → 세부 데이터 확인
✔ 다양한 각도에서 데이터 탐색
✔ 데이터 마트와 연계 필수
💡 비유로 이해하기
노트북은 연구실의 실험 노트(자유롭게 탐험), 대시보드는 자동차 계기판(항상 현재 상태 표시), BI 도구는 의사의 MRI 장비(깊이 있는 정밀 검사)라고 생각하면 됩니다.
대시보드 도구 비교: Redash vs Superset
🔧 Redash
SQL 쿼리 결과를 그대로 시각화. 간단한 구조로, 데이터 소스 등록 → 쿼리 실행 → 그래프 생성 → 대시보드 추가 순서로 동작
🎨 Superset
마우스 조작만으로 그래프 생성 가능. 외부 데이터 저장소(Druid, MPP DB)를 활용해 빠른 응답속도 유지
04
데이터 마트의 기본 구조와 OLAP
BI 도구로 대화형 분석을 하려면, 복잡한 원본 데이터를 분석하기 쉬운 형태로 미리 가공해둔 데이터 마트가 필수입니다.
OLAP(온라인 분석 처리)이란?
OLAP은 데이터를 다차원 모델로 구성해, 사용자가 다양한 관점(시간, 지역, 제품 등)에서 집계·분석할 수 있도록 지원하는 기술입니다.
💡 비유로 이해하기
OLAP 큐브는 루빅스 큐브와 비슷합니다. 한 면은 "시간별 매출", 다른 면은 "지역별 매출", 또 다른 면은 "제품별 매출"을 보여줍니다. 큐브를 돌리면(차원을 바꾸면) 같은 데이터를 다른 각도에서 볼 수 있는 거죠.
📌 다차원 모델의 핵심 구성요소
✔ 디멘전(Dimension) — 데이터를 분류하는 기준 (예: 날짜, 제품명, 지역)
✔ 측정값(Measure) — 집계할 수 있는 숫자 (예: 판매액, 수량)
✔ OLAP 큐브 — 여러 조합의 집계 결과를 미리 계산해둔 구조
비정규화 테이블이란?
전통적인 DB 설계에서는 데이터 중복을 줄이기 위해 정규화(여러 테이블로 분리)를 합니다. 하지만 데이터 마트에서는 오히려 여러 테이블을 하나로 합치는 비정규화(Denormalization)가 유리합니다.
🔗 정규화 (여러 테이블)
✅ 데이터 중복 최소화
✅ 저장 효율적
⚠️ 분석 시 복잡한 JOIN 필요
📋 비정규화 (하나의 큰 테이블)
✅ JOIN 없이 바로 조회
✅ 분석·시각화에 최적
열 지향 스토리지와 궁합 최고!
💡 비유로 이해하기
정규화는 옷장을 상의/하의/양말 서랍으로 나눠서 정리한 것(깔끔하지만, 코디하려면 3개 서랍을 다 열어야 함)이고, 비정규화는 매일 입을 코디를 세트로 묶어 한 서랍에 넣어둔 것(바로 꺼내 입을 수 있음!)입니다.
다차원 모델의 확장
분석 요구가 바뀌면, 기존 비정규화 테이블에 새로운 컬럼(예: 제품 그룹)을 추가해서 다차원 모델을 확장할 수 있습니다. 한 번 구성한 데이터 마트를 기반으로 여러 그래프와 대시보드를 쉽게 업데이트할 수 있다는 것이 큰 장점입니다.
SUMMARY
핵심 요약 정리 ✨
크로스 집계는 트랜잭션 데이터를 피벗 테이블처럼 보기 좋은 형태로 변환하는 과정입니다.
열 지향 스토리지는 필요한 컬럼만 빠르게 읽어오고, MPP는 여러 코어로 동시에 처리합니다.
시각화 도구는 노트북(탐험) · 대시보드(모니터링) · BI(심층 분석) 세 가지로 나뉩니다.
OLAP 큐브는 같은 데이터를 시간·지역·제품 등 다양한 각도에서 볼 수 있게 해줍니다.
비정규화 테이블은 복잡한 JOIN 없이 바로 분석 가능하며, 열 지향 스토리지와 궁합이 좋습니다.
'책 리뷰 > 빅데이터를 지탱하는 기술' 카테고리의 다른 글
| [빅데이터를 지탱하는 기술] 6장 빅데이터 분석 기반의 구축 (0) | 2026.02.20 |
|---|---|
| [빅데이터를 지탱하는 기술] 5장 빅데이터의 파이프라인 (0) | 2026.02.20 |
| [빅데이터를 지탱하는 기술] 4장 빅데이터의 축적 (0) | 2026.02.20 |
| [빅데이터를 지탱하는 기술] 3장 빅데이터의 분산 처리 (0) | 2026.02.20 |
| [빅데이터를 지탱하는 기술] 1장 빅데이터의 기초 지식 (0) | 2026.02.20 |