Hyesung Oh

[데이터 처리 기술의 이해] 데이터 처리 프로세스 #1 ETL 본문

Data Engineering

[데이터 처리 기술의 이해] 데이터 처리 프로세스 #1 ETL

혜성 Hyesung 2020. 5. 20. 05:41
반응형

학습 목표

- ETL, ODS 구성, 데이터 웨어하우스를 이해한다.

- CDC, EAI에 대해 이해한다

- 데이터 연계 및 통계 기법을 분류하고 각 용도를 이해한다.

- 대용량의 비정형 데이터 처리방법에 대해 이해한다.

맛보기

- ETL : 데이터 추출 및 적재작업. 대용량 데이터에 대한 일괄 작업을 통해 정형 데이터를 통합하는 기술.

- CDC, EAI : 정형 데이터의 실시간 혹은 근접 실시간 처리와 통합에 관한 기술

- 전통적 데이터 처리기법과 빅데이터 처리 기법은 데이터 저장 인프라스트럭처 및 조회 기법 등에서 차이점이 존재

- 대표적인 비정형 데이터인 '로그 데이터'의 수집 방법. 비정형 데이터란 텍스트, 이미지, 비디오, 센서 데이터 등이 있음. 기업에서 발생하는 대표적인 비정형 데이터인 로그 데이터는 Flume-NG, 페이스북 Scribe, 아파치 Chukwa 등을 통해 수집.

ETL

1. ETL의 개요

1.1 ETL의 개념 및 특징

- ETL(Extraction, Transformation, Loading)은 데이터의 이동 및 변환 절차와 관련된 업계 표준용어.

- 다양한 데이터 원천으로부터 데이터를 추출 및 변환하여 운영 데이터 스토어(ODS, operational data store), 데이터 웨어하우스(DW, Data Warehouse), 데이터 마트(DM, Data Mart)등에 데이터를 적재하는 작어브이 핵심 구성요소.

- 데이터 통합, 데이터 이동, 데이터 관리에 걸쳐 폭넓게 활용되며 데이터 이동과 변환을 주목적으로 함.

- 정기적인 실행 일정을 조정할 수 있는 재사용이 가능한 컴포넌트들로, 대용량 데이터를 처리하기 위한 MPP(Massive parallel processing)를 지원할 수 있다. 

- ETL 구현을 위한 여러 상용 소프트웨어들이 있으며, Batch ETL, Real Time ETL로 구분된다.

1.2 ETL의 기능

- Extraction : 하나 또는 그 이상의 데이터 원천들로 부터 데이터 획득

- Transformation : 데이터 클렌징, 형식 변환 및 표준화, 통합 또는 다수 애플리케이션에 내장된 비즈니스룰 적용 등

- Load : 변형 단계의 처리가 완료된 데이터를 특정 목표 시스템에 적재

1.3 ETL의 작업 단계

* Oracle, MySQL, SQL Server, Excel -> ETL(staging, profiling, cleansing, integratation) -> ODS 적재(현재 혹은 비교적 최근 데이터를 저장하기 위해 설계된 구조) -> ELT -> de-normalizing -> 운영보고서 작성, DW(Data Warehouse) 적재-> ETL -> DM(Data Mart) 적재

 

 

1) step0 interface : 다양한 DBMS 및 스프레드시트 등 데이터 원천으로 부터 데이터를 획득하기 위한 인터페이스 메커니즘 구현

2) step1 staging : 수립된 일정에 따라 데이터 원천으로부터 트랜잭션 데이터 획득 작업 수행 후, 획득된 데이터를 스테이징 테이블에 저장

3) step2 profiling : 스테이징 테이블에서 데이터 특성을 식별하고 품질 측정

4) step3 cleansing  다양한 규칙들을 활용해 프로파일링된 데이터의 보정 작업을 수행

5) step4 integration : 데이터 충돌을 해소하고, 클렌징된 데이터를 통합

6) step5 denormalizing : 운영 보고서 생성 및 데이터 웨어하우스 또는 데이터 마트에 대한 데이터 적재를 위해 데이터 비정규화 수행

 

2. ODS 구성

2.1 ODS 개념 및 특징

- ODS는 데이터에 대한 추가작업을 위해 다양한 데이터 원천들로부터 데이터를 추출 및 통합한 데이터베이스

- ODS내의 데이터는 향후 비즈니스 지원을 위해 정보 시스템으로 이관되거나, 다양한 보고서 생성을 위해 데이터 웨어하우스로 이관된다.

- 다양한 원천들로부터 데이터가 구성되기 때문에, ODS를 위한 데이터 통합은 일반적으로 데이터 클린징, 중복제거, 비즈니스 룰 대비 데이터 무결성 점검 등의 작업들을 포함한다. 

- ODS는 일반적으로 실시간(Real Time) 또는 실시간 근접(Near Real Time) 트랜잭션 데이터 혹은 가격 등의 원자성(개별성)을 지닌 하위 수준 데이터를 저장하기 위해 설계된다.

2.2 ODS 구성 단계

1) Interface 단계 

- 다양한 데이터 원천으로부터 데이터를 획득

- 데이터를 획득하기 위한 프로토콜로는 OLEDB(Object Linking and Embedding Database, extract from RDBMS), ODBC(Object Data Base Connectivity, extract from RDBMS), FTP(File Transfer Protocol, from Excel) 등이 사용된다.

- 데이터 훼어하우스에 대한 실시간(Real Time) 또는 근접 실시간(Near Real Time) OLAP(on-line analytical processing) 질의를 지원하기 위해 실시간 데이터 복제 인터페이스 기술들이 함께 활용된다.

* OLAP(on-line analytical processing) : 데이터 웨어하우스 상의 데이터에 대해 다양한 방식으로 다차원 분석을 진행하는 것을 분석한다. 

