ADP 공부하기 5

데이터 처리 프로세스

ETL

  • 데이터의 이동 및 변환 절차와 관련된 용어
  • 데이터 스토어, 웨어하우스, 마트 등에 데이터를 적재
  • 데이터 통합, 이동, 마스터 데이터 관리(MDM)에 활용, 이동과 변환이 목적
  • 대용량 데이터 처리(MPP)
  • 다수 시스템 간 대용량 데이터 교환
  • Batch, ETL, Real Time등으로 구분

ETL 기능

Extraction : 데이터 소스로부터 데이터 획득 Transformation : 데이터 클렌징, 변한, 형식 변환, 표준화, 통합 등의 비즈니스 룰 Loading : 변형이 완료된 데이터를 특정 시스템에 적재

ETL 작업 단계

step 0
interface
다양한 이기종 dbms 및 스프레드시트 등 데이터 소스로부터 데이터를 획득하기 위한 인터페이스 메커니즘 구현
step 1
Staging ETL
일정에 따라 소스로부터 트랜잭션 데이터 획득 작업 후 획득된 데이터를 스테이징 테이블에 저장
step 2
Profiling ETL
스테이징 테이블에서 데이터 특성을 식별하고 품질 측정
step 3
Cleansing ETL
다양한 규칙들을 활용해 프로파일링된 데이터의 보정 작업 수행
step 4
Integraion ETL
이름, 값, 구조 데이터 충돌을 해소하고 클렌징된 데이터를 통합
step 5
Demoralizing ETL
운영 보고서 생성, 데이터 웨어하우스, 마트에 대한 데이터 적재를 위해 비정규화 수행


ODS 구성

  • ODS는 데이터에 대한 추가 작업을 위해 다양한 데이터 소스로부터 데이터를 추출, 통합한 데이터베이스
  • ODS 내 데이터는 타 정보 시스템이나 데이터 웨어하우스로 이관
  • ODS를 위한 데이터 통합은 데이터 클렌징, 중복제거, 비즈니스 룰 대비 데이터 무결성 점검의 작업이 포함
  • 일반적으로 Real Time, Near Real Time 트랜잭션 데이터 혹은 가격 등의 원자성을 지닌 하위 수준 데이터를 저장하기 위해 설계

ODS구성 단계

  1. 인터페이스 단계
  • 데이터를 획득하는 단계
  • 프로토콜 : OLEDB, ODBC, FTP 등이 사용
  • 데이터 웨어하우스에 대한 RT, NRT OLAP질의를 지원하기 위해 실시간 데이터 복제 인터페이스 기술들이 함께 활용

OLAP : 데이터 웨어하우스 상의 데이터에 대해 다양한 방식으로 다차원 분석 진행

  1. 데이터 스테이징 단계
  • 데이터 소스로부터 트랜잭션 데이터들이 추출되어 하나 또는 그 이상의 스테이징 테이블들에 저장
  • 정규화가 배제되고 스키마는 소스의 구조에 의존적이다.
  • 소스와 스테이징 테이블과의 데이터 매핑은 일대다, 일대일 구조
  • 적재 타임스탬프, 데이터 값에 대한 체크 섬 등의 통제 정보가 추가
  • 다양한 데이터 소스로부터 데이터를 획득해 스테이징 테이블에 적재, 이 때 일괄(BATCH)작업 형태인 정기적 ETL과 실시간 ETL을 혼용할 수 있음.
  1. 데이터 프로파일링 단계
  • 데이터 품질 점검의 단계
  • 스테이징 테이블 데이터에 대한 프로파일링 수행 -> 결과 통계 처리 -> 품질 보고서 생성 및 공유
  1. 데이터 클렌징 단계
  • 프로파일링 단계에서 식별된 오류 데이터 수정 단계
  • 클렌징 스토어드 프로시저 실행 -> 클렌징 ETL 도구 실행
  1. 데이터 인티그레이션 단계
  • 수정 완료한 데이터를 ODS 내의 단일 통합 테이블에 적재
  • 통합 스토어드 프로시저 실행 -> 통합 ETL 도구 실행
  1. 익스포트 단계
  • 익스포트 ETL기능을 수행해 익스포트 테이블 생성
  • 다양한 DBMS 클라이언트, 데이터 마트, 웨어하우스에 익스포트 테이블 적재
  • 해당 데이터는 OLAP 비정형 질의에 활용될 수 있음.


데이터 웨어하우스

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

특징

주제 중심성
Subject Oriented
데이터 웨어하우스의 데이터는 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 구조화 되므로, 최종사용자도 이해하기 쉬운 형태
영속성, 비휘발성
NON Volatile
최초 저장 이후에는 읽기 전용의 속성, 삭제되지 않는다.
통합성
Integrated
기관,조직이 보유한 대부분의 운영 시스템에 의해 생성된 데이터들의 통합본임
시계열성
Time Variant
운영 시스템은 최신 데이터르 보유하지만 데이터 웨어하우스는 시간 순에 의한 이력 데이터 보유

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

  1. 스타 스키마
  • 조인 스키마, 가장 단순

  • 단일 사실 테이블을 중심으로 다수의 차원 테이블로 이루어짐

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

  • 사실 테이블은 보통 제 3정규형으로 모델링, 차원 테이블들은 보통 비정규화된 제 2정규형으로 모델링

  • 장점 : 스노우 플레이크에 비해 이해하기 쉽고, 쿼리 작성 용이, 조인 테이블 수 적음

  • 단점 : 차원 테이블들의 비정규화에 따른 데이터 중복으로 데이터를 적재할 때 많은 시간 소요

  1. 스노우 플레이크 스키마
  • 차원 테이블을 제 3정규형으로
  • 단점 : 조인 테이블 개수 증가, 쿼리 작성 난이도 상승

