ETT
태그 :
- 개념
- - 데이터를 소스 시스템에서 추출하여 정제/변환 후 DW에 적재 작업까지의 전 과정 - DW 아키텍처 구성 요소간의 데이터 일관성과 통합성을 유지시키는 역할 수행 - ETL(Extraction, Transformation, Loading)이라고도 함 - DW 구축 노력(기간, 인력, 비용)의 80% 이상을 차지 - ETT 의 방법은 소스시스템의 종류, 데이터의 추출주기, 데이터의 양, 로드 속도, 소스데이터의 질, 과거 데이터의 형식, 사용자의 요구조건, 소스시스템의 역할 등에 따라서 달라짐
I. DW의 지속적 사용성 보장, ETT 의 개요
가. ETT(Extraction, Transformation, Transportation)의 개념
- 데이터를 소스 시스템에서 추출하여 정제/변환 후 DW에 적재 작업까지의 전 과정
- DW 아키텍처 구성 요소간의 데이터 일관성과 통합성을 유지시키는 역할 수행
- ETL(Extraction, Transformation, Loading)이라고도 함
- DW 구축 노력(기간, 인력, 비용)의 80% 이상을 차지
- ETT 의 방법은 소스시스템의 종류, 데이터의 추출주기, 데이터의 양, 로드 속도, 소스데이터의 질, 과거 데이터의 형식, 사용자의 요구조건, 소스시스템의 역할 등에 따라서 달라짐
나. 데이터의 추출(Extraction), 가공(Transformation), 전송(Transportation) 의미
구분 |
의미 |
데이터의 추출 (Extraction) |
- 원본 파일과 트랜잭션 데이터베이스로부터 DW 에 저장될 데이터를 추출하는 과정 임. - 초기 추출은 DW에 처음 데이터를 입력할 때 사용됨. - 주기적 추출은 DW 가 가동된 후 일 단위 또는 월 단위의 주기적인 유지보수에 사용됨. - 주기적 추출의 일반적인 방법은 데이터베이스 로그 파일에서 최근 변화를 기록한 사후 이미지 (After Images)를 추출 |
데이터의 가공(Transformation) |
- 질적으로 문제가 있는 데이터를 데이터 정제(Cleansing) 기법을 통해 수정한 후에 사용 - 데이터의 품질을 높일 수 있는 가장 핵심적인 단계 - 필드 수준의 가공과 레코드 수준의 가공이 존재 - 필드 수준의 가공은 원본 필드의 형태를 DW 의 형태에 맞게 변형하는 것을 의미 - 레코드 수준의 가공은 선택(Selection), 결합(Join), 집단화(Aggregation) 기능을 이용하여 레코드 집합을 조작 |
데이터의 전송 (Transportation) |
- 선택된 데이터를 DW 에 전송하여 저장하고, 필요한 색인을 만드는 것 - 전체 갱신 방법과 부분 갱신 방법 - DW 의 색인을 만들기 위해 비트맵 색인(Bitmapped Index) 방식을 사용 |
II. ETT 작업 절차
가. ETT의 작업 절차 개념도
나. ETT의 처리단계 설명
ETT 의 기능 |
설명 |
데이터 확인 |
- 소스 데이터에서 어떤 데이터를 추출할지 확인 - 유사한 여러 필드가 있는 경우에는 그 중 가장 신뢰할 만 하거나 기준으로 삼을 필드를 정함 |
데이터 추출 |
- 실제로 소스 데이터에서 필요한 데이터를 추출함 |
데이터 정제 |
- 데이터 품질을 높이기 위한 작업 - 겹치는 필드를 조정하고, 오류의 가능성이 있는 데이터를 기준 데이터나 비즈니스 규칙에 의거하여 정리 |
데이터 변환 |
- 추출되고 정리된 데이터를 타겟 데이터 형식에 맞게 변환 - 비즈니스적인 의미를 부여하기 위한 메타데이터 정의/정리 작업 등의 표준화 작업 선결 수행 |
데이터 통합(전송) |
- 다양한 소스 데이터들을 단일한 데이터로 의미를 가질 수 있도록 통합하여 DW로 통합 적재(전송) |
III. ETT 특징 및 형태
가. ETT 의 특징
- Data Warehouse 구축에 생명 역할
- 사실 테이블과 요약 테이블을 소스 시스템에서 생성
- ETT 는 정확성과 신속성을 명제로 함
- 소스 시스템에서 특정한 데이터가 바뀌면 로그 파일을 만들고, DW 에서 주기적으로 데이터를 가져옴
나. ETT 의 형태
구분 |
내용 |
Off-Line 방식 |
메일 또는 배달, 소스시스템에서 데이터를 SAM파일로 만들어서 Data Warehouse로 방식 |
On-Line 방식 |
소스시스템 DB와 D/W DB를 직접 연결하여 직접 로딩 방식 |
Semi-Online 방식 |
처리계 시스템내에 사용자 로그를 만들어 Data Warehouse 서버가 이 로그 파일을 주기적으로 읽어 가져오는 방식 |
IV. ETT 아키텍처
가. 운영시스템 중심
- 운영시스템에 부하를 주는 단점이 있으므로 운영 시스템에 대한 충분한 batch 작업 시간이 확보 가능한지 확인하여야 함.
- 운영계 시스템과 DW 서버간에 꼭 필요한 데이터만 전송되므로 네트워크 부하를 줄일 수 있는 장점이 있음.
- DW 서버에 대한 부하를 최소화하는 아키텍처이므로 다수의 운영시스템으로부터의 통합을 필요로 하는 경우 DW 서버에서의 병목 현상을 최소화할 수 있음.
나. DW 서버 중심
- 운영시스템에 대한 부하가 크고 운영시스템에서 충분한 batch 작업 시간 확보가 어려운 경우(예 : 24 시간 운영되는 웹사이트) 가능한 아키텍처임.
- 운영시스템에서 거의 처리되지 않은 데이터가 DW 서버로 전송되어야 하므로 네트워크 부하가 있을 수 있음.
- DW 서버에 대한 부하가 크므로 다수의 운영시스템으로부터의 통합을 필요로 하는 경우 DW 서버에 대한 충분한 batch 작업시간이 확보되어야 함.
다. 별도 ETL 서버중심
- 운영시스템에 대한 부하와 DW 서버에 대한 부하를 최소화하는 아키텍처임.
- ETL 을 위한 별도의 서버를 구입해야 하는 부담이 있음.
- 다수의 운영시스템과 다수의 데이터 마트가 있는 경우 ETL 도구를 다수의 서버에 설치할 필요가 없음.
V. EII와 ETT의 비교(기출문제)
가. 데이터통합 기술 EII 와 ETL의 개념
용어 |
기 본 개 념 |
핵심 |
EII |
- 데이터의 원위치를 유지한 상태로 통합하고 필요에 따라 데이터에 접근하는 데이터 통합의 한 형태를 의미 - 데이터 페더레이션 또는 EII 테크닉은 다이내믹한 성격을 가지며 대량의 데이터 접근 또는 다수 시스템의 동시 접근이 필요하지 않은 환경에서 잠재적인 문제를 해결하기 위한 방법으로 활용됨 |
원위치 유지 |
ETL |
- 기존의 다양한 시스템과 파일에 저장된 데이터를 하나의 데이 웨어하우스로 통합하기 위해 데이터를 추출,가공, 전송하는 일련의 과정을 통칭 |
추출,가공,전송 |
나. EII와 ETL 비교
용어 |
EII |
ETL |
개념도 |
||
데이터 저장소 |
- 데이터 저장공간 (Virtual Data Store) |
- 실질적인 저장공간 확보 |
접근 |
- 물리적인 저장소 상관없이 하나의 데이터베이스처럼 접근 |
- 한군데 집약된 데이터베이스에 접근 |
데이터 형식 |
- 정형/비정형 모두 사용가능 |
- 정형 타입 사용가능 |
데이터 수정 |
- 원천데이터 수정 가능(양방향) |
- 원천데이터 수정 불가능(단방향, Read Only) |
데이터 특징 |
- 실시간(Real Time) 접근가능 |
- 배치(Batch) 접근가능 |
핵심기술 |
- 데이터 페더레이션 기술 : Connectivity, Federated and Distributed Query Engine, Cache, Consumption, Metadata Repository로 구성되며, 이 중에서 Federated and Distributed Query Engine이 솔루션의 핵심 - Federated and Distributed Query Engine 계층 : EII 기술의 핵심 영역으로서 쿼리를 분해하여 원천 소스에 서브 쿼리를 수행하는 역할을 수행하고 각각의 쿼리 결과는 메모리에 저장되며, 여기에서 조인이나 매핑 작업을 통해 전체 뷰가 만들어짐 |
- 데이터 추출기술 : 원본 파일과 트랜잭션 데이터베이스로부터 데이 웨어하우스에 저장될 데이터를 추출 하는 과정 - 데이터 변환기술 : 질적으로 문제가 있는 데이터를 데이터 정제 (Cleansing) 기술 - 데이터 적재기술 : 선택된 데이터를 데이터웨어하우스에 전송하여 저장하고, 필요한 색인생성 |