ETL (Extract, Transform, Load)

1. ETL (Extract, Transform, Load)의 개념 및 필요성

개념도
개념BI, 고급 분석 등 위해 다양한 소스의 데이터를 추출(Extract)하고 변환(Transform)하여 데이터 웨어하우스, 데이터 레이크 등에 적재(Load)하는 데이터 통합 프로세스
  • 현대 데이터 분석 환경은 데이터 규모/소스/유형 증가와 BI(Business Intelligence) 업무, 머신 러닝 등 고급 분석 필요성이 증가하여 센서, CRM, ERP의 원시 데이터를 필요한 시스템에서 사용하도록 정형화하여 적재하는 ETL 프로세스가 필수 요소

 

2. ETL의 동작 절차 및 주요 기능

(1) ETL의 동작 절차

(2) ETL의 주요 기능

구문주요 기능동작 방식
추출
기능
업데이트 알림소스 시스템의 데이터 레코드 변경 시 사용자에 알림
증분 추출일정 기간 동안 수정된 데이터를 식별하고 추출
전체 추출수정 여부 무관, 추출 대상 모든 데이터를 추출
기본
변환
기능
데이터 정리오류 제거, 소스 데이터를 대상 데이터 형식에 매핑
데이터 중복 제거데이터 세트 내 중복 레코드를 식별하고 제거
데이터 형식 수정문자 집합, 단위, 날짜/시간 등 일관된 형식으로 변환
고급
변환
기능
파생데이터에 규칙을 적용하여 기존 값에서 새로운 값을 계산
결합서로 다른 데이터 소스의 동일한 데이터를 연결
분할열 또는 데이터 속성을 대상 시스템에서 여러 열로 분할
요약데이터 값을 핵심 데이터 세트로 줄여 데이터 품질 향상
암호화DES, AES, MD5, SHA 등 암호화하여 중요 데이터 보호
적재
기능
전체 적재소스의 전체 데이터가 변환되어 목표 시스템으로 이동
증분 적재대상 시스템과 소스 시스템 간 일정한 크기/차이로 이동
스트리밍 증분 적재데이터 파이프라인을 통해 지속적 변경 사항을 이동
배치 증분 적재데이터 변경 사항을 주기적 배치 단위 적재 (큰 볼륨 경우)
  • ETL 상용 소프트웨어로 Oracle OWB, SAP Data Integrator, IBM Datastage, AWS Glue 등이 있으며, 빅데이터 및 스트리밍 데이터 통합 시 ELT 프로세스 적용
  • 데이터를 변환 후 적재하는 ETL과 비교하여, 적재 후 변환하는 ELT 프로세스는 가용성이 높고 스테이징 영역이 불필요 하나 데이터 파이프라인 개발 어려움

 

3. ETL과 ELT 비교

비교 항목ETLELT
동작 절차추출 → 변환 → 적재추출 → 적재 → 변환
데이터 가용성ETL 미적용 데이터 사용 불가모든 데이터 적재 및 사용 가능
스테이징 영역변환용 스테이징 영역 필요변환용 스테이징 영역 불필요
보안 수준적재 전 암호화로 보안 수준 높음적재 후 암호화로 상대적 보안 수준 저하
기술 성숙도기존 기술로 기술 성숙도 높음신기술이므로 파이프라인 개발 어려움
  • 온프레미스 DBMS 환경이나 민감 정보, 데이터 스키마가 변하지 않는 경우 ETL 프로세스가 적합, Cloud 환경이나 대량 및 실시간 데이터 전송이 중요한 경우 ELT 프로세스가 적합
  • CDC(Change Data Capture)의 경우, 소스 DBMS 데이터 변경 시 원격 DBMS 실시간 동기화 가능하나 기본적으로 데이터 변환은 불가

 

[참고]

  • AWS, 추출 변환 적재(ETL)란 무엇인가요
  • Databricks, ETL이란 무엇입니까
  • Intergrate.io, ETL과 ELT 비교: 5가지 주요 차이점

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^