오음

ETL과 ELT의 차이점 본문

CS

ETL과 ELT의 차이점

오준돌 2023. 10. 9. 18:48

E,T,L 이란?

  • E/Extract(추출) : 원본 데이터베이스 또는 데이터 소스에서 데이터를 가져오는 것을 말한다. ETL을 사용하면 데이터가 임시 스테이징 영역으로 들어가고, ELT를 사용하면 즉시 데이터가 Lake 스토리지 시스템으로 이동한다.
  • T/Transform(변환) : 데이터의 구조를 변경하는 프로세스를 의미한다. 용도에 맞는 필터링, Resahping, 정재 등의 단계를 통해 필요한 형태로 변환한다.
  • L/Load(적재) : 데이터를 스토리지에 저장하는 프로세스를 의미한다.

 

데이터를 담고 있는 소스는 호환되는 형식으로 저장되어있지 않기 때문에 데이터를 분석 가능한 데이터로 통합하기 전에 Raw 데이터를 정리하고, 많은 정보를 담을 수 있도록 변환해야 한다. 

 

이 때 데이터를 옮겨야하는 상황이 항상 발생할 텐데 어떤 방법으로 사용해야 할까?

 

ETL 

  • Extract: 다양한 소스에서 원시 데이터를 추출
  • Transform: 추출된 데이터를 비즈니스 규칙에 따라 변환하거나 정리, 이 과정에서는 불필요한 데이터 제거, 데이터 클린징, 중복 제거 수행
  • Load: 변환된 결과를 최종적으로 데이터 웨어하우스에 로드

ELT 

  • Extract: 다양한 소스에서 원시 데이터를 추출
  • Load: 추출된 원시 데이터를 그대로(변환 없이) 타겟 시스템에 로드합니다.
  • Transform: 타겟 시스템 내에서 필요할 때 비즈니스 규칙에 따라 변환 작업을 수행합니다.

ETL vs ELT

  • 처리 순서와 위치: ETL은 변환 작업을 로딩 전에 완료하지만, ELT는 로딩 후에 변환 작업을 수행한다는 점에서 차이가 있다.
  • 리소스 사용: ETL은 보통 별도의 전용 서버에서 처리가 이루어지므로 해당 서버의 리소스가 한계가 될 수 있다. 반면 ELT는 대상 시스템의 자원을 활용하여 처리하기 때문에 대량의 데이터 처리가 가능하다는 장점이 있다.
  • 유연성: ETL은 사전 정의된 스키마와 비즈니스 규칙에 따라 일관된 형태로 변경되므로 스키마 변경 시 추가적인 작업이 필요할 수 있다. 반면 ELT는 스키마 온 리드(Schema-on-read) 방식을 채택하여 필요할 때마다 적절한 형태로 읽고 해석하는 유연성을 가진다.
  • 보안 및 규정 준수: ETL은 데이터 변환 과정에서 민감한 정보를 제거하거나 익명화하는 등의 처리를 할 수 있어 보안 및 규정 준수에 유리할 수 있지만, 반면 ELT는 원시 데이터를 그대로 로드하기 때문에 이러한 처리가 후단계에서 이루어져야 한다.
  • 시스템 성능: ETL은 전처리 작업이 완료된 정제된 데이터만을 로드하기 때문에 타겟 시스템의 성능 부하가 적을 수 있지만, ELT는 원시 데이터를 모두 로드하고 변환 작업이 타겟 시스템에서 이루어지므로 시스템 리소스 사용량이 더 클 수 있다.
  • ETL은 OLAP 데이터 웨어하우스의 특성으로 구조화/변환하기 때문에 안정적인 데이터 분석이 가능하고 ELT는 빠른 분석이 필요할 때 이상적이다.

ETL의 장점 

  • 효율적이며 안정적인 데이터 분석이 가능하다. 
  • 보안 규정 위반 위험성을 줄여 준다. 
  • 여러 플랫폼이 많다. 

ELT의 장점

  • 모든 데이터(비정형 데이터)에 대한 저장 용이성 및 유연성이 높다.
  • 필요한 데이터만 변환한다. 
  • 시간이 빠르다. 

 

그렇다면 언제 ELT를 사용할까?

  1. 방대한 양의 데이터를 보유했을 경우 - ELT는 정형 데이터와 비정형 데이터 모두에서 잘 작동한다. 시스템이 클라우드 기반인 한 ELT 프로세스를 통해 방대한 양의 데이터를 보다 신속하게 처리할 수 있다.
  2. 가능한 한 빨리 모든 데이터를 한 곳에 보관해야 할 경우 - 프로세스가 종료될 때 ELT는 전송 속도를 다른 모든 데이터보다 우선시한다.
  3. 데이터를 처리할 수 있는 리소스를 가지지 못했을 경우 - ETL를 사용하면 데이터 웨어하우스에 도착하기 전 파이프라인에서 데이터 변환이 일어나야 한다. 이때 요구되는 리소스는 상황에 따라 매우 클 수가 있는데, ELT 방식을 이용하면 추후 필요 데이터만 변환함으로써 경제적 유연성을 갖출 수 있다.

 

https://pearlluck.tistory.com/650

 

ETL ELT 차이 | 요즘엔 ETL에서 ELT로 흐름이 바뀌고 있다?@!

ETL이란? Extract, Transform, Load 의 앞글자를 딴 용어인데, 여러가지 데이터소스에서 추출(Extract)하고, 데이터를 원하는 형태로 변형(Transform)하고, DW로 적재(Load)하는 과정. 즉, 데이터소스에서 가져온

pearlluck.tistory.com

https://dining-developer.tistory.com/50

 

ETL, ELT의 4가지 주요 차이점

내가 생각하는 머신러닝, 데이터 엔지니어링/사이언스 분야에서의 가장 중요한 단계는 ETL이다. ETL은 정답이 없고 가장 많은 시간이 소요되기도 하고, 가장 많은 실수가 일어나기도 하며, 개발자

dining-developer.tistory.com