핵심 인사이트

  1. 본질: ETL(Extract-Transform-Load, 추출·변환·적재)은 변환을 별도 서버에서 수행 후 DW에 적재하는 전통 방식이고, ELT(Extract-Load-Transform, 추출·적재·변환)는 원시 데이터를 먼저 클라우드 DW/Lakehouse에 적재한 뒤 DW의 분산 연산 능력으로 변환하는 현대적 패턴이다.
  2. 가치: ELT는 클라우드 DW(Snowflake, BigQuery, Redshift)의 MPP(Massively Parallel Processing, 대규모 병렬 처리) 능력을 활용하여 ETL 전용 서버 비용을 제거하고, 원시 데이터를 보존하여 재처리·탐색적 분석을 가능케 한다.
  3. 판단 포인트: 온프레미스·레거시 DW 환경이거나 변환 로직이 복잡하고 데이터 보안·마스킹이 적재 전에 필수라면 ETL이 적합하며, 클라우드 DW 중심·빅데이터 규모·빠른 반복 개발이 필요하면 ELT가 우세하다.

Ⅰ. 개요 및 필요성

1.1 ETL의 탄생과 클라우드로의 전환

1990년대 데이터 웨어하우스 도입과 함께 탄생한 ETL은 Informatica, IBM DataStage, Talend 등 전용 서버에서 데이터를 추출·정제·변환한 뒤 DW에 적재했다. 이 방식은 DW의 저장·연산 비용이 높던 시대에 최적이었다.

2010년대 클라우드 DW(BigQuery, Snowflake, Redshift)의 등장으로 패러다임이 전환됐다. 클라우드 DW는 컴퓨팅 비용을 사용량 기반으로 지불하고, MPP로 페타바이트 규모 변환도 수분 내 처리한다. 이제 전용 변환 서버 없이도 DW 내부에서 강력한 변환이 가능해졌고, ELT가 주류로 부상했다.

1.2 현대 ELT 스택: dbt의 부상

dbt(data build tool)는 ELT 패러다임의 핵심 도구로, SQL 기반 변환 로직을 코드로 관리(version control), 테스트, 문서화할 수 있게 한다. 데이터 엔지니어가 아닌 **분석 엔지니어(Analytics Engineer)**라는 새로운 직군을 만들어냈다.

ELT with dbt 파이프라인:
Fivetran (Extract+Load) → Raw Layer (S3/Snowflake) → dbt (Transform) → Marts

📢 섹션 요약 비유: ETL은 식재료를 요리사(전용 변환 서버)가 미리 손질해 요리된 상태로 냉장고(DW)에 넣는 방식이고, ELT는 식재료를 날 것 그대로 냉장고에 넣고, 냉장고(클라우드 DW) 안의 강력한 로봇 요리사가 알아서 요리하는 방식이다.


Ⅱ. 아키텍처 및 핵심 원리

2.1 ETL vs ELT 처리 흐름 비교

┌─────────────────────────────────────────────────────────────┐
│              ETL vs ELT Architecture Comparison             │
│                                                             │
│  ── ETL (전통 방식) ──────────────────────────────────────  │
│                                                             │
│  ┌─────────┐  Extract  ┌───────────┐  Load   ┌─────────┐  │
│  │ Source  │──────────►│ Staging / │────────►│   DW    │  │
│  │ Systems │           │ Transform │         │(정제본만)│  │
│  └─────────┘           │  Server   │         └─────────┘  │
│                        │(Informatica│                       │
│                        │/DataStage) │                       │
│                        └───────────┘                       │
│                                                             │
│  ── ELT (현대 방식) ──────────────────────────────────────  │
│                                                             │
│  ┌─────────┐  Extract  ┌─────────┐  Transform ┌────────┐  │
│  │ Source  │──────────►│  Cloud  │───────────►│  Data  │  │
│  │ Systems │  +Load    │  DW /   │  (SQL/dbt) │  Marts │  │
│  └─────────┘           │Lakehouse│            └────────┘  │
│  (Fivetran/            │(Raw 원시│                         │
│   Airbyte)             │ 데이터)  │                         │
│                        └─────────┘                         │
│                                                             │
│  Key Difference: 변환 위치 = ETL(적재 전) vs ELT(적재 후)  │
└─────────────────────────────────────────────────────────────┘

