카테고리 없음

SQL - ETL의 이해

데이터_박과장 2023. 10. 28. 20:31

1.     ETL extract, transform, load를 의미하며, 조직 내외부의 복수의 source들로부터의 data data 분석을 위한 data warehouse, data mart 내로 이동시키는 process로서, 추출, 재구성(reformatting), 정제, 통합, 변형 등을 포함한다. Motorola에서는 회사의 지출 총계를 분석하기 위해 ETL을 통해 30개의 다른 procurement system들로부터의 data를 수집하여 global supply chain management data warehouse로 보낸다.

 

2.     ETL은 추출, 변환, 적재(extract, transform, load, ETL)는 컴퓨팅에서 데이터베이스 이용의 한 과정으로 특히 데이터 웨어하우스에서 다음을 아우른다: 첫째, 동일 기종 또는 타 기종의 데이터 소스로부터 데이터를 추출한다. 둘째, 조회 또는 분석을 목적으로 적절한 포맷이나 구조로 데이터를 저장하기 위해 데이터를 변환한다. 마지막으로 최종 대상(데이터베이스, 특히 운영 데이터 스토어, 데이터 마트, 데이터 웨어하우스)으로 변환 데이터를 적재한다.

 

먼 말인지 잘 모르겠다... 일단 그림을 한번 더 이해를 해보려고 해 보자..

 

 

 

대충 감이 오는 것 같다. 내가 이해한 것을 정리해보자면,

 

-       ETL ETL을 수행하는 프로세스를 의미하는 것으로 Extract, Transform and Load로 추출, 변형, 저장(적재)이라는 단어로 이뤄져 있다. 즉 데이터웨어 하우스라고 통칭하는 여러 개의 source data들이 들어있는 곳에서 필요한 데이터를 가지고 와서, 알맞은 포맷/구조로 변환하고 목표한 위치(위에서는 분석용, 보고서용 등등)에 적재시키는 과정? 정도로 생각할 수 있을 것 같다.

 

-       또한 상이한 DBMS(ORACLE, PostgreSQL, MYSQL) 등에서의 데이터 이전하는 활동을 말하는 것 같기도 하다.  DBMS마다 호환이 안 되는 것들이 있기에, 테이블의 SCHEMA를 변경한다던지…?

 

-       예를 들어, 회사의 영업과 관련된 데이터 분석을 위해, 사내의 ERP, CRM 시스템에 저장되어 있는 데이터가 필요하다고 한다면, ERP, CRM Data Warehouse에 접근해서 필요한 데이터들을 추출하고 이를 요구사항에 맞는 data구성이나 형태를 transform 하여, 분석에 사용하는 데이터를 적재하는 곳에 적재하는 것으로 볼 수 있을 것 같다.

 

구글의 설명이다.

 

https://cloud.google.com/learn/what-is-etl?hl=ko

 

ETL이란?  |  Google Cloud

ETL은 추출(Extract), 변환(Transform), 로드(Load)를 나타냅니다. 기업에서는 이 프로세스 덕분에 구조화된 데이터와 구조화되지 않은 데이터를 토대로 비즈니스에 필요한 결정을 내릴 수 있습니다.

cloud.google.com

 

 AWS의 ETL 정의도 같이 확인하자.

 

https://aws.amazon.com/ko/what-is/etl/

 

ETL이란 무엇인가요? - 추출, 전환, 적재 설명 - AWS

추출, 전환, 적재(ETL)는 다양한 소스의 데이터를 데이터 웨어하우스라고 부르는 대형 중앙 집중식 리포지토리에 결합하는 과정입니다. ETL은 원시 데이터를 정리 및 구성해서 스토리지, 데이터

aws.amazon.com