• 검색 결과가 없습니다.

데이터 ETL(Extraction, Transformation, Loading) 가) ETL 개요

가. 데이터웨어하우스 기술동향

4) 데이터 ETL(Extraction, Transformation, Loading) 가) ETL 개요

ETL이란 추출(Extraction), 변환(Transformation), 적재(Loading)의 약 자로써 단순히 데이터의 추출, 변환, 적재 작업에 국환되지 않고 추가 적으로 정련(Cleansing), 통합(Integration), 전송(Transportation), 메타데이 터 관리 등에 이르는 전 작업과정을 의미한다. 데이터웨어하우스에서

146

ETL에 필요한 단위 프로세스는 <표 Ⅴ-27>과 같이 설명된다.

〈表 Ⅴ-3〉ETL 單位 프로세스

단위프로세스 정 의

추출

- 데이터웨어하우스 DB로 적재하기에 알맞게 만들 목적으로, 파악 된 정보 요구에 기초하여 운영시스템의 데이터를 중간 포맷으로 포착해내는 것

정련

- 데이터웨어하우스로 적재하기 위해 운영 시스템에서 추출된 데 이터로부터 일관적이고 표준화된 정보를 만드는 것

- 데이터의 정합성, 품질, 드러나지 않은 정보 드을 조사하여 중복 되고 부정확한 데이터를 제거하고 데이터의 변경, 풍부화를 통 해 정보 내용을 향상시킴

변환 - 데이터웨어하우스의 데이터 요소로 삽입되도록 소스 필드를 계 산, 여과, 코드변화, 집계하는 전환 로직을 설계/구현하는 것 통합 - 여러 시스템으로부터 데이터를 취합, 이 단계에서 어느 곳의 데

이터가 맞는지를 가려내는 작업도 수행함

전송 - 데이터웨어하우스 적재를 위해 추출/변환된 데이터 파일을 타겟 서버로 보내는 것

로딩 - 하나 이상의 전송된 파일로부터 테이블로 데이터를 올리는 것 - 테이블은 재생성 되거나 추가되거나 갱신됨

메타데이터 관리

- 데이터웨어하우스에 저장된 데이터와 관련된 정보를 유지 보수 하는 것

- 이 정보는 테이블/컬럼 저의, 컬럼의 도메인, 소스/타겟 컬럼 매 핑, 문서화된 업무 규칙, 통합 논리 모델 등임

데이터웨어하우스의 ETL은 시스템 구축 후에도 지속적, 주기적으 로 실행되어야 한다는 특성을 감안할 때 효율적인 시스템 운영을 위 해 관련 작업을 최대한 자동화하는 것이 바람직하다.

나) ETL 아키텍쳐

ETL 아키텍쳐 구성시 ETL의 변환 작업은 서버에 많은 부하를 주 게 된다는 점을 고려해야 하며 ETL 아키텍쳐 유형은 시스템을 구축 하는 조직의 환경에 맞게 선택해야 한다. 이러한, ETL 아키텍쳐는

最新 技術動向 및 適用事例 147

ETL 가운데 변환 작업을 담당하는 시스템에 따라 운영시스템 중심 아키텍쳐, 데이터웨어하우스 서버 중심 아키텍쳐, 별도 ETL 서버 중 심 아키텍쳐로 분류할 수 있다.

(1) 운영시스템 중심

데이터의 추출 및 변환이 운영계 시스템에서 이루어지는 방식으로 운영시스템에 부하를 주는 단점이 있으므로 운영 시스템에 대한 충분 한 배치작업 시간을 확보할 수 있는지를 먼저 확인해야 한다.

운영시스템과 데이터웨어하우스 서버간에 필요한 데이터만 전송되 므로 네트워크 부하를 줄일 수 있는 장점이 있으며, 데이터웨어하우 스 서버에 대한 부하도 최소화하는 아키텍쳐이므로 여러 운영시스템 으로 부터의 통합이 필요한 경우 데이터웨어하우스 서버의 병목 현상 을 최소화 할 수 있다.

(2) 데이터웨어하우스 서버 중심

데이터의 추출 및 변환이 데이터웨어하우스 서버에서 이루어지는 방식으로 운영시스템에 대한 부하가 크고 운영시스템에서 충분한 배 치작업 시간 확보가 어려운 경우 활용 가능한 아키텍쳐이다. 거의 가 공되지 않은 데이터가 운영시스템에서 데이터웨어하우스 서버로 전송 되어야 하므로 네트워크 부하가 가중될 수 있다. 또한, 데이터웨어하 우스 서버에 대한 부하도 크므로 다수의 운영 시스템으로 통합을 필 요로 하는 경우 데이터웨어하우스 서버에 대한 충분한 배치작업 시간 이 확보되어야 하는 방식이다.

(3) 별도 ETL 서버 중심

ETL서버를 별도로 구성함으로써 운영시스템에 대한 부하 및 DW

148

서버에 대한 부하를 최소화하는 아키텍쳐이며 다수의 운영시스템과 다수의 데이터 마트가 있는 경우 ETL 도구를 다수의 서버에 설치할 필요가 없다는 장점을 가지고 있다. 그러나, ETL을 위한 별도의 서버 를 구입해야 하는 부담이 있다.

다) ETL 도구

ETL 도구는 데이터 추출, 데이터변환, 데이터 통합, 추출/변화/통합 프로그램 생성, 변경관리, 정보 디렉토리 관리, 메타데이터 관리, 스케 줄링 등 기능하는 어플리케이션으로써 코드생성기(Code Generator)방 식과 변환엔진(Transformation Engine)방식의 도구로 분류할 수 있다.

(1) 코드생성기(Code Generator)

Code Generator 방식의 ETL 도구는 전사적 데이터웨어하우스급의 ETL 도구로서 ETL의 단위 프로세스 가운데 주로 추출프로세스를 효 과적으로 지원하는데 초점이 맞추어져 있다. ETL 도구가 중간매개를 사용하지 않는 방식이며 추출시 필요한 프로그램을 추출 사양에 맞게 생성시켜 이를 타겟 시스템과 소스시스템에서 컴파일하여 JCL(Job Control Language)과 함께 사용하는 방식으로 구동된다.

예전의 메인프레임 환경, 특히 COBOL 위주의 환경을 고려하여 출 현하였기 때문에 확장성과 메인프레임 지원측면에서 강점이 있으나, 대부분이 고가이며 정련 기능이 부족한 것이 단점이다.

(2) 변환엔진(Transformation Engine)

변환엔식 방식의 ETL 도구는 게이트웨이 방식 ETL 도구라고도 명 명되는데 이는 추출시 ODBC나 EDA/SQL 같은 게이트웨이를 사용하 는 데서 연유하며, Codeless 방식 도구라고도 한다. 초창기에는 데이터

最新 技術動向 및 適用事例 149

마트급에서 주로 사용되었으나 최근에는 기술발전에 의해 EDW에서 도 활용되고 있다. 코드생성기방식 ETL도구에 비해 ETL단위 프로세 스 가운데 변환 프로세스 위주로 활용된다.

ETL도구가 추출/변환/적재의 전체 공정에 관여하는 형태로 ETL 성능이 저할 될 수 있지만 통합적인 추출/변환/적재 공정 관리가 가능 한 장점이 있다. 또한, 운영시스템이나 목표시스템 이외의 플랫폼에서 변환/통합 작업을 수행할 수 있어 운영시스템의 부담을 감소시키고 데이터 통합의 복잡성을 줄여줌으로써 유연한 구성이 가능하다.