2.2 ETL vs ELT 상세 비교

항목ETLELT
변환 시점적재 전 (외부 서버)적재 후 (DW 내부)
원시 데이터 보존❌ 변환 후 원시 데이터 손실✅ Raw 데이터 항상 보존
재처리 용이성낮음 (파이프라인 재실행)높음 (SQL 재실행)
인프라 비용ETL 서버 고정 비용클라우드 사용량 기반
처리 속도배치 중심, 변환 서버 성능 한계MPP 활용, 대용량 고속 처리
데이터 보안적재 전 마스킹 가능DW 내 마스킹 처리
도구Informatica, DataStage, SSISdbt, Spark SQL, BigQuery
적합 환경레거시 DW, 복잡한 사전 변환클라우드 DW, 빠른 반복 개발

2.3 현대 ELT 도구 생태계

역할도구특징
Extract + LoadFivetran, Airbyte, Stitch커넥터 기반 자동화 수집
Transformdbt, Spark SQL, Google DataformSQL 기반 변환 코드화
OrchestrationApache Airflow, Prefect, Dagster파이프라인 스케줄링·모니터링
StorageSnowflake, BigQuery, Redshift클라우드 MPP DW

📢 섹션 요약 비유: ETL은 공장 생산 라인처럼 원자재를 제품으로 가공해 창고에 넣는 방식이고, ELT는 원자재 창고(클라우드 DW)에 넣은 후 창고 내부의 자동화 기계(MPP)가 그 자리에서 가공하는 방식이다. 공장 설비(ETL 서버) 비용 없이도 창고가 스스로 생산한다.


Ⅲ. 비교 및 연결

3.1 배치(Batch) vs 스트리밍(Streaming) vs 마이크로배치(Micro-batch)

방식처리 단위지연도구활용
배치 (Batch)시간 단위 대량 처리분~시간Spark, Hadoop일/주 리포트
마이크로배치수초 단위 소규모 배치초~분Spark Structured Streaming근실시간 알림
스트리밍 (Real-time)이벤트 단위 즉시 처리ms~초Flink, Kafka Streams실시간 사기 탐지

3.2 Lambda vs Kappa 아키텍처

데이터 파이프라인 아키텍처의 두 대표 패턴:

아키텍처구성장점단점
Lambda배치 레이어 + 스피드 레이어정확성(배치) + 속도(스트리밍)두 레이어 유지 복잡도
Kappa스트리밍 레이어만단순한 아키텍처대용량 리프로세싱 어려움

📢 섹션 요약 비유: Lambda 아키텍처는 낮 동안의 배달원(빠르지만 오류 가능)과 야간 정기 배송(느리지만 정확)을 동시 운영하는 방식이고, Kappa는 "빠른 배달원만으로도 충분히 정확하게 할 수 있다"는 단순화 전략이다.


Ⅳ. 실무 적용 및 기술사 판단

4.1 ETL/ELT 선택 판단 기준

조건ETL 선택ELT 선택
DW 환경온프레미스, 레거시 DW클라우드 DW (Snowflake, BQ)
데이터 보안적재 전 PII 마스킹 필수DW 내 접근 제어 충분
변환 복잡도복잡한 비즈니스 로직, 외부 API 호출SQL 기반 집계·조인 중심
원시 데이터보존 불필요, 용량 비용 민감원시 데이터 보존·재처리 필요
팀 역량Java/Python ETL 개발 역량SQL/dbt 중심 분석 팀
데이터 규모GB~TB 수준TB~PB 수준

4.2 현대 데이터 스택 (Modern Data Stack) 예시

소스 → [Fivetran] → [Snowflake Raw] → [dbt Transform] → [Marts] → [Tableau/Looker]
         Extract+Load    ELT 1단계        ELT 2단계       소비       시각화

