ETL (추출, 변환, 적재)
핵심 인사이트 (3줄 요약)
다양한 소스에서 데이터를 추출·변환하여 목적지에 적재하는 프로세스. 데이터 웨어하우스 구축의 핵심. 데이터 품질 보장과 통합 관리.
📝 기술사 모의답안 (2.5페이지 분량)
📌 예상 문제
"ETL (추출, 변환, 적재)의 개념과 주요 기능을 설명하고, 기업 정보화 전략 관점에서의 도입 방안과 성공 요인을 논하시오."
Ⅰ. 개요
1. 개념
ETL(Extract, Transform, Load)은 **서로 다른 소스 시스템에서 데이터를 추출(Extract)하고, 분석에 적합한 형태로 변환(Transform)한 후, 목적지 시스템에 적재(Load)**하는 데이터 통합 프로세스다.
비유: "재료 손질 공정" - 각기 다른 곳에서 재료를 가져와(추출), 요리하기 좋게 손질하고(변환), 냉장고에 정리(적재)
Ⅱ. 구성 요소 및 핵심 원리
3. ETL 상세 프로세스
┌────────────────────────────────────────────────────────┐
│ ETL 상세 프로세스 │
├────────────────────────────────────────────────────────┤
│ │
│ 1. Extract (추출): │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 데이터 소스: │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ ERP │ │ CRM │ │ 로그 │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │
│ │ └────────────┼───────────┘ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ • 전체 추출 (Full) │ │ │
│ │ │ • 증분 추출 (Incremental) │ │ │
│ │ │ • CDC (Change Data Capture) │ │ │
│ │ └─────────────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ 2. Transform (변환): │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 데이터 정제: │ │
│ │ • 중복 제거 (Deduplication) │ │
│ │ • 결측값 처리 (Missing Value Handling) │ │
│ │ • 이상값 처리 (Outlier Treatment) │ │
│ │ │ │
│ │ 데이터 변환: │ │
│ │ • 포맷 변환 (날짜, 통화 등) │ │
│ │ • 인코딩 변환 │ │
│ │ • 단위 변환 │ │
│ │ │ │
│ │ 데이터 통합: │ │
│ │ • 조인 (Join) │ │
│ │ • 집계 (Aggregation) │ │
│ │ • 피벗 (Pivot) │ │
│ │ │ │
│ │ 비즈니스 규칙 적용: │ │
│ │ • 파생 컬럼 생성 │ │
│ │ • 계산 필드 추가 │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ 3. Load (적재): │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 적재 방식: │ │
│ │ • 전체 적재 (Full Load) │ │
│ │ • 증분 적재 (Incremental Load) │ │
│ │ • 갱신 적재 (Upsert/Merge) │ │
│ │ │ │
│ │ 적재 대상: │ │
│ │ • Data Warehouse (DW) │ │
│ │ • Data Lake │ │
│ │ • Data Mart │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────┘
4. ETL 도구
┌────────────────────────────────────────────────────────┐
│ ETL 도구 비교 │
├────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 상용 도구: │ │
│ │ ┌──────────────────────────────────────────┐ │ │
│ │ │ • Informatica PowerCenter │ │ │
│ │ │ • IBM DataStage │ │ │
│ │ │ • Microsoft SSIS │ │ │
│ │ │ • Oracle Data Integrator (ODI) │ │ │
│ │ │ • Talend │ │ │
│ │ └──────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 클라우드 네이티브: │ │
│ │ ┌──────────────────────────────────────────┐ │ │
│ │ │ • AWS Glue │ │ │
│ │ │ • Azure Data Factory │ │ │
│ │ │ • Google Cloud Dataflow │ │ │
│ │ │ • Fivetran │ │ │
│ │ │ • Stitch │ │ │
│ │ └──────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 오픈소스: │ │
│ │ ┌──────────────────────────────────────────┐ │ │
│ │ │ • Apache Airflow │ │ │
│ │ │ • Apache NiFi │ │ │
│ │ │ • Pentaho Kettle │ │ │
│ │ │ • dbt (data build tool) │ │ │
│ │ │ • Apache Spark │ │ │
│ │ └──────────────────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────┘
Ⅲ. 기술 비교 분석
2. ETL vs ELT
┌────────────────────────────────────────────────────────┐
│ ETL vs ELT 비교 │
├────────────────────────────────────────────────────────┤
│ │
│ ETL (전통적 방식): │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 소스 데이터베이스 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────┐ │ │
│ │ │ Extract │ ← 데이터 추출 │ │
│ │ └────┬────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────┐ │ │
│ │ │Transform│ ← ETL 서버에서 변환 │ │
│ │ │ 서버 │ (정제, 통합, 집계) │ │
│ │ └────┬────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────┐ │ │
│ │ │ Load │ ← DW에 적재 │ │
│ │ └─────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ ELT (클라우드 방식): │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 소스 데이터베이스 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────┐ │ │
│ │ │ Extract │ ← 데이터 추출 │ │
│ │ └────┬────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────┐ │ │
│ │ │ Load │ ← 원본 그대로 DW에 적재 │ │
│ │ └────┬────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌─────────────────────┐ │ │
│ │ │ Transform (in DW) │ ← DW 내부에서 변환 │ │
│ │ │ Snowflake, BigQuery │ (SQL 활용) │ │
│ │ └─────────────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ 비교표: │
│ ┌─────────────┬─────────────┬─────────────┐ │
│ │ 구분 │ ETL │ ELT │ │
│ ├─────────────┼─────────────┼─────────────┤ │
│ │ 변환 위치 │ ETL 서버 │ DW 내부 │ │
│ │ 확장성 │ 제한적 │ 높음 │ │
│ │ 대용량 │ 부적합 │ 적합 │ │
│ │ 복잡도 │ 중간 │ 낮음 │ │
│ │ 비용 │ 중간 │ 종량제 │ │
│ └─────────────┴─────────────┴─────────────┘ │
│ │
└────────────────────────────────────────────────────────┘
Ⅳ. 실무 적용 방안
**ETL (추출, 변환, 적재)**의 실무 적용 시나리오와 고려사항.
Ⅴ. 기대 효과 및 결론
| 효과 영역 | 내용 | 정량적 목표 |
|---|---|---|
| 경영 효율 | 프로세스 자동화·통합으로 업무 생산성 향상 | 행정 업무 처리 시간 40% 단축 |
| 의사결정 | 실시간 BI·분석으로 데이터 기반 의사결정 지원 | 의사결정 속도 50% 향상 |
| IT 거버넌스 | 표준화된 거버넌스 체계로 IT 리스크 관리 강화 | IT 감사 지적 사항 60% 감소 |
결론
**ETL (추출, 변환, 적재)**은(는) 기업 정보 시스템은 ERP·CRM에서 시작하여 DX(디지털 전환)·초자동화(Hyper-automation)·AI 통합으로 진화하며, 기업의 모든 운영 영역을 데이터로 연결하는 디지털 기업(Digital Enterprise)의 근간이 될 것이다.
※ 참고 표준: ITIL v4(AXELOS), COBIT 2019(ISACA), ISO/IEC 20000-1:2018, ISO 9001
어린이를 위한 종합 설명
ETL를 쉽게 이해해보자!
다양한 소스에서 데이터를 추출·변환하여 목적지에 적재하는 프로세스. 데이터 웨어하우스 구축의 핵심. 데이터 품질 보장과 통합 관리.
왜 필요할까?
기존 방식의 한계를 넘기 위해
어떻게 동작하나?
복잡한 문제 → ETL 적용 → 더 빠르고 안전한 결과!
핵심 한 줄:
ETL = 똑똑하게 문제를 해결하는 방법
비유: ETL은 마치 요리사가 레시피를 따르는 것과 같아. 혼란스러운 재료들을 정해진 순서대로 조합하면 → 맛있는 요리(최적 결과)가 나오지! 🍳