메뉴 건너뛰기

이노쿼츠, 이노트리, ETL, Talend

InnoQuartz-ETL

ETL 이란?

NEXUS 2015.08.31 17:53 조회 수 : 57686

 

컴퓨터 공학에서는 Database 또는 DW(Data Warehouse)를 사용하여 Extract, Transform and Load (ETL)하는 
일련의 모든 과정을 의미 합니다. 
 
ETL은 데이터를 추출(Extraction), 변환(Transformation), 적재(Loading)의 약자 이기도 합니다.
 
Source의 데이터의 유형은 정형,비정형이 될 수 있으며 Target 데이터 유형도 정형, 비정형의 데이터 형태를 구성 할 수 있습니다.
 
Extract(추출)
 - 동종 또는 이기종 데이터 소스 로부터 데이터를 추출
 
Transforms(변환)
 - 쿼리 또는  분석 위해 적절한 포맷/프로그래밍의 변환/개발 규약을 정의
 
Loads(적재)
 - 최종 목표로 데이터 로드 ( 데이터베이스 또는 보다 구체적으로 운영 데이터 저장소 / 데이터 마트 또는 DW 혹은 BigData)
데이터 추출 시간은 소비되는 시간이 상당함으로, 데이터가 다른 변환 프로세스를 거쳐 추출 되는 동안 이미 수신된 데이터들은 로딩을 준비하거나 이미 적재(타겟시스템) 하는 중에있는 상태에 있습니다. 적재는 보통 위 프로세스를 병렬로 수행 합니다.
 

etl.png

 

 
ETL 시스템은 일반적으로 ETL개발을 하고 목표 시스템의 컴퓨터 하드웨어, 호스트 또는 여러 응용 프로그램 (시스템) 에 데이터를 통합 합니다. 
ETL 개발 프로세스는 개발 시점이 곧 운영 Test 입니다. 
왜냐하면 운영 중인 데이터들은 실시간에 준하는 데이터이며 지속적인 이관업무를 수행 해야 합니다. 
 
만약 시스템이 셧다운 되거나 정지 되어 있으면 그동안의 데이터를 별도로 이관을 하기 위한 계획을 수립해야 합니다. 
이 상황을 고려하지 않고 최초 개발을 하였다면 이는 새로운 ETL 개발 리소스를 요하게 됩니다. 예를 들어 원가 회계 시스템, 포인트 일일 정산, 대사 , 판매 배송 등 시간에 민감함 시스템들은 더욱더 초기 ETL개발에 중요도가 높습니다.
 
 
위로