1. ETL이란? (Extraction · Transformation · Load)

데이터를 ODS(운영 데이터 스토어), DW(데이터 웨어하우스), DM(데이터 마트) 같은 저장소로 옮길 때 핵심이 되는 “표준 용어”
여러 곳에 흩어진 데이터를 꺼내서(Extract) → 분석하기 좋게 다듬고(Transform) → 목적지에 넣는(Load) 과정
1-1. ETL 3단계
✅ ① Extract(추출)
- ERP, CRM, DB, 로그, 외부 API 등 여러 원천 시스템에서 데이터를 가져오는 단계
- 정형/비정형/실시간 스트리밍 데이터까지 가능
✅ ② Transform(변환) — ETL의 핵심(=데이터 품질의 핵심)
추출된 데이터를 분석 가능한 형태로 바꾸는 단계
- Cleansing(정제): 오류/누락/이상치 처리
- Standardization(표준화): 날짜/단위/코드 체계 통일
- Integration(통합): 고객ID 등 키 기준으로 데이터 결합
- Aggregation(집계): 일/월/분기 단위 요약
- 파생 변수 생성: 예) 구매금액 = 단가 × 수량, 고객등급 등
✅ ③ Load(적재)
변환된 데이터를 목적지(ODS/DW/DM)에 넣는 단계
- Full Load: 전체 적재 (보통 초기 적재)
- Incremental Load: 변경분만 적재
- Real-Time Load: 이벤트 발생 즉시 적재
1-3. ETL 작업 흐름(현업 프로세스 형태)
✅ ETL 대표 흐름
Interface → Staging → Profiling → Cleansing → Integration → Denormalizing
- Interface: 이기종 DBMS/시스템에서 데이터를 받기 위한 연결(인터페이스) 구현
- Staging: 받은 데이터를 임시로 쌓는 구간(스테이징 테이블 저장)
- Profiling: 데이터 분포/결측/유일성/도메인 등 품질 측정
- Cleansing: 규칙 기반으로 오류 데이터 수정
- Integration: 충돌 해결 후 통합 데이터 생성
- Denormalizing(비정규화): DW/DM 적재나 리포트 성능을 위해 구조를 단순화
1-4. ODS(Operation Data Store)란?

ODS는 운영 시스템과 DW 사이에 위치한 중간 저장소
- 운영 데이터(OLTP)가 계속 바뀌니까
→ 실시간 또는 근실시간으로 통합된 형태로 모아두고
→ 현업이 “지금 당장” 조회/처리할 수 있게 해주는 목적이 큼
ODS 특징 한 줄 요약
“지금 상태를 빠르게 보기 위한 통합 저장소”
ODS 구성 단계(현업 흐름으로 보기)
- 인터페이스: 원천에서 데이터 획득(실시간 복제 기술도 활용)
- 데이터 스테이징: 스테이징 테이블 저장 (일대일/일대다 매핑 가능)
- 데이터 프로파일링: 범위/도메인/유일성 규칙 기반 품질 점검
- 데이터 클렌징: 오류 수정
- 데이터 인티그레이션: 단일 통합 테이블에 적재
- 익스포트(Export): DW 또는 다른 시스템으로 이관
1-5. 데이터 웨어하우스(DW)란?
DW는 ODS에서 정제·통합된 데이터가 ‘분석과 보고서’ 목적으로 쌓이는 중앙 저장소
기업 내 여러 시스템 데이터를 모아서 OLAP(분석용)으로 활용
✅ DW 특징 4가지 (시험 단골)
- 주제 중심성(Subject-Oriented): 업무/분석 주제 기준으로 구성
- 통합성(Integrated): 이기종 데이터를 일관된 기준으로 통합
- 시계열성(Time-Variant): 시간 흐름에 따른 이력 데이터 보관
- 비휘발성(Non-Volatile): 읽기 위주, 삭제/수정 거의 없음(추가 적재 중심)
✅ 암기 팁: 주·통·시·비 (주제/통합/시계열/비휘발)
1-6. DW 모델링: 스타 스키마 vs 스노우플레이크 스키마
✅ 스타 스키마(Star Schema)
- Fact(사실 테이블) 1개 중심 + 여러 Dimension(차원 테이블)
- 구조가 단순해서 이해/쿼리 작성이 쉬움
- 단, 차원 테이블이 비정규화되어 중복 데이터가 생길 수 있음
✅ 스노우플레이크 스키마(Snowflake Schema)
- 스타 스키마의 차원 테이블을 정규화해서 여러 테이블로 쪼갠 형태
- 중복 감소, 적재 효율/정합성 관리에 유리
- 대신 조인이 늘어 쿼리가 복잡해질 수 있음
- 스타: 단순 / 조인 적음 / 조회 유리 / 중복 가능
- 스노우플레이크: 정합성 / 중복 감소 / 조인 많음 / 복잡
1-7. 운영DB vs ODS vs DW (표로 끝내기)
| 구분 | 운영DB | ODS | DW |
| 주 목적 | 거래 처리(등록/수정/삭제) | 운영 지원용 실시간·근실시간 조회 | 중장기 분석·의사결정 |
| 사용자 | 현업/서비스 | 운영 담당자, 실무자 | 경영진, 기획/분석, 데이터 분석가 |
| 데이터 신선도 | 매우 높음(실시간) | 매우 높음(실시간/근실시간) | 상대적으로 낮음(배치 중심) |
| 데이터 기간 | 현재 중심 | 최근 데이터 중심(짧음) | 역사 데이터(길다) |
| 모델링 | 정규화 중심 | 운영DB 유사(정규화 많음) | 스타/스노우플레이크 등 분석용 모델 |
| 쿼리 성격 | 단건/트랜잭션 | 상세조회, 조건필터, 간단 집계 | 대량 집계, 피벗, 다차원 분석 |
| 예시 질문 | “주문 1건 취소 처리” | “지금 미출하 주문 몇 건?” | “3년간 지역별 매출 성장률?” |
🔥마지막 정리(진짜 시험용 3줄)
- ETL = 추출 → 변환(핵심) → 적재
- ODS = “지금” 운영 조회를 위한 근실시간 통합 저장소
- DW = 분석/리포트용 역사 데이터 저장소, 특징은 주·통·시·비
'Study Log > ADP' 카테고리의 다른 글
| [ADP 필기 요약]_2과목 데이터 처리 기술 이해_③ (1) | 2026.02.11 |
|---|---|
| [ADP 필기 요약]_2과목 데이터 처리 기술 이해_② (0) | 2026.02.05 |
| [ADP 필기 요약]_1과목 데이터의 이해_⑤ (0) | 2026.02.02 |
| [ADP 필기 요약]_1과목 데이터의 이해_④ (0) | 2026.01.31 |
| [ADP 필기 요약]_1과목 데이터의 이해_③ (0) | 2026.01.31 |