4.3 기술사 핵심 출제 포인트

  • ETL vs ELT 처리 순서와 위치: 변환의 위치(외부 서버 vs DW 내부) 차이 명확 기술
  • 클라우드 DW ELT 장점: 원시 데이터 보존, 재처리 용이성, MPP 활용
  • Lambda vs Kappa 아키텍처: 배치+스트리밍 통합 방식 비교
  • dbt의 역할: SQL 기반 ELT 변환 코드화, 테스트, 문서화 통합

📢 섹션 요약 비유: ETL 선택은 "요리된 음식만 받는 레스토랑(DW)"에 맞는 방식이고, ELT 선택은 "재료를 받아 내부 주방(MPP)에서 직접 요리하는 레스토랑"에 맞는 방식이다. 내부 주방이 강력해질수록 ELT가 유리해진다.


Ⅴ. 기대효과 및 결론

5.1 ELT 도입 효과

효과내용
인프라 비용 절감ETL 전용 서버 제거, 클라우드 사용량 기반 과금
개발 속도 향상dbt 기반 SQL 변환 코드화로 반복 개발 사이클 단축
데이터 재처리 용이원시 데이터 보존으로 로직 변경 시 전체 재처리 가능
탐색적 분석 지원Raw 데이터에 직접 쿼리하여 새로운 인사이트 발굴
팀 자율성 향상분석 엔지니어가 ETL 엔지니어 없이 변환 로직 수정

5.2 미래 방향

ELT 패러다임은 **역방향 ETL(Reverse ETL)**로 진화하고 있다. 역방향 ETL은 DW에서 분석된 결과를 다시 운영 시스템(CRM, 광고 플랫폼, 이메일 도구)으로 전송하여 "데이터 기반 운영 자동화"를 실현한다. 또한 스트리밍 ELT(Kafka → Flink → DW)가 실시간 데이터 파이프라인의 표준이 되고 있다.

📢 섹션 요약 비유: ETL이 쿠리어 회사(변환 서버)를 고용해 짐을 정리해 집(DW)에 배달하는 방식이라면, ELT는 짐을 그대로 집에 넣고 집 안의 로봇(MPP)이 정리하는 방식이다. 역방향 ETL은 정리된 짐 일부를 다시 필요한 사람(CRM, 광고 시스템)에게 재배달하는 단계다.


📌 관련 개념 맵

개념설명연관 키워드
ETL (Extract-Transform-Load)변환 후 적재하는 전통 파이프라인Informatica, DataStage
ELT (Extract-Load-Transform)적재 후 DW 내부 변환하는 현대 패턴dbt, BigQuery, Snowflake
dbt (data build tool)SQL 기반 ELT 변환 코드화 도구분석 엔지니어, 테스트
MPP (Massively Parallel Processing)대규모 분산 병렬 쿼리 처리클라우드 DW, 성능
Lambda Architecture배치+스트리밍 이중 레이어 아키텍처Kappa, 실시간+배치
Reverse ETLDW → 운영 시스템 역방향 데이터 전송운영 자동화, Census
Fivetran커넥터 기반 자동화 ELT 수집 서비스SaaS, 300+ 커넥터
Micro-batch수초 단위 소규모 배치 처리Spark Streaming

👶 어린이를 위한 3줄 비유 설명

  1. ETL은 마트에서 집으로 가져오기 전에 쇼핑 카트에서 미리 포장 정리하는 것이고, ELT는 물건 그대로 집에 가져와서 집 안의 정리 로봇이 알아서 분류하는 방식이야.
  2. dbt는 LEGO 조립 설명서야. SQL 레고 블록을 어떻게 조립하면 원하는 데이터 구조가 되는지 단계별로 기록하고, 테스트하고, 공유할 수 있어.
  3. Lambda 아키텍처는 속달 배송(스트리밍, 빠르지만 오류 가능)과 일반 배송(배치, 느리지만 정확)을 동시에 운영하다가, Kappa 아키텍처는 "속달 배송만으로도 충분해"라고 결정하는 단순화야.