반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. ETL(Extraction, Transformation, and Load)

- 데이터의 이동 및 변환 절차와 관련된 업계 표준 용어

- Operational Applications와 ODS(Operational Data Store), ODS(Operational Data Store)와 DWH(Data WareHouse), DWH(Data WareHouse)와 Data Mart 사이에 존재하여 데이터를 적재하는 작업의 핵심 구성요소

- 데이터 통합, 데이터 이동, 마스터 데이터 관리에 걸쳐 폭넓게 활용되는데, 데이터 이동과 변환을 주목적

- 재사용이 가능한 컴포넌트들

- 대용량 데이터를 처리하기 위한 MPP(Massively Parallel Processing)를 지원

- Batch ETL, Real Time ETL로 구분

 

2. ETL의 기능

1) Extraction(추출)

- 하나 또는 그 이상의 데이터 소스들로부터 데이터 획득

 

2) Transformation(변형)

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

 

3) Load(적재)

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

 

3. ETL의 작업 단계

1) Step 0 interface

- 다양한 이기종 DBMS 및 스프레드시트 등 데이터 소스로부터 데이터를 획득하기 위한 인터페이스 메커니즘 구현

 

2) Step 1 Staging ETL

- 수립된 일정에 따라 데이터 소스로부터 트랜잭션 데이터 획득 작업 수행 후, 획득된 데이터를 스테이징 테이블에 저장

 

3) Step 2 Profiling ETL

- 스테이징 테이블에서 데이터 특성을 식별하고 품질을 측정

 

3) Step 3 Cleansing ETL

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

 

4) Step 4 Integration ETL

- 데이터 충돌을 해소하고, 클렌징된 데이터를 통합

 

5) Step 5 Denormalizing ETL

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

 

4. ODS(Operational Data Store)

- 현재나 비교적 최근의 데이터를 저장하기 위해 설계된다

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

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

- ODS를 위한 데이터 통합은 일반적으로 데이터 클렌징, 중복제거, 비즈니스 룰 대비 데이터 무결성 점검 등의 작업들을 포함

- ODS는 일반적으로 실시간 또는 실시간 근접 트랜잭션 데이터 혹은 가격 등의 원자성을 지닌 하위 수준 데이터들을 저장하기 위해 설계

 

5. ODS 구성 단계

1) 인터페이스 단계

- 다양한 데이터 소스로부터 데이터를 획득하는 단계

- 데이터 획득을 위한 프로토콜은 OLEDB(Object Linking and Embedding Database), ODBC(Object Data Base Connectivity), FTP(File Transfer Protocol) 등이 사용

- 데이터 웨어하우스에 대한 실시간 또는 근접 실시간 질의를 지원하기 위해 실시간 데이터 복제 인터페이스 기술들이 활용

- OLAP(Online Analytical Processing) : 데이터 웨어하우스 상의 데이터에 대해 다양한 방식으로 다차원 분석을 진행하는 것을 의미

 

2) 데이터 스테이징 단계

- 데이터 소스들로부터 트랜잭션 데이터들이 추출되어 하나 또는 그 이상의 스테이징 테이블들에 저장되는 단계

- 데이터 소스와 스테이징 테이블과의 데이터 매핑은 일대일 또는 일대다

- 테이블들은 정규화 배제

- 테이블의 스키마는 데이터 원천의 구조에 의존적

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

- 다양한 이기종 데이터 소스로부터 데이터를 획득해 스테이징 테이블에 적재하며 Batch ETL과 실시간 ETL을 혼용 할 수 있음

 

3) 데이터 프로파일링 단계

- 데이터 품질 점검을 하는 단계

- 데이터 프로파일링 요건

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

 

4) 데이터 클렌징 단계

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

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

 

5) 데이터 인티그레이션 단계

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

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

- 통합 스토어드 프로시저 실행 -> 통합 ETL 도구 실행 절차

 

6) 익스포트 단계

- 앞 단계에서 통합된 데이터에 대해 익스포트 규칙과 보안 규칙을 반영한 익스포트 ETL 기능을 수행해 익스포트 테이블 생성

- DBMS 클라이언트 또는 데이터 마트, 데이터 웨어하우스에 익스포트 테이블 적재하는 단계

- 해당 데이터는 OLAP 비정형 질의에 활용

 

6. 데이터 웨어하우스

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

 

7. 데이터 웨어하우스 특징

1) 주제 중심성

- 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 구조화

- 최종사용자도 이해하기 쉬운 형태를 지님

 

2) 영속성/비휘발성

- 데이터 웨어하우스의 데이터는 최초 저장 이후에는 읽기 전용의 속성을 가짐

- 삭제 불가

 

3) 통합성

- 기관 및 조직이 보유한 대부분의 운영 시스템들에 의해 생성된 데이터들의 통합본

 

4) 시계열성

- 데이터 웨어하우스는 시간 순에 의한 이력 데이터 보유

 

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

1) 스타 스키마

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

- 단일 사실 테이블을 중심으로 한 다수의 차원 테이블로 구성

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

- 스타 스키마의 사실 테이블은 제 3정규형으로 모델링

- 차원 테이블은 제 2규형으로 모델링

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

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

 

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

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

- 데이터의 중복이 제거돼 데이터 적재 시 시간이 단축

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

 

9. ODS와 DW 비교

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

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기