ODS DW 비교

구분 ODS DW
데이터 내용 현재, 최신 데이터 오래된 상세 데이터, 현재 상세 데이터, 요약, 2차로 가공된 고도로 요약된 데이터
데이터 양 비교적 소규모 데이터 대규모 데이터
데이터 갱신 지속적 갱신, 현재DB 반영 데이터 축적 보관
기술적 요소 처리의 모든 기능을 사용하도록 설계 단순한 적재와 접근 중심



CDC

  • DB내 데이터 변경을 식별해 필요한 후속처리를 자동화
  • RT, NRT 데이터 통합을 기반
  • 스토리지 하드웨어 계층에서부터 애플리케이션 계층에 이르기까지 다양한 계층에서 다양한 기술
  • 단일 정보 내 다수의 CDC 매커니즘

CDC 구현 기법

  1. Time Stamp on Rows
  • 테이블 내 마지막 변경 시점을 기록하는 타임스탬프 칼럼을 두고 마지막 변경 타임스탬프 값보다 더 최근의 타임스탬프 값을 갖는 레코드를 변경된 것으로 식별
  1. Version Numbers on Rows
  • 레코드의 버전을 기록하는 칼럼을 두고 더 높은 버전을 보유한 레코드를 변경된 거승로 식별
  1. Status on Rows
  • 타임스탬프 및 넘버 기법에 대한 보완, 변경의 여부를 True,False 로 변경 여부 판단
  1. Time/Version/Status
  • 위의 세가지 특성 모두 활용, 정교한 쿼리 생성에 활용
  1. Triggers on Tables
  • 트리커를 활용해 사전에 등록된 다수 대상 시스템에 변경 데이터를 배포하는 형태
  • 관리 복잡도 증가, 관리 어려움, 확장성 감소 유발 등 시스템 유지보수성을 저하 -> 사용에 주의
  1. Event Programming
  • 변경 식별 기능을 애플리케이션에 구현, 애플리케이션 개발 부담, 복잡도 증가
  1. Log Scanner on Database
  • DBMS에서 제공하는 트랜잭션 로그에 대한 스캐닝 및 변경에 대한 해석을 통해 구현
  • 작업 규모가 증가될 수 있음
  • 장점 : db와 애플리케이션 영향도 최소화, 식별 지연시간, 트랜잭션 무결성 영향도 최소화, 스키마 변경 불필요

CDC 구현 방식

push : 소스에서 변경을 식별하고 대상 시스템에 대한 변경 데이터를 적재 pull : 대상 시스템에서 데이터 소스를 정기적으로 살피고 필요시 데이터 다운



EAI

비즈니스 프로세스를 중심으로 기업 내 각종 애플리케이션 간의 상호연동이 가능하도록 함

  • 데이터 연계 -> 상호 융화 내지 동기화
  • 애플리케이션을 프로세스 및 메시지 차원에서 통합 관리
  • EAI를 통해 비즈니스 프로세스를 자동화하고 실시간으로 통합 연계
  • RT, NRT 처리 중심

데이터 연계 방식

기존 : POINT TO POINT

  • 정보 시스템 개발 시 정보 시스템들 간의 데이터를 연계, 복잡함
  • 데이터 통합과 표준화 불가능, 유지 보수성 저하, 관리 비용 상승
  • N(N-1)/2개의 연결

EAI의 연계방식 : Hub and Spoke

  • 가운데에 허브 역할을 하는 브로커를 두고 연결 노드들의 데이터 연계 요구를 중계함으로써 구조를 단순화
  • 각 연결의 대상이 되는 노드들은 Spoke

EAI 구성 요소

어댑터 : 각 정보 시스템과 EAI허브 간의 연결성 확보 버스 : 어댑터를 매개로 연결된 각 정보 시스템들 간의 데이터 연동 경로 브로커 : 데이터 연동 규칙 통제 트랜스포머 : 데이터 형식 변환을 담당

EAI 구현 유형

  1. Mediation
  • EAI 엔진이 중개자, 특정 정보 시스템 내의 데이터 생성, 갱신, 신규 트랜잭션 완료 등 이벤트 발생을 식별, 미리 약속된 정보 시스템에 해당 내용(데이터) 전달
  • Publish/subscribe Model
  1. Federation
  • EAI 엔진이 외부 정보 시스템으로부터 데이터 요청들을 일괄적으로 수령해 전달
  • Request/reply Model

EAI 활용 효과

  • 정보 시스템 개발 및 유지 보수비용 절감
  • 기업 정보 시스템의 지속적 발전 기반 확보
  • 협력사, 고객, 파트너와의 상호 협력 프로세스 연계
  • 웹 서비스, 인터넷 비즈니스를 위한 기본 토대 확립
  • 데이터 동기화, 데이터 표준화 기반 제공

EAI, ESB

구분 EAI ESB
기능 Hub를 이용해 비즈니스 로직을 중심으로 애플리케이션을 통합, 연계 BUS를 이용해 서비스 중심으로 시스템을 유기적으로 연계
통합 관점 애플리케이션 프로세스
로직연동 개별 애플리케이션에서 수행 ESB에서 수행
아키텍처 단일 접점인 허브시스템을 이용한 중앙집중식 연결구조 버스 형태의 느슨하고 유연한 연결구조
updatedupdated2021-01-202021-01-20
Load Comments?