[ ETL 개념 ]
- 추출(Extract), 변환(Transform), 로드(Load)
- 데이터를 단일 DB, 데이터 저장소, 데이터 웨어하우스, 데이터 레이크에 결합하기 위해 일반적으로 사용되는 방법
- 전체 데이터를 가져와 비즈니스 목적에 실질적으로 유용한 상태로 변환하는 엔드 투 엔드 프로세스
- 하나 이상의 소스에서 데이터를 가져오는 프로세스
- 추출이 완료된 후에는 데이터가 스테이징 영역에 로드됨
- 소스의 예시들
: SQL or NoSQL 서버, CRM(고객관계관리) 및 ERP(전사적자원관리) 시스템, 이메일, 웹페이지 등
- 데이터를 가져와 정리하고 대상 데이터베이스, 데이터 저장소, 데이터 웨어하우스, 데이터 레이크 등에 저장될 수 있도록 공통된 형식으로 만드는 작업
- 작업 종류
1. 중복되거나 불완전한 레코드, 명백히 잘못된 레코드를 제거하는 작업
2. 데이터 필터링, 유효성 검사, 인증
3. 타깃 데이터 웨어하우스의 스키마에 부합하는 테이블 or 조인 테이블로 데이터 형식 지정
로드 (Load)
- 형식이 지정된 데이터를 대상 데이터베이스, 데이터 저장소, 데이터 웨어하우스, 데이터 레이크에 삽입하는 프로세스
- 배치(batch) 방식으로 상시 수행됨
[ ETL 사용 ]
ETL의 사용 목적
- 레거시 시스템의 데이터 추출
- 데이터 품질 향상과 일관성 확보를 위한 데이터 정리
- 타겟 데이터베이스에 데이터 로딩
ETL의 사용 사례
데이터 웨어하우징
- 데이터 웨어하우스
: 비즈니스 목적을 위해 종합적으로 분석할 수 있도록 다양한 소스의 데이터를 결합한 DB
- 데이터를 데이터 웨어하우스로 이전하는데 ETL 사용
머신러닝 및 인공지능
- 시스템이 인공지능 기법을 사용해 데이터를 학습하는데, ETL을 이용해 머신러닝 목적으로 데이터를 단일 위치로 이전해줌
마케팅 데이터 통합
IoT 데이터 통합
- 여러 IoT 소스의 데이터를 분석 가능한 단일 위치로 이전해줌
데이터베이스 복제
- Oracle, MySQL용 Cloud SQL 등 소스 데이터베이스에서 데이터를 가져와 클라우드 데이터 웨어하우스에 복사하는 작업
- 데이터를 복제하는 과정에서 ETL이 사용될 수 있음
클라우드 마이그레이션
- 온프레미스
: 기업 서버를 클라우드같이 가상 공간이 아닌, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식. 직접 인프라를 구축하는 방식
- 기업에서 데이터 보호, 비용 절감 등의 이유로 온프레미스의 데이터와 애플리케이션을 클라우드로 이전하고 있음
- 이러한 마이그레이션을 실행하는 데에 ETL이 사용됨
ETL 개념에 대해서는 잡혔는데, ETL에 대해 이것저것 구글링 해보다 보니 ELT가 ETL과 비교되는 데이터 변환 방식이 있었다. 다음에는 ETL 개념 이해 및 ELT와의 차이점을 알아봐야겠다.
참조