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은 마치 요리사가 레시피를 따르는 것과 같아. 혼란스러운 재료들을 정해진 순서대로 조합하면 → 맛있는 요리(최적 결과)가 나오지! 🍳