본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Extraction, Transformation, Loading
Extraction, Transformation, Transportation
  • ETL과 ETT는 같은 용도로 사용되는 동의어
    • Extraction: 추출
    • Transformation: 가공
    • Transportation: 전송
    • Load: 저장

ETL은 여러 원천 시스템에서 데이터를 꺼내(추출) 분석에 맞는 형태로 바꾼 뒤(변환) 데이터 웨어하우스, 데이터 마트, ODS 같은 대상 저장소에 넣는(적재) 데이터 통합 과정이다. Oracle 데이터 웨어하우징 문서는 ETL이 뚜렷이 나뉜 세 단계라기보다 넓은 과정을 가리키며, 약어에는 원천에서 대상으로 데이터를 옮기는 전송(transportation) 단계가 빠져 있다고 설명한다. ETT라는 이름은 이 전송 단계를 드러낸 표현이다.

ADP 필기 2과목 '데이터 처리 프로세스'는 ETL을 CDC, EAI와 함께 대표적인 데이터 처리·통합 기술로 다룬다.

ETT/ETL의 단계

편집 원본 편집
단계 내용
추출
  • 원본 파일과 트랜잭션 데이터베이스로부터 데이터 웨어하우스에 저장될 데이터를 추출하는 과정
  • 추출의 기준이 명확해야 함
  • 초기 추출(Migration) : 데이터 웨어하우스에 최초로 데이터를 구축할 때 이용
  • 주기적 추출(Batch) : 데이터 웨어하우스 초기 추출 이후에 일/월 단위의 주기적인 보완
가공
  • 질적으로 문제가 있는 데이터에 대해 데이터 정제(Cleansing) 기법을 이용
  • 열(Column) 수준 : 각 도메인의 값들에 대한 정제
  • 레코드 수준 : 셀렉션(Selection), 조인(Join), 집단화 기능을 이용
전송/저장
  • 선택된 데이터를 데이터 웨어하우스에 전송해서 저장하고, 필요한 색인을 작성
  • 일괄(Batch) ETL
  • 실시간(Real Time) ETL

추출(Extraction)

편집 원본 편집
방식 설명 특징
전체 추출(Full Extraction) 원천 시스템의 데이터를 통째로 꺼낸다. 테이블 전체를 내보낸 파일이나 테이블 전체를 읽는 SQL 문이 예이다 지난 추출 이후 무엇이 바뀌었는지 추적할 필요가 없지만 데이터가 많으면 시간과 부하가 크다
증분 추출(Incremental Extraction) 정해 둔 시점(보통 지난 추출 시각) 이후에 바뀐 데이터만 꺼낸다 변경분을 알아낼 수단(수정 시각 컬럼, 변경 로그, CDC 등)이 있어야 한다

원천은 대개 추출을 위해 고치거나 성능을 조정할 수 없는 업무 시스템이므로, 추출 방식은 원천 부하를 고려해 정한다.

변환(Transformation)

편집 원본 편집
작업 내용
정제(Cleansing) 누락·중복·오류 값을 찾아 고치거나 걸러 낸다
통합(Integration) 여러 원천에서 같은 대상을 가리키는 데이터를 하나로 묶고 충돌을 해소한다
표준화(Standardization) 코드, 단위, 형식을 하나의 기준으로 맞춘다
집계(Aggregation) 분석 단위에 맞게 합계·평균 등을 미리 계산한다
비정규화(Denormalization) 조회 성능을 위해 정규화된 테이블을 합쳐 중복을 허용한다
  • 초기 적재: 대상 저장소를 처음 만들 때 과거 데이터를 한꺼번에 넣는다. 원문 표의 초기 추출(Migration)에 대응한다.
  • 전체 적재: 대상 테이블을 비우고 전체를 다시 넣는다.
  • 증분 적재: 바뀐 데이터만 추가하거나 갱신한다.

ETL 작업 단계

편집 원본 편집

ADP 교재(데이터분석 전문가 가이드)는 ETL 작업을 다음 순서의 단계로 나누어 설명한다.

단계 하는 일
Interface 이기종 DBMS, 파일, 스프레드시트 등 다양한 원천에서 데이터를 받아 오는 인터페이스를 구현한다
Staging 정해진 일정에 따라 원천 데이터를 받아 스테이징 테이블에 그대로 저장한다
Profiling 스테이징 데이터의 특성을 살피고 품질을 측정한다
Cleansing 프로파일링 결과를 바탕으로 잘못된 데이터를 보정한다
Integration 정제된 데이터를 통합하고 데이터 간 충돌을 해소해 대상 테이블(ODS 등)에 적재한다
Denormalizing 보고서 작성이나 데이터 웨어하우스·데이터 마트 적재를 위해 비정규화한다

ODS·데이터 웨어하우스와의 관계

편집 원본 편집
  • ODS(Operational Data Store)는 여러 원천의 현재 데이터를 정제·통합해 두는 운영 지원용 저장소로, 이력이 짧고 ETL이나 CDC로 자주 갱신한다.
  • 데이터 웨어하우스는 주제 지향, 통합, 비휘발, 시간 가변의 성격을 가진 분석용 저장소이다. ETL로 주기적으로 적재하며, ODS가 데이터 웨어하우스 적재의 원천이 되기도 한다.
  • 일반적인 흐름은 원천 시스템 → 스테이징 → ODS → 데이터 웨어하우스 → 데이터 마트이다.

배치 ETL과 실시간 ETL

편집 원본 편집
구분 배치(일괄) ETL 실시간(근접 실시간) ETL
처리 시점 하루 1회, 매시 등 정해진 주기 변경이 생기는 대로 짧은 지연 후(CDC로 변경 감지)
장점 대량 처리에 효율적 데이터가 최신 상태에 가까움
단점 다음 주기까지 데이터가 늦음 순서 보장·중복 처리 설계가 복잡함

과거 데이터는 배치로 초기 적재하고 이후 변경분은 CDC로 따라잡는 식으로 함께 쓰는 경우가 많다. 자세한 비교는 데이터 연계 및 통합 기법 문서를 참고한다.

구분 ETL ELT
순서 추출 → 변환 → 적재 추출 → 적재 → 변환
변환 위치 별도의 ETL 서버나 도구 대상 저장소(데이터 웨어하우스, 데이터 레이크) 안에서 SQL 등으로
적합한 환경 적재 전에 품질 통제가 필요할 때 대상 저장소의 병렬 처리 능력이 크고 원본을 보존하고 싶을 때
도구 성격
Apache NiFi 시스템 사이의 데이터 흐름을 브라우저 화면에서 설계·운영하는 도구. 데이터 출처 추적(provenance), 전달 보장을 지원한다
Apache Airflow 작업 흐름을 파이썬 코드로 정의해 일정에 따라 실행·감시하는 오케스트레이션 플랫폼. 여러 ETL 작업의 순서와 일정을 관리한다
  • ETL은 추출·변환·적재의 약자로, 데이터 웨어하우스·데이터 마트·ODS를 채우는 일괄 처리 중심의 통합 기술이다.
  • 전체 추출과 증분 추출의 차이, 증분 추출에 CDC가 쓰인다는 점을 연결해 기억한다.
  • ADP 교재의 ETL 작업 단계 순서(Interface → Staging → Profiling → Cleansing → Integration → Denormalizing)가 순서 맞히기로 나올 수 있다.
  • ETL과 ELT는 변환 위치(별도 서버 대 대상 저장소)로 구분한다.