X

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 비교

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

 

[참고]

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