📊 Data Engineering

[Data Engineering] 데이터 웨어하우스와 ETL/ELT는 어떻게 구성되는가?

givemechocopy 2025. 5. 12. 22:55

데이터 웨어하우스와 ETL/ELT

데이터 레이크(Data Lake)란?

  • 구조화/반정형/비구조화 데이터를 원형 그대로 저장할 수 있는 저장소
  • 로그 파일, 이미지, JSON, CSV 등 다양한 형식의 데이터를 장기 보존 가능
  • 보통 데이터 웨어하우스보다 저장 용량이 훨씬 크고 비용 효율이 뛰어남
  • 대표적인 예시: Aamzon S3
💡 데이터 레이크 + 데이터 웨어하우스를 함께 사용하는 구조가 현대적인 데이터 플랫폼의 기본 형태이다.

 

 

ETL vs ELT

구분 ETL (Extract -> Transform -> Load) ELT (Extract -> Load -> Transform)
처리 위치 외부에서 가공 후 DW로 적재 DW에 먼저 적재한 뒤 내부에서 가공
주 사용자 데이터 엔지니어 분석가, Analytics Engieer
대표 도구 Airflow, Python, Spark dbt, SQL, Looker 모델링
주요 활용 원천 데이터 통합 및 정제 요약 테이블 생성, 분석 친화적 데이터 모델링

 

 

ETL/ELT 자동화: Apache Airflow

  • 파이썬 기반 워크플로우 스케줄러
    • ETL 간 의존성 정의 (DAG 구조)
    • 실패 알림, 재시도, 재실행 등의 운영 기능 제공
  • 구성 요소
    • Scheduler, WebServer, Worker
  • 대규모 ETL을 효율적으로 운영하기 위한 표준 도구

 

ELT가 강조되는 이유

  • 데이터 규모와 복잡도가 증가함에 따라, 단순 추출/적재보다도 분석 친화적 데이터 구조 생성이 핵심이 된다.
  • 예:
    • 고객 매출 요약 테이블
    • 제품 카테고리별 트렌드 요약

주요 데이터 웨어하우스 솔루션 비교

제품명 특징 요약
Redshift AWS 기반, MPP 구조, Serverless 옵션, S3/Athena 통합
Snowflake 모든 주요 클라우드 지원, 데이터 마켓/쉐어링 기능, 비구조화 처리 우수
BigQuery 구글 서버리스 DWH, 쿼리 최적화 우수, Nested/Repeated 필드 지원
Hive Hadoop 기반 전통 DWH, 처리량은 좋지만 속도는 느림
Presto 다양한 소스에 걸친 실시간 SQL 실행 가능, Athena 기반
Iceberg 테이블 포맷으로서 ACID 지원, Spark/Flink 연동, 타임트레블 가능
Spark 범용 빅데이터 처리 엔진 (ETL, ML, Streaming 등 다목적 활용)

 

 

데이터 플랫폼의 진화

초기 단계

  • 데이터 웨어하우스 + ETL로 시작
  • Redshift 또는 BigQuery 기반 단순 분석 환경

성장 단계

  • Spark, Hadoop 기반의 분산 처리 도입
  • 로그, 이벤트 기반의 대용량 데이터 -> 데이터 레이크 (S3)로 저장

성숙 단계

  • ELT 중심 구조로 전환 (dbt 기반 분석 모델링 도입)
  • 현업팀의 셀프 서비스 분석 가속화
  • MLOps 등 머신러닝 모델 운영 효율화 시도