DATA

ELT란 무엇인가 – ETL과의 차이와 선택 기준

오늘은강박사갈거야~~ 2021. 7. 31. 00:56
반응형
이 글은 공부하며 정리한 내용입니다. 틀리거나 보완할 점이 있다면 댓글로 알려주시면 감사하겠습니다.

1. 핵심 요약

  • ELT는 Extract → Load → Transform의 순서로 처리되는 데이터 처리 방식이다.
  • ETL은 데이터를 추출한 뒤 변환하고 저장하는 반면, ELT는 먼저 적재하고 나중에 저장소 내에서 변환한다.
  • 대용량 처리에 최적화된 MPP 기반 DW(BigQuery, Snowflake 등) 환경에서는 ELT가 더 적합한 경우가 많다.

2. 상세 내용 설명

ELT란?

  • ELT는 데이터를 먼저 저장소에 적재(Load) 한 뒤, 그 안에서 쿼리나 작업을 통해 변환(Transform) 하는 방식이다.
  • 전통적인 ETL과는 처리 순서가 다르며, 특히 저장소 자체가 고성능 연산을 지원하는 경우에 사용된다.

ETL vs ELT – 비교 정리

항목 ETL (Extract → Transform → Load) ELT (Extract → Load → Transform)

처리 위치 변환은 외부 시스템에서 수행 변환은 저장소 내부에서 수행
적합 환경 일반 RDB 기반 DW, 전통적인 시스템 MPP 기반 DW (BigQuery, Snowflake 등)
처리 성능 처리량이 많아지면 확장에 한계 있음 대량 병렬 처리에 유리
유연성 정형화된 처리에 유리 쿼리 기반 유연한 변환 가능

 

예시로 살펴보기

 

제가 실제로 업무를 수행하면서 경험한 흐름을 예시로 들어보자면 다음과 같습니다:

예시 1: 사내 원장 데이터 수집 → BigQuery 적재

  • 사내 마이크로서비스에서 발생하는 원장 데이터를 주기적으로 추출
  • 변환을 수행하지 않고, 그대로 GCP BigQuery에 로드
  • 이후 BigQuery 내에서 SQL로 가공하여 분석 마트 테이블 생성

→ 이 흐름은 데이터를 먼저 적재(Load)한 후, 분석 목적에 따라 BigQuery 내부에서 변환(Transform)을 수행하므로 ELT 방식에 가깝다.

예시 2: 외부 로그 수집 및 마트 적재 (Braze 로그)

  • Braze에서 사용자 행동 로그를 AWS S3에 저장
  • 이 로그를 GCP BigQuery의 임시 테이블로 적재
  • 이후 이 임시 테이블을 기준으로 쿼리 기반 가공을 수행하고, DW 테이블로 정제된 데이터를 재적재

→ 이 구조는 원천 데이터 → 저장소 적재 → 저장소 내 변환 → 최종 저장이라는 흐름으로, ELT의 전형적인 구성이다.

 

왜 ELT인가?

  • 과거에는 외부에서 데이터를 정제한 뒤 저장하는 ETL이 일반적이었지만, BigQuery, Snowflake 같은 MPP DW가 등장하면서 저장소 자체가 변환 기능을 갖추게 됐다
  • 따라서 데이터를 일단 DW에 적재한 후 SQL이나 dbt 등으로 변환하는 구조가 더 유연하고 확장성이 높아졌다
  • 특히 로그 데이터나 비정형 데이터처럼 사전에 일괄 처리하기 어려운 경우, ELT 구조가 유리하다

3. 결론

ETL과 ELT는 데이터 처리 순서의 차이지만, 실제로는 데이터 환경과 기술 스택에 따라 자연스럽게 선택되는 전략이다.

  • 고정된 프로세스와 복잡한 비즈니스 로직 처리에는 ETL이 적합
  • 반면, 대규모 데이터를 빠르게 분석하고 유연하게 변형하려면 ELT가 효율적이다

요즘처럼 분석 플랫폼이 강력해진 시대에는 ELT를 사용하는 경우가 점점 많아지고 있다.


4. 참고 자료

반응형