통계학/ADP

[ADP] 데이터 처리 프로세스

헬로희 2025. 1. 16. 17:13
728x90

1. ETL(Extraction, Transformation and Load)

1) ETL 정의 및 특징

  • 데이터의 이동 및 변환 절차와 관련된 업계 표준 용어
  • 데이터를 추출 및 변환하여 운영 데이터 스토어(ODS, Operational Data Stor), 데이터웨어하우스(DW, Data Warehouse), 데이터마트(DM, Data Mart) 등에 데이터를 적재하는 작업의 핵심 구성요소
  • 데이터 통합(Data Integration), 데이터 이동(Data Migration), 마스터 데이터 관리(MDM, Master Data Management)에 걸쳐 폭 넓게 활용되며 데이터 이동과 변환을 주목적으로 함
  • 대용량 데이터를 처리하기 위한 MPP(Massicely Parallel Processing)를 지원할 수 있음

* MPP: 대규모 병렬 처리. 프로그램을 여러부분으로 나누어 여러 프로새서가 각 부분을 동시에 수행시키는 것


2) ETL의 기능

  • Extraction(추출): 하나 이상의 데이터 원천(Source)들로부터 데이터 획득
  • Transformation(변형): 데이터 클렌징/형식변환/표준화, 톡합 또는 다수 애플리케이션에 내장된 비즈니스 룰 적용 등
  • Load(적재): 변형 단계의 처리가 완료된 데이터를 특정 목표 시스템에 적재

3) 작업단계

ODC와 데이터 웨어하우스 개념도

  • Interface: 데이터 원천(Source)으로부터 데이터를 획득하기 위한 인터페이스 메커니즘 구현
  • Staging ETL: 수립된 일정에 따라 데이터 원천으로부터 트랜잭션 데이터 획득 작업 수행 후, 획득된 데이터를 스테이징 테이블에 저장
  • Profiling ETL: 스테이징 테이블에서 데이터 특성을 식별하고 품질을 측정
  • Cleansing ETL: 다양한 규칙들을 활용해 프로파일링된 데이터의 보정 작업을 수행
  • Integration ETL: (이름, 값, 구조)데이터 충돌을 해소하고, 클렌징된 데이터를 통합
  • Denormalizing ETL: 운영보고서 생성 및 데이터 웨어하우스 또는 데이터 마트에 대한 데이터 적재를 위해 데이터 비정규화 수행

2.ODS(Operational Data Store)

1) ODS 정의 및 특징

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

2) ODS 구성단계

ODS 아키텍쳐

i. Interface Layer

  • 데이터를 획득하는 단계
  • 데이터를 획득하기 위한 프로토콜로는 OLEDB(Object Linking and Embedding Database), ODBC(Object Data Base Connectivity), FTP(File Transfer Protocol)등이 사용됨
  • 데이터 웨어하우스에 대한 실시간 또는 근접실시간 OLAP질의를 지원하기 위해 실시간 데이터 복제 인터페이스 기술들이 함께 활용됨

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


ii. Staging Layer

Interface & Staging Layer

  • 트랜잭션 데이터들이 추출되어 하나 또는 그 이상의 스테이징 테이블들에 저장되는 단계
  • 이 테이블들은 정규화가 배제되며, 테이블 스키마는 데이터 원천의 구조에 의존적임
  • 데이터 원천과 스테이징 테이블과의 데이터 매핑은 일대일 또는 일대다로 구성됨
  • 데이터가 스테이징 테이블에 적재되는 시점에 적재 타임스탬프, 데이터 값에 대한 테그 섬 등의 통제 정보들이 추가됨

iii. Profiling Layer

Data Profiling Layer

  • 범위, 도메인, 유일성 확보 등의 규칙을 기준으로 데이터 품질 점검을 하는 단계
  • 선행 자료 또는 조건: 데이터 프로파일링 요건
  • [스테이징 테이블의 데이터에 대한 데이터 프로파일링 수행] → [데이터 프로파일링 결과 통계 처리]
    → [데이터 품질 보고서 생성 및 공유] 의 절차를 거침

iv. Cleansing Layer

Data Cleansing Layer

  • 식별된 오류 데이터들을 수정하는 단계
  • 선행 자료 또는 조건: 데이터 품질 보고서, 데이터 클렌징 요건
  • [클렌징 스토어드 프로시저 실행(예비작업)] [클렌징 ETL 도구 실행]의 절차를 거침

v. Integration Layer

Data Intergration Layer

  • 수정 완료한 데이터를 ODS 내의 단일 통합 테이블에 적재하는 단계
  • 선행 자료 또는 조거니: 데이터 클렌징 테이블, 데이터 충돌 판단 요건
  • [통합 스토어드 프로시저 실행(예비작업)] → [통합 ETL 도구 실행] 의 절차를 거침

vi. Export Layer

Export Layer

  • 익스포트 규칙과 보안 규칙을 반영한 익스포트 ETL 기능을 수행해 익스포트 테이블 생성
  • 그 후 다양한 DBMS 클라이언트 또는 DM, DW에 익스포트 테이블을 적재하는 단계
  • 해당 데이터는 OLAP 비정형 질의에 활용될 수 있음

