ETL Design Framework (ETL 설계 프레임워크)
Key Insight
ETL(Extract-Transform-Load)은 다중 소스 데이터를 수집·정제·통합하는 3단계 프로세스이며, 10가지 설계 원칙(확장성, 신뢰성, 유연성 등)을 기반으로 견고한 파이프라인을 구축.
ETL의 3단계
1. Extract (추출)
다양한 소스에서 필요한 데이터를 정확하게 취득 (출처: data-architecture-basics-heartcount):
데이터 원본:
- 트랜잭션 데이터: OLTP DB, ERP, CRM
- 외부 데이터: 3자 API, 데이터마켓
- 행동 데이터: 웹 로그, 사용자 인터랙션
- 실시간: IoT 센서, 스트림 데이터
핵심 고려사항:
- 소스 시스템의 부하 최소화
- 증분 추출(Incremental) vs 전체 추출(Full)
- 추출 일정 및 빈도
2. Transform (변환)
데이터를 분석·저장 가능한 형태로 정제·변환 (출처: etl-pipeline-design-principles):
정제 (Data Cleaning):
- 누락값 처리 (fillna)
- 중복 제거
- 이상치(anomaly) 처리
- 타입 변환 (to_numeric, date parsing)
비즈니스 로직:
- 조인/병합
- 집계 (sum, avg, group by)
- 파생 변수 생성
데이터 검증:
- 범위 확인 (min/max)
- 포맷 검증
- 무결성 확인
3. Load (적재)
정제된 데이터를 대상 시스템에 저장 (출처: data-architecture-basics-heartcount):
대상 시스템:
- 데이터 웨어하우스 (DW)
- 데이터 레이크 (DL)
- 데이터 마트 (DM)
로드 전략:
- Full Load: 전체 재적재
- Incremental Load: 변경분만 추가
ETL vs ELT 패러다임 (ETL 진화)
기존 ETL (Extract-Transform-Load)
- 순서: 데이터 추출 → 변환/정제 → 저장
- 장점: 저장소로 들어가는 데이터가 이미 정제됨
- 단점: 변환 비용 높음 (전처리 리소스 필요), 다양한 형식의 데이터 처리 어려움
신규 ELT (Extract-Load-Transform) (출처: etl-future-technology-kyobo)
- 순서: 데이터 추출 → 빠른 저장 → 변환/정제
- 장점: 추출 및 적재 속도 극대화, 복잡 전처리 최소화, 다양한 형식 수용
- 단점: 저장소 용량 증가, 변환 비용이 저장소 계산 비용으로 이전
언제 어느 것을 쓸 것인가?
- ETL: 데이터 크기 작음, 정제 규칙 복잡함
- ELT: 빅데이터, 클라우드 스토리지 저렴, 변환 유연성 필요
10가지 설계 원칙
ETL 파이프라인을 구축할 때 반드시 고려할 10가지 원칙 (출처: etl-pipeline-design-principles):
| 원칙 | 설명 | 예시 |
|---|---|---|
| 1. 확장성 | 데이터 볼륨 증가에 대응 | 병렬 처리, 클라우드 리소스 |
| 2. 신뢰성 | 실패 시 복구 가능 | 백업, 재시도 로직, 트랜잭션 |
| 3. 유연성 | 다양한 데이터 형식 수용 | 설정 기반 파이프라인 |
| 4. 재사용성 | 코드 중복 제거 | 모듈화, 라이브러리 |
| 5. 모니터링 | 실시간 상태 추적 | 대시보드, 로그, 알림 |
| 6. 품질 보증 | 데이터 품질 검증 | 유효성 검사, 이상치 탐지 |
| 7. 보안 | 데이터 보호 | 암호화, 접근 제어, 감시 |
| 8. 최적화 | 비용 효율성 | 리소스 최적화, 캐싱 |
| 9. 버전 관리 | 파이프라인 추적 | Git, CI/CD 파이프라인 |
| 10. 문서화 | 이해도 향상 | 다이어그램, 주석, README |
DAP 위키에서의 활용
dap-wiki-ops-master-plan의 관리 프로세스 정의에서:
- 데이터 수집 자동화의 ETL 프로세스 설계
- 위키의 raw/ → wiki/ 처리 파이프라인 구조화
- 10가지 원칙을 가이드로 운영 정책 수립
AI 기반 자동화의 통합
2024년 이후 ETL 파이프라인에 AI/자동화가 통합되는 추세 (출처: etl-future-technology-kyobo):
AI가 자동화하는 영역
- 데이터 로그 자동 분석: 이상 패턴 탐지, 성능 저하 예측
- 손실(Data Loss) 최소화: 누락된 데이터 자동 감지, 알림
- 휴먼 에러 감소: 스키마 자동 탐지, 타입 추론
- 품질 검증 자동화: 유효성 규칙 자동 생성
클라우드 기반 관리형 서비스의 AI 통합
- AWS Glue: 자동 스키마 탐지, 자동 데이터 카탈로깅
- Azure Data Factory: AI 기반 매핑 추천
- Google BigQuery: 자동 최적화, 쿼리 제안
⚠️ 주의: 자동화 ≠ 자동 결정
- AI는 이상을 감지하지만, 심각도 판정과 정책 수립은 인간의 역할
- 자동화된 경보에 대한 인간의 의사결정 필요
실전 체크리스트
데이터 파이프라인을 설계할 때:
- Extract: 모든 데이터 원본 파악
- Transform: 정제 규칙 문서화 (ETL/ELT 선택 결정)
- Load: 대상 시스템 사양 확인
- 10가지 원칙 적용 여부 검토
- AI 자동화 도구 활용 계획 수립
관련 개념
- lakehouse-architecture — 데이터 저장소 설계
- data-quality-and-governance — 품질 관리