2) Data Staging 단계

- 원천 데이터들로 부터 트랜잭션 데이터 추출 후 스테이징 테이블에 저장

- 정규화가 배제된 테이블사용하며, 테이블의 스키마는 데이터 원천의 구조에 의존적

- 데이터 원천과 스테이징 테이블과의 데이터 매핑은 일대일 또는 일대다로 구성될 수 있다.

- 데이터가 스테이징 테이블에 적재되는 시점에 적재 타임스탬프, 데이터 값에 대한 체크 섬 등의 통제(Control) 정보들이 추가된다.

- 관계형 DB, 스프레드시트, 웹 서비스, XML 문서, 트랜잭션 데이터 저장소와 같은 다양한 이기종 데이터 원천으로부터 데이터를 획득해 스테이징 테이블에 적재하며, 이 때 일괄(Batch)작업 형태인 정기적인 ETL과 실시간 ETL을 혼용할 수 있다. 

3) Data Profiling 단계

- 범위, 도메인, 유일성 확보 등의 규칙을 기준으로 데이터 품질 점검을 하는 단계이다.

- 선행 자료 또는 조건 : 데이터 프로파일링 요건

- 스테이징 테이블의 데이터에 대한 데이터 프로파일링 수행 -> 데이터 프로파일링 결과 통계 처리 -> 데이터 품질 보고서 생성 및 공유 의 절차를 거친다.

4) Data Cleansing 단계

- 클렌징 ETL 프로세스들로 데이터 프로파일링 단계에서 식별된 오류 데이터들을 수정하는 단계이다.

- 선행 자료 또는 조건 : 데이터 품질 보고서, 데이터 클렌징 요건

- cleansing stored processor를 실행(예비작업) -> 클렌징 ETL 도구 실행 의 절차를 거친다.

5) Data Integration 단계

- 수정 완료한 데이터를 ODS 내의 단일 통합 테이블에 적재하는 단계이다.

- 선행 자료 또는 조건 : 데이터 클렌징 테이블, 데이터 충돌 판단 요건 

- 통합 스토어드 프로시저 실행(예비 작업) -> 통합 ETL 도구 실행 의 절차를 거친다.

6) Export 단계

- 앞 단계에서 통합된 데이터에 대해 익스포트 규칙과 보안 규칙을 반영한 export ETL 기능을 수행해 익스포트 테이블을 생성한다. 그 후 다양한 DBMS 클라이언트 또는 데이터 마트, 데이터 웨어하우스에 export table을 적재하는 단계이다.

- 해당 데이터는 OLAP 비정형 질의에 활용될 수 있다. 

 

3. 데이터 웨어하우스

3.1 데이터 웨어하우스란?

ODS를 통해 정제 및 통합된 데이터가 데이터 분석과 보고서 생성을 위해 적재되는 데이터 저장소

3.2 데이터 웨어하우스 특징

1) 주제 중심성(Subject Oriented) : 데이터 웨어하우스의 데이터는 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 구조화되므로, 최종사용자도 이해하기 쉬운 형태를 지닌다.

2) 영속성, 비휘발성(None Volatile) : 최초 저장 이후에는 읽기 전용(Read Only의 속성을 가지며, 삭제되지 않는다.

3) 통합성(Integrated) : 기관, 조직이 보유한 대부분의 운영 시스템들에 의해 생성된 데이터들의 통합본이다.

4) 시계열성(Time Variant) : 운영 시스템들은 최신 데이터를 보유하고 있지만, 데이터 웨어하우스는 시간 순에 의한 이력 데이터를 보유한다. 

3.3 데이터 웨어하우스의 테이블 모델링 기법

1) 스타 스키마

- 조인 스키마라고도 하며, 데이터 웨어하우스의 스키마 중 가장 간단

- 단일 사실 테이블(fact table)을 중심으로 한 다수의 차원 테이블(dimensional table)들로 구성된다.

- 전통적인 관계형 데이터베이스를 통해 다차원 데이터베이스 기능을 구현할 수 있다.

- 스타 스키마의 사실 테이블은 보통 제 3정규형, 차원 테이블은 보통 비정규화된 제 2정규형으로 모델링하는 것이 일반적이다.

- 장점 : 스노우 플레이크 스키마에 비해 복잡도가 낮아서 이해하기 쉽고, 쿼리 작성이 용이하고 조인 테이블 개수가 적다.

- 단점 : 차원 테이블들의 비정규화에 따른 데이터 중복으로 인해 테이블로 데이터를 적재할 때 상대적으로 많은 시간이 소요된다.

 

스타 스키마 사례

 

2) 스노우 플레이크 스키마

- 스타 스키마의 차원 테이블을 제 3정규형으로 정규화한 형태이다.

- 장점 : 데이터의 중복이 제거돼 데이터 적재 시간이 단축된다

- 단점 : 스타 스키마에 비해 스키마 구조의 복잡성이 증가하므로 조인 테이블 개수가 증가하고 쿼리 작성 난이도가 상승된다.

3.3 ODS와 DW의 비교

 ODSDW
데이터의 내용현재 또는 비교적 최신 데이터오래된 상세 데이터, 현재 상세 데이터, 요약 데이터, 2차로 가공된 고도로 요약된 데이터 등 다양한 구조의 데이터
데이터의 양 비교적 소규모 데이터대규모 데이터
데이터의 갱신지속적으로 갱신되어 현재의 DB 상태를 반영 (volatile)데이터 축적 보관(nonvolatile)
기술적 요소데이터베이스 처리의 모든 기능을 사용하도록 설계됨단순한 적재(Load)와 접근(Access) 중심
반응형
Comments