Data Engineering/개념

ETL vs ELT 차이 및 장, 단점

히또아빠 2023. 1. 9. 11:21

1.ETL(Extract - Transform - Load)

  • Extract(추출): Data source로부터 데이터 추출
  • Transform(변형): 데이터를 원하는 format으로 변형
  • Load(적재): DW(데이터 웨어하우스)로 데이터 적재

ETL(Extract - Transform - Load)은 데이터 엔지니어의 기본업무로 데이터 soure로부터 raw 데이터를 추출(Extract)하고 처리 서버에서 원하는 format으로 변형(Transform)하는 과정을 거쳐 DW(데이터 웨어하우스)에 적재(Load)하는 데이터 통합 방법이다.

 

ETL 과정이 필요한 이유는 OLAP(Online Analytical Processing) 데이터 웨어하우스에서는 관계형 SQL 기반의 데이터 구조만 지원하기때문에 raw 데이터를 그대로 적재 할 수가 없다. 여기서 OLAP는 데이터 처리 속도 보다는 크기에 초점을 둔 분석용 데이터 웨어하우스라고 생각하면 된다.

 

이렇게 적재된 데이터를 활용하여 데이터 분석가는 요약해 대시보드나 지표를 만들고 데이터 사이언티스트는 모델링이나 회사에 필요한 실험 진행을 한다. 요즘에는 데이터 분석가나 사이언티스트에게도 ETL 역량이 요구 되는 추세. 공부할게 점점 많다는 뜻.

 

데이터 엔지니어가 있는 IT 및 데이터 기반의 회사에서는 데이터 파이프라인을 구축하고 데이터 웨어하우스에 데이터를 적재하는 과정을 자동화 업무를 한다. 즉, 회사에 필요한 데이터를 구성하기 위해 데이터 플로우, 워크 플로우 관리를 함.

 

ETL 오픈소스 tool인 현재 회사에서 사용하고 있는 Jenkins 그리고 따로 공부를 시작한 Airflow을 간단하게 보면 다음과 같음.

  • Jenkins(CI): 연속적인 데이터 통합 작업을 순서대로 실행할 수 있는 Java기반 오픈소스 서버
    • 서블릿(servlet) 컨테이너 내에서 실행
    • 빌딩/태스팅/배포
    • 정확히는 CI(Continuous Integration) tool
    • 워크 플로우 관리만의 목적이 아님
  • Airflow: 데이터 파이프라인 구축에 장점이 있는 python기반 오픈소스
    • Dag(Directed acyclic graph): 워크 플로우(workflow) 작성
    • 스케쥴링을 통해 특정 시간에 워크 플로우 실행
    • 모니터링을 통해 스케쥴링 확인

둘 다 같은 워크플로우 자동화 업무를 할 수 있지만 장,단점이 있고 목적이 조금은 다른거 같아 아래 글을 추천함.

https://velog.io/@jaylnne/ETL-Airflow-와-Jenkins-비교-무엇을-사용할까

2.ELT(Extract - Load - Transform)

ETL과 다르게 ELT(Extact - Load - Transform)은 raw 데이터 변환을 위해 처리 서버로 데이터가 가는 대신에 대상 DW(데이터 웨어하우스)로 바로 적재한다. 즉, raw 데이터를 먼저 적재(Load)하고 데이터 웨어하우스 내에서 변환 과정을 거친다.

 

ELT 데이터 파이프라인을 사용하면 데이터 변환, 스케일링 등의 작업이 데이터 웨어하우스 내부에서 이루어 지는데 원시 데이터가 데이터 웨어하우스에 무한정 저장됨으로 여러 변환이 가능해진다.

 

클라우드 기반의 데이터 웨어하우스 개발로 가능해진 비교적 새로운 방법이며 Snowflake, AWS Redshift, Google BigQuery, Microsoft Azure 등의 DW에서 raw 데이터 저장기능을 제공하는 인프라를 갖추고 있음.

 

그럼 이게 왜 나왔냐?

 

리소스(cpu, 메모리, ssd, 클라우드 사용료 등) 가격 인하로 가격측면에서 이점이 생겼고 실시간 대용량 데이터가 발생하는 서비스에서는 변환(Transform)이 오래걸리기 때문에 데이터 웨어하우스에 데이터를 변환해 적재하는 ETL방법과는 다르게 모든 raw 데이터를 웨어하우스의 상위 개념인 데이터 호수(Data Lake)에 데이터를 다 적재한 후 필요에따라 변환해 데이터 웨어하우스에서 쓰자는 개념이다.

3.ETL, ELT 장, 단점

  장점 단점
ETL - 데이터 웨어하우스에 저장하기 전에 개인정보 보안을 위한 처리 수행하기 때문에 보안성 측면에서 우수.

- 필요한 데이터만 웨어하우스에 저장하여 스토리지 비용을 절감.

- ETL은 설정에 더 많은 사전 노력을 필요로 하지만, 데이터 구조는 ELT보다 더 정확하고 안정적임.
- 데이터 웨어하우스에 저장하기 전에 개인정보 보안을 위한 처리 수행하기 때문에 보안성 측면에서 우수.

- 필요한 데이터만 웨어하우스에 저장하여 스토리지 비용을 절감.

- ETL은 설정에 더 많은 사전 노력을 필요로 하지만, 데이터 구조는 ELT보다 더 정확하고 안정적임.
ELT - 데이터 웨어하우스에 저장하기 전에 개인정보 보안을 위한 처리 수행하기 때문에 보안성 측면에서 우수.

- 필요한 데이터만 웨어하우스에 저장하여 스토리지 비용을 절감.

- ETL은 설정에 더 많은 사전 노력을 필요로 하지만, 데이터 구조는 ELT보다 더 정확하고 안정적임.
- 데이터 웨어하우스에 저장하기 전에 개인정보 보안을 위한 처리 수행하기 때문에 보안성 측면에서 우수.

- 필요한 데이터만 웨어하우스에 저장하여 스토리지 비용을 절감.

- ETL은 설정에 더 많은 사전 노력을 필요로 하지만, 데이터 구조는 ELT보다 더 정확하고 안정적임.

 

300x250
반응형