데이터 통합 프로세스(ETL vs ELT)
데이터 통합 프로세스를 다루는데 가장 많이 사용되는 방법론으로 2가지 방법론이 있는데,
ETL과 ELT 방식입니다.
여기서 E,T,L은 Extract, Transform, Load의 약어로,
ETL : Extract > Transform > Load의 순으로 데이터를 처리 할것인지,
ELT : Extract > Load > Transform으로 데이터를 처리할 것인지를 다루는 방법론입니다.
지난 50년(1970년대부터)이 넘게 기간 동안 데이터 통합 프로세스를 수행하는데 가장 많이 사용되던 방법론은 ETL 이었습니다. 그러나, 데이터 관리의 양, 속도 및 다양성 측면에서 새로운 요구로 인해, 기존 ETL 프로세스에 대한 새로운 접근 방식인 ELT가 등장했습니다.
ETL 이란?
데이터가 소스에서 Extract(추출)되고 필요한 Transform(변환)이 수행되어 추가 사용을 위한 데이터를 Load(적재)합니다.
이 방식은 일단 추출된 rawdata가 비정형 데이터로 데이터 웨어하우스에 바로 저장할 수 없으니
비즈니스 or 분석용도에 맞춰서 데이터를 정제(Transform)하는 단계를 거쳐 적재합니다.
(뿐만 아니라 rawdata중에 필요하지 않는 데이터를 필터링 해내는 작업도 필요합니다. )
따라서, 이는 비즈니스 or 분석용도에 맞도록 잘 설계된 데이터 정제가 중요하게 됩니다.
만약 용도가 바뀌거나 전체 데이터 웨어하우스의 구조가 바뀐다거나 하면??
기존의 Transfrom 단계가 모두 무용지물이 될 수도 있으며, 다시한번 transform을 해야할 수도 있게 됩니다.
다루는 데이터가 크면 클수록 이러한 전략을 매우 Critical 할 수 있습니다.
ELT이란?
비즈니스가 빠르게 변화하고, 데이터를 저장하는 Storage 가격이 낮아지면서,
기존 ETL이 가지는 이슈들을 보완하는 방법으로 ELT가 나왔습니다.
ELT는 구조화되지 않은 데이터를 나중에 변환하기 위해 데이터레이크에 일단 적재하게 됩니다.
그리고, 필요한 비즈니스 형태에 맞도록 데이터를 변환합니다.
이로인해, ETL에 비해 데이터 적재가 훨씬 빨라지며, 데이터 검증이나 데이터 중복 제거와 같은 기본 데이터 변환에 유용합니다.
ETL과 ELT의 차이점
약어를 보면 단순히 프로세스의 작업 순서가 차이점으로 보일 수 있으나,
주요한 차이점은 프로세스의 순서가 아니라, 데이터 변환 위치에 있습니다.
ETL에서는 소스 데이터를 데이터 웨어하우스에 전송하는 동안 변환이 수행되어야 하므로, 변환이 실행되는 별도 엔진이 포함된 임시 데이터 저장소가 필요하며,
ELT에서는 데이터레이크에서 변환이 이루어지므로 별도의 변환 엔진이 필요하지 않지만, 데이터레이크에 데이터 보안조치를 해야 합니다.
ETL의 주요장점 : 보안 강화, 안전한 방법을 제공, 데이터의 효율성
ELT의 주요장점 : 빠른 속도, 데이터의 유연함
ETL, ELT 사용 사례
ETL은 복잡한 변환이 필요한 중소규모의 데이터 세트에 효율적
ELT는 구조적 or 비구조적 데이터를 포함하는 대용량 데이터 관리 및 통합에 더 적합.
결론
ELT가 꼭 ETL의 미래는 아니며, 두 프로세스가 모두 장단점이 있으며, 회사의 요구사항과 특성에 따라 달라진다.
실제 일부 조직에서는 두 프로세스를 결합하여, ETLT하는 새로운 접근 방식을 구현하기도 합니다.
https://blog.bismart.com/en/etl-or-elt-differences-use-cases
https://aws.amazon.com/ko/compare/the-difference-between-etl-and-elt/
https://www.kdnuggets.com/2023/03/etl-elt-one-right-data-pipeline.html