What's your ETL

duri·2024년 2월 1일
0

ADP

목록 보기
4/18

ETL을 해체해보자

개념

Extraction : 하나 또는 그 이상의 데이터 원천으로부터 추출
Transformation : 추출된 데이터를 클렌징, 형식변환, 표준화, 통합 등
Load : 변형된 데이터를 특정 목표 시스템에 적재

위 그림은 데이터 처리 프로세스 상 etl이 어떤 과정에서 일어나는지를 이해하기 쉽도록 도식화한 그림이다. 실제로 데이터가 발생하는 서비스 사용자단의 인터페이스로부터 etl이 일어난다고 볼 수 있다.

작업단계

구체적 작업단계는 다음과 같다.

다양한 원천 데이터가 발생하는 인터페이스
⬇️
ETL
⬇️
ODS(operational data store)
⬇️
ETL
⬇️
DWH(data ware house)
⬇️
ETL
⬇️
Data mart

ODS

개념

데이터에 대한 추가 작업을 위해 다양한 데이터 원천으로부터 데이터를 추출 통합한 데이터 베이스. 향후 비즈니스 지원을 위해 타 정보 시스템으로 이관되거나 다양한 보고서 생성을 위한 웨어하우스로 이관된다. 일반적으로 실시간 트랜잭션 데이터 혹은 개별성을 지닌 하위 수준 데이터를 저장하기 위해 설계된다.

구성단계

1) 인터페이스 단계
소스로부터 데이터를 획득한다. 이때 사용되는 프로토콜로 ODBC, FTP, OLEDB(object licking embedding database) 등이 사용된다.

2) 데이터 스테이징 단계
작업 일정이 통제되는 프로세스에 의해(배치를 말하는듯?) 트랜잭션 데이터들이 추출됭어 스테이징 테이블에 저장된다. 정규화되지 않고 원천의 스키마에 의존적으로 구성된다(그대로 가지고 와서 저장한다는 뜻). 적재되는 시점에 타임스탬프, 체크섬 등 무결성을 확인할 수 있는 정보도 같이 저장된다.

3) 데이터 프로파일링 단계
범위, 도메인, 유일성 확보 등의 데이터 품질점검이 이뤄진다.

4) 데이터 클렌징 단계
오류 데이터 수정

5) 데이터 통합 단계
수정 완료한 데이터를 ods내의 단일 통합 테이블에 적재하는 단계

6) 익스포트 단계
앞 단계에서 통합된 데이터에 대해 익스포트 규칙, 보안 규칙을 반영한 ETL기능을 수행해 익스포트 테이블을 생성한다. 그 후 다양한 DBMS 클라이언트(그림에서는 오라클, mysql을 예로 들었음) 또는 데이터 마트, 데이터 웨어하우스에 익스포트 테이블을 적재한다. 이런 데이터들은 결국에 olap 질의에 활용된다.

profile
배우는중인 두리

0개의 댓글