ETL
- Extraction, Transformation and Load
- 추출, 변형, 적재
- 데이터 이동과 변환 절차와 관련한 업계 표준 용어
- 데이터 웨어하우스(DW), 운영 데이터 스토어(ODS), 데이터마트(DM)에 대한 데이터 적재 작업의 핵심 구성요소로서, 데이터 통합(Data Integration), 데이터 이동(Data Migration), 마스터 데이터 관리(MDM; Master Data Management)에 걸쳐 폭넓게 활용됨
Extraction(추출) | 하나 또는 그 이상의 데이터 원천들로부터 데이터 획득 |
Transformation(변형) | 데이터 클렌징, 형식 변환, 표준화, 통합 또는 다수 애플리케이션에 내장된 비즈니스 룰 적용 등 |
Load(적재) | 위 변형 단계 처리가 완료된 데이터를 특정 목표 시스템에 적재 |
ODS
- Operational Data Store (운영 데이터 스토어)
- 데이터에 추가 작업을 위해 다양한 데이터 원천(Source)으로부터의 데이터를 추출, 통합한 데이터베이스
- ODS 내의 데이터는 향후 비즈니스 지원을 위해 타 정보 시스템으로 이관 or 다양한 보고서 생성을 위해 데이터 웨어하우스로 이관됨
- ODS 구성을 위한 일괄 작업 ETL은 아래와 같은 단계(Layer)로 구성됨
1) 인터페이스 단계(Interface Layer) | - 다양한 데이터 원천으로부터 데이터를 획득 - 데이터 원천 : 관계형 DB, 스프레드시트, 플랫 파일, 웹서비스, 웹 사이트, XML문서, 트랜잭션 데이터를 저장하고 있는 모든 알려진 데이터 저장소(Repository) 등 - 데이터 획득을 위한 프로토콜 : OLEDB, ODBC, FTP |
2) 데이터 스테이징 단계(Staging Layer) | - 작업 일정이 통제되는 프로세스들에 의해 데이터 원천들로부터 트랜잭션 데이터들이 추출되어 하나 혹은 그 이상의 스테이징 테이블에 저장됨 - 정규화가 배제되며, 테이블 스키마는 데이터 원천의 구조에 의존적임 - 데이터 원천과 스테이징 테이블과의 데이터 매핑은 일대일 또는 일대다로 구성될 수 있다. |
3) 데이터 프로파일링 단계(Profiling Layer) | - 범위, 도메인, 유일성 확보 등의 규칙을 기준으로 다음과 같은 절차에 따라 데이터 품질 점검을 함 - 선행 자료 또는 조건 : 데이터 프로파일링 요건 - Step 1 : 데이터 프로파일링 수행 - Step 2 : 데이터 프로파일링 결과 통계 처리 - Step 3 : 데이터 품질 보고서 생성 및 공유 |
4) 데이터 클렌징 단계(Cleansing Layer) | - 클렌징 ETL 프로세스(도구)로 앞 데이터 프로파일링 단계에서 식별된 오류데이터를 다음 절차에 따라 수정함 - 선행 자료 또는 조건 : 데이터 품질 보고서. 데이터 클렌징 요건 - Step 1 : 클렌징 스토어드 프로시져 실행(예비작업) - Step 2 : 클렌징 ETL 도구 실행 |
5) 데이터 통합 단계(Integration Layer) | - 수정 완료한 데이터를 ODS 내의 단일 통합 테이블에 적재하며, 다음 단계들을 거침 - 선행자료 또는 조건 : 데이터 클렌징 테이블, 데이터 충돌 판단 요건 - Step 1 : 통합 스토어드 프로시저 실행(예비 작업) - Step 2 : 통합 ETL 도구 실행 |
6) 익스포트 단계(Export Layer) | - 통합된 데이터를 익스포트 규칙과 보안 규칙을 반영한 익스포트 ETL 기능을 수행하여 익스포트 테이블을 생성하고, 다양한 전용 DBMS 클라이언트 또는 DM, DW에 적재함 - OLAP 비정형 질의에 활용될 수 있음 |
데이터 웨어하우스
- DW; Data Warehouse
- DW의 특징 4가지
주제 중심(Subject Oriented) | 데이터는 실 업무 상황의 특정 이벤트나 업무 항목을 기준으로 기준화함 |
영속성(Non Volatile) | 최초 저장 이후에는 읽기 전용 속성을 가지며 삭제되지 않음 |
통합성(Integrated) | DW는 기관, 조직이 보유한 대부분의 운영시스템들에 의해 생성된 데이터들의 통합본임 |
시계열성(Time Variant) | 운영 시스템들은 최신 데이터를 보유하고 있지만, DW는 시간 순에 의한 이력 데이터를 보유함 |
DW의 모델링 : 스타 스키마 & 스노우 플래이크 스키마
1) 스타 스키마(Star Schema) (= 조인 스키마(Join Schema))
- DW 스키마 중에 가장 단순함
- 단일 사실 테이블(Fact Table)을 중심으로 다수의 차원 테이블(Dimensional Table)들로 구성됨
- 스타 스키마를 활용할 때는 전통적인 관계형 데이터베이스를 통해 다차원 데이터베이스 기능을 구현 가능
- 이해하기 쉬운 것이 장점
- 사실 테이블은 보통 제3정규형으로 모델링
- 차원 테이블은 보통 비정규화된 제2정규형으로 모델링
- 차원 테이블을 정규화하는 것을 스노우 플래이크 스키마라고 함
- 차원 테이블들의 비정규화에 따른 데이터 중복으로 해당 테이블에의 데이터 적재 시 상대적으로 많은 시간이 소요된다는 단점
2) 스노우 플래이크 스키마(Snow Flake Schema)
- 스타 스키마의 차원 테이블을 제3정규형으로 정규화한 형태
- 데이터의 중복이 제거돼 데이터 적재 시 시간이 단축되는 장점
- 스키마 구조의 복잡성 증가에 따른 조인 테이블 개수 증가와 쿼리 작성 난이도 상승이라는 단점
CDC
- Change Data Capture
- DB 내 데이터에 대한 변경을 식별해 필요한 후속 처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조
- 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 DW 및 기타 데이터 저장소 구축에 활용됨
- CDC 구현 기법 7개
Time Stamp on Rows | 마지막 변경 시점을 기록하는 타임스탬프 컬럼을 둠 |
Version Numbers on Rows | 변경된 레코드의 버전을 기록하는 컬럼을 둠 |
Status on Rows | 변경 여부를 True/False 불린 값으로 저장하는 컬럼을 둠 |
Time/Version/Status on Rows | 타임스탬프, 버전 넘버, 상태 값의 세가지 특성을 모두 활용 |
Triggers on Tables | 트리거를 활용해 사전 등록된 다수 대상 시스템에 변경 데이터를 배포 |
Event Programming | 데이터 변경 식별 기능을 어플리케이션에 구현하며, 다양한 조건에 의한 CDC 매커니즘을 구현할 수 있음 |
Log Scanner on Database | 데이터 변경에 따라 트랜잭션 로그가 기록, 관리되는데, 이 변경 내역에 대한 해석을 통해 CDC 매커니즘이 구현됨 |
EAI
- Enterprise Application Integration
- 기업 정보 시스템들의 데이터를 연계, 통합하는 소프트웨어 및 정보 시스템 아키텍쳐 프레임워크
- 포인트 투 포인트 방식(X) → 허브앤스포크(Hub and Spoke) 방식의 EAI 기반 구조를 적용
- EAI 구성 요소
1) 어댑터(Adaptor) : 각 정보 시스템과 EAI 허브 간 연결성을 확보 |
2) 버스(BUS) : 어댑터들을 매개로 연결된 각 정보 시스템들 간의 데이터 연동 경로 |
3) 브로커(Broker) : 데이터 연동 규칙을 통제함 |
4) 트랜스포머(Transformer) : 데이터 형식 반환 등을 담당 |
- EAI 구현 유형
Mediation (Intra-communication) |
EAI 엔진이 중개자(Broker)로 동작하고, 특정 정보 시스템 내 데이터 신규 생성 또는 갱신, 신규 트랜잭션 완료 등 유의미한 이벤트 발생을 식별해서, 사전 약속된 정보 시스템들에게 그 내용을 전달 - Publish/Subscribe Model |
Federation (Inter-communication) |
EAI 엔진이 외부(고객 or 파트너) 정보 시스템으로부터의 데이터 요청들을 일괄적으로 수령해 필요한 데이터를 전달함 - Request/Reply Model |
데이터 연계 및 통합 기법 요약
일괄(Batch) 통합 | 비동기식 실시간 통합 (Near Real Time) |
동기식 실시간 통합 (Real Time) |
- 비실시간 데이터 통합 - 대용량 데이터 대상 - 높은 데이터 조작 복잡성 - 데이터 추출, 변형, 적재(ETL) - CDC - 감사 증적 - 웹 서비스 / SOA - 교차참조 - 데이터 재 처리 허용 - 점대점 데이터 연계 - 자동화 도구 및 자체 개발 SW 혼용 |
- 근접 실시간 데이터 통합 - 중간 용량 데이터 - 중간 데이터 조작 복잡성 - ETL - CDC - Data Pooling and DB Streams - 웹 서비스 / SOA - 감사 증적 - 교차참조 - 다수 데이터 원천 및 목표 시스템 - 데이터 재 처리 허용 - 자동화 도구 및 자체 개발 SW 혼용 |
- 실시간 데이터 통합 - 목표 시스템 데이터 처리 가능 시에만 원천 데이터 획득 - ETL - 웹 서비스 / SOA - Single Transaction Integrations - 단일 트랝개션 단위 데이터 통합 - 데이터 재처리 불가 - 단일 또는 다수 데이터 원천 - 감사 증적 |
대규모 분산 병렬 처리
- 하둡(Hadoop)은 대규모 분산 병렬 처리의 업계 표준인 맵리듀스(MapReduce) 시스템과 분산 파일 시스템인 HDFS로 구성된 플랫폼 기술이며, 다음과 같은 특징을 가진다.
1) 선형적인 성능과 용량 확장 | - 하둡 이전의 분산 컴퓨팅 시스템의 최대 클러스터링 대수가 100대였던 반면, 하둡은 2만 대의 서버들을 단일 클러스터로 구성할 수 있을 정도로 확장성이 뛰어나며, 선형적인 성능 확장도 가능함 |
2) 고장 감내성 | - 3중 복제되어 서로 다른 물리 서버에 저장 - 맵리듀스 작업을 수행하다가 특정 태스크에서 장애가 생기면 시스템이 자동으로 감지해 장애가 발생한 특정 태스크만 다른 서버에서 재실행할 수 있음 - 관리자 개입 없이 시스템 수준에서 자동으로 동작함 |
3) 핵심 비즈니스 로직에 집중 | - 기본적으로 맵과 리듀스라는 2가지 함수만 구현하면서 동작하는 시스템임 - 비즈니스 로직 개발자는 맵리듀스라는 데이터 처리, 분석 방식만 이해하고 비즈니스 목적에 맞게 간단한 코드만 작성해주면, 데이터가 크고 작음에 신경을 크게 쓰지 않아도 됨 |
4) 풍부한 에코시스템 형성 | - 데이터 수집 기술 : Flume-NG - 데이터 연동 기술 : Sqoop - 데이터베이스 기술 : HBase(NoSQL) - 대용량 SQL 질의 기술 : Hive, Pig - 실시간 SQL 질의 기술 : Impala, Tajo - 워크플로 기술 : Oozie, Azkaban |
'Data Science > Data Analytics' 카테고리의 다른 글
[ADP-4] CRISP-DM 분석 방법론 / 분석과제 발굴 / 디자인사고(Design Thinking) / 하향식 접근법 (Top Down Approach) (0) | 2022.08.02 |
---|---|
[ADP-3] 분석 기획 / 분석 주제 유형 / 분석방법론 / 방법론 모델 / KDD 분석 방법론 (0) | 2022.07.29 |
[ADP-1] 데이터 구분 / 지식경영(암묵지, 형식지) / DIKW / 데이터베이스 / 빅데이터 정의, 특징, 기능 (0) | 2022.07.18 |
[ch1. EDA] 변이 추정, 데이터 분포 탐색 (0) | 2022.01.10 |
[ch1. EDA] 정형 데이터, 테이블 데이터, 위치 추정, 변이 추정 (0) | 2022.01.07 |
댓글