3. 데이터 웨어하우스

1) 정의 및 특징

  • ODS를 통해 정제 및 통합된 데이터가 데이터 분석과 보고서 생성을 위해 적재되는 데이터 저장소
  • 주제중심성(Subject Oriented): 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 구조화되므로, 최종사용자(end user)도 이해하기 쉬운 형태를 지님
  • 영속성/비휘발성(Non Volatile): 최초 저장 이후에는 읽기전용의 속성을 가지며, 삭제되지 않음
  • 통합성(Integrated): 기관, 조직이 보유한 대부분의 운영시스템들에 의해 생성된 데이터들의 통합본
  • 시계열성(Time Variant): 운영 시스템들은 최신 데이터를 보유하고 있지만, DW는 시간 순에 의한 이력 데이터를 보유함

2) 테이블 모델링 기법

i. 스타스키마(조인스키마, Join Schema)

스타스키마 예시

  • DW의 스키마 중 가장 단순
  • 단일 사실 테이블(Fact Table)을 중심으로 한 다수 차원 테이블(Dimensional Table)들로 구성됨
  • 전통적인 관계형 데이터베이스를 통해 다차원 데이터베이스(Multi-Dimensional Database)기능을 구현할 수 있음
  • 스타스키마의 사실테이블은 보통 제 3정규형으로 모델링하며, 차원테이블들은 보통 비정규화된 제 2정규형으로 모델링함
  • 장점: 스노우 플레이크 스키마에 비해 복잡도가 낮아서 이해하기 쉽고, 쿼리 작성이 용이하고 조인 테이블 개수가 적음
  • 단점: 차원 테이블들의 비정규화에 따른 데이터 중복으로 인해 테이블로 데이터를 적재할 때 상대적으로 많은 시간 소요

ii. 스노우 플레이크 스키마

스노우 플레이크 스키마 예시

  • 스타스키마의 차원 테이블을 제 3정규형으로 정규화한 형태
  • 장점: 데이터의 중복이 제거되어 데이터 적재 시 시간이 단축됨
  • 단점: 스타스키마에 비해 스키마 구조 복잡성이 증가하므로 조인 테이블의 개수가 증가하고 쿼리 작성의 난이도 상승

4. CDC(Change Data Capture)

1) 정의 및 특징

  • 데이터베이스 내 데이터에 대한 변경을 식별해 필요한 후속처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계기법이자 구조
  • 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 DW 및 기타 데이터 저장소 구축에 폭 넓게 활용
  • 스토리지 하드웨어 계층에서부터 애플리케이션 계층에 이르기까지 다양한 계층에서 다양한 기술을 통해 구현될 수 있음
  • 단일 정보 시스템 내 다수의 CDC 매커니즘이 구현되어 동작될 수 있음

2) 구현 기법

i. Time Stamp on Rows

  • 변경이 반드시 인지되어야 하는 테이블 내 마지막 변경시점을 기록하는 타임스탬프 column을 두고,
    마지막 변경 타임스탬프 값보다 더 최근의 타임스탬프 값을 갖는 레코드를 변경된 것으로 식별하는 기법

ii. Version Numbers on Rows

  • 변경이 반드시 인지되어야 하는 테이블 해당 레코드의 버전을 기록하는 columns을 두고, 기 식별된 레코드 버전보다 더 높은 버전을 보유한레코드를 변경된 것으로 식별하는 기법
  • 레코드들의 최신 버전ㅇ르 기록, 관리하는 '참조 테이블'을 함께 운영하는 것이 일반적

iii. Status on Rows

  • 타임 스탬프 및 버전 넘버 기법에 대한 보완 용도로 활용
  • 데이터 변경의 여부를 True/False의 Boolean 값으로 저장하는 column상태 값을 기반으로 변경 여부를 판단하는 기법
  • 더 높은 버전 넘버 또는 더 최근의 갱신 타임스탬프를 보유한 레코드에 댛나 변경 여부 판단을 사람이 직접 결정할 수 있도록 유보하는 등의 업무규칙을 적용할 수 있음

iv. Time/Version/Status on Rows

  • 타임스탬프, 버전넘버, 상태 값의 세가지 특성을 모두 활용하는 기법
  • 정교한 쿼리 생성에 활용해 개발에 유연성을 제공 할 수 있음

v. Triggers on Tables

  • 데이터베이스 트리거를 활용해 사전에 등록(Subscribe)된 다수 대상 시스템(Target)에 변경데이터를 배포(Publish)하는 형태로 CDC를 구현하는 기법
  • 데이터베이스 트리거는 시스템 관리 복잡도 증가, 변경 관리의 어려움, 확장성의 감소를 유발하는 등 전반적인 시스템 유지보수성을 저하시키는 특성이 있어 사용에 주의를 요함

vi. Event Programming

  • 데이터 변경 식별 기능을 애플리케이션에 구현하며, 애플리케이션 개발 부담과 복잡도를 증가시키나, 다양한 조건에 의한 CDC메커니즘ㅇ르 구혆라 수 있는 기법

vii. Log Scanner on Database

  • 대부분의 DBMS에서 제공하는 트랜잭션 로그에 대한 스캐닝 및 변경내역에 대한 해석을 통해 CDC메커니즘ㅇ르 구현하는 기법
  • 각 DBMS에 따라 트랜잭션 로그 관리 메커니즘이 상이해 다수의 이기종 데이터 베이스를 사용하는 환경에서 적용시 작업 규모가 증가될 수 있으니 주의가 필요
  • 장점: 데이터베이스와 사용 애플리케이션에 대한 영향도 최소화, 변경 식별 지연시간 최소화, 트랜잭션 무결성에 대한 영향도 최소화, 데이터베이스 스키마 변경 불필요

3) 구현 방식

  • 푸시방식: 데이터 원천에서 변경을 식별하고 대상 시스템(Target)에 변경 데이터를 적재해 주는 방식
  • 풀 방식: 대상 시스템9Target)에서 데이터 원천을 정기적으로 살펴보고, 필요 시 데이터를 다운로드 하는 방식

5. EAI(Enterprise Application Integration)

1) 정의 및 특징

  • 비즈니스 프로세스를 중심으로 기업 내 각종 애플리케이션간의 상호연동이 가능하도록 통합하는 솔루션
  • 기업 내 또는 기업 간 상호 이질적 정보 시스템들의 데이터를 연계함으로써 상호 융화 내지 동기화되어 동작하도록 하는 것
  • Front-Office 시스템, 기존의 레거시 시스템, 패키지 애플리케이션 등의 형태로 산재되어 있는 애플리케이션을 프로세스 및 메시지차원에서 통합 및 관리
  • EAI를  통해 비즈니스 프로세스를 자동화하고 실시간으로 통합 연계할 수 있음
  • ETL은 배치 프로세스 중심이며, EAI는 실시간 혹은 근접실시간 처리 중심

2) 데이터 연계 방식

i. 기존의 데이터 연계 방식: Point to Point

  • 기준 마스터 데이터의 통합과 표준화가 불가능
  • 복잡한 데이터 연계 경로 발생으로 인해 유지보수성이 극도로 저하되고 관리비용 상승
  • N개의 연결 대상 노드들이 존재할 경우 연결은 N(N-1)/2개가 발생

ii. EAI의 데이터 연계 방식: Hub and Spoke

  • 가운데 지점에 허브 역할을 하는 브로커를 두고, 연결 대상 노드들의 데이터 연계요구를 중계 해줌으로써 노드 간 연결 개수 및 구조를 단순화하는 방식
  • 다수 정보 시스템의 데이터를 중앙의 Hub가 연계하고 통합하는 기법
    - ETL/CDC는 운영 데이터와 분석을 위한 데이터 베이스가 구분
  • 각 연결의 대상이 되는 노드들은 Spoke에 해당

3) 구성요소

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

4) EAI 구현 유형

i. Mediation(intra-communication)

  • EAI 엔진이 중개자(Broker)로 동작
  • 특정 정보 시스템 내의 데이터 신규 생성 및 갱신, 신규 트랜잭션 완료(Commit)등 이벤트 발생을 식별하여 미리 약속된 정보 시스템에 해당 내용(데이터)을 전달
  • Publish / subscribe Model

ii. Federation(inter-communication)

  • EAI 엔진이 외부 정보 시스템으로부터 데이터 요청들을 일괄적으로 수령해 필요한 데이터를 전달
  • Request / reply Model

5) 활용 효과

  • 정보 시스템 개발 및 유지 보수비용 절감
  • 기업 정보 시스템의 지속적 발전 기반 확보
  • 협력사, 파트너, 고객과의 상호협력 프로세스 연계
  • 웹 서비스 등 인터넷 비즈니스를 위한 기본 토대 확립
  • 지역적으로 분리되어 있는 정보 시스템들 간의 데이터 동기화, 그룹 및 지주 회사 계열사들 간 상호관련 데이터 동기화 등을 위한 데이터 표준화 기반 제공

6) EAI vs ESB

구분 EAI
(Enterprise Applicaiton Integration)
ESB
(Enterprise Service Bus)
기능 미들웨어(Hub)를 이용하여 비즈니스 로직을 중심으로
Application을 통합, 연계
미들웨어(BUs)를 이용하여 서비스 중심으로
시스템을 유기적으로 연계
통합관점 Application Process
로직연동 개별 Application에서 수행 ESB에서 수행
아키텍쳐 단일 접점인 허브시스템을 이용한 중앙집중식 연결구조 버스(Bus)형태의 느슨하고 유연한 연결구조

참고. ODS와 DW의 비교

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

 

728x90

'통계학 > ADP' 카테고리의 다른 글

[ADP] 분산데이터 저장기술 - 분산파일시스템  (0) 2025.02.20
[ADP] 빅데이터 처리기법  (0) 2025.01.17
[ADP] DBMS와 SQL  (1) 2025.01.15
[ADP] 빅데이터의 이해  (0) 2025.01.14
[ADP] 데이터의 이해  (2) 2025.01.12