GUI 기반, 개발 및 관리 가능한 데이터 통합 솔루션

급변하는 환경 속에서 기업이 살아남기 위해 기업은 변화에 유연하게 대처하여야 한다. 이를 위해 여러 채널을 통해 데이터를 수집하고 분석하여 가치 있는 정보로서 분류, 활용하여 적시에 적절한 전략을 수립함으로서 기업은 진화하게 되고 생존할 수 있는 것이다.

이처럼 변화에 유연하게 대처할 수 있는 지능적(Intelligent) 조직이 되기 위해서 기업은 많은 부분을 IT 인프라에 기초한 정보에 의존하게 된다. 하지만 기업 내에 산재해 있는 여러 시스템들로부터 어떻게 통합된 정보를 생성할 것인지, 그리고 이를 어떻게 공유할 것인지는 항상 고민스러운 일이다.

기업의 의사 결정자들이 신속하고 정확한 의사 결정을 할 수 있도록 지원하는 BI(Business Intelligence)는 기존 기간계 시스템의 데이터를 조직에 필요한 정보로 변환하여 적재적소에 사용자에게 제공할 수 있어야 한다. 그런 의미에서 이 기종 데이터베이스 간의 데이터 통합을 담당하는 ETL(Extract/Transform/Load) 과정은 BI의 핵심이라 할 수 있을 것이다.

기본적으로 ETL은 구현과 변경이 용이하고, 요구 기능들을 효율적으로 수행하며, 성능과 확장성이 보장될 수 있어야 한다. 이는 ETL을 개발을 통해 구현하든지 전문 소프트웨어를 통해 구현하든지 ETL 수행시 고려해야 할 기본적인 요소이다. ETL 제품들은 이외에도 기타 부가 기능 및 자동화 기능들에 대한 시장의 요구를 계속 받아왔으며, 그 결과 다양한 처리 방식과 기능들을 갖춘 ETL 툴이 많이 존재한다.

국내 순수 기술로 데이터 통합 시장에 뛰어든 비티엘글로벌은 올해 사업을 개시한지 7년째이다. 2002년부터 데이터 통합 영역에서 ETL(데이터 추출 및 변환) 업무의 시장 가능성을 보고 본격적인 R&D 개발에 착수해 2003년에 상용 솔루션을 선보였다. 올해 1월에 선보인 3.0 버전은 최근 ETL 제품들의 확장성과 안정성을 고루 갖춘 점이 특징이다.

BTL Data Integrator는 이기종 DBMS 및 파일 사이에서 데이터를 자유롭게 이동할 수 있고, 이러한 작업을 워크플로우 형태로 구성할 수 있으며, 스케쥴링과 모니터링 기능을 지원함으로써, 각종 데이터 이동 업무를 GUI 기반에서 개발하고 효율적으로 관리할 수 있는 데이터 통합(Data Integration) 솔루션이다.

이는 이 기종 애플리케이션 사이의 인터페이스를 개발하고 유지 보수하는데 일반적인 개발 방식과 비교할 때 90% 이상의 시간을 절약할 수 있으며, 소스 DBMS가 변경되었을 경우 소스코드 대신 다이어그램을 통해 변경 사항을 반영할 수 있어 유지보수가 쉽고 빠르다. 또 로그 데이터, 리포지토리, 스케줄러 기능이 정확하고 빠른 정보 분석을 위한 데이터 통합작업을 관리한다.

BTL Data Integrator - 데이터 통합 솔루션
그러면 BTL Data Integrator 솔루션에 대해 자세히 살펴보자. BTL Data Integrator 솔루션은 크게 <그림 1>과 같이 구성되어 있다.

첫 번째는 클라이언트 모듈로 엔지니어들은 DI Designer를 통해 프로그래밍 없이 소스 데이터와 타깃 데이터를 UI 상에서 매핑하고 변환 규칙을 설정할 수 있다. 두 번째는 서버 모듈로 설정된 매핑 규칙들을 리포지토리에 저장하고, 저장된 내용을 실행하고, 스케줄에 따라 ETL작업을 실행한다.

BTL Data Integrator의 특장점

통합된 ETL 툴
DW구축에 필요한 모든 과정들이 툴 내에 포함되어 있으므로, 단위 작업의 작성 및 실행 순서 지정, 스케줄링을 통한 자동화에 이르기까지 일련의 작업들을 일관된 사용자 화면으로 순차적으로 처리할 수 있다. 또한 통합된 환경 내에서 작업의 실행 이력을 보거나 실행중인 작업을 모니터링 할 수 있으므로 작업의 수정 및 관리가 더욱 용이하다.

모듈화(Component-Based)된 처리구조
테이블이나 파일을 모두 모델이라는 통합된 개체로 관리함으로서 테이블과 파일 사이의 모델 정보 교환이 자유롭고, 컬럼 간의 매핑을 담은 잡(Job)과 ETL실행 순서를 담은 워크플랜(Workplan) 등 툴에서 정의한 것들이 모듈화, 컴포넌트화 되어 있어 이를 관리하고, 재사용하는 것이 가능하다. 특히 개발환경에서 운영환경으로의 전환이 DBMS에 연결하는 속성 정보만 변경하는 것으로 가능하고, 동일한 형태의 작업을 Copy & Paste를 통해 쉽게 구현 할 수 있는 장점이 있다.

모든 문자(Character-Set)의 데이터처리
다양한 언어를 지원할 수 있도록 국제 표준 문자 체계인 UNICODE를 기반으로 데이터를 처리하므로, 한글뿐만 아니라 일본어, 중국어 등 MBCS 문자 셋 처리가 용이하며, 문자 셋 간의 변환이 별도의 변환 함수를 지정하지 않고 문자 셋을 지정하는 것만으로 가능하다. 또한 EBCDIC 코드에 대한 완벽한 한글 처리도 지원한다.

설치환경의 다양성
서버 모듈은 OLTP 서버나 DW 서버 또는 별도의 전용서버 중 어느 곳이나 설치되어 운영 될 수 있으며 H/W나 OS의 제약 없이 JRE 1.4 이상이 지원되는 모든 플랫폼에서 동작한다. 또한 ETL 작업을 위한 메타데이터 저장소로 임의의 RDBMS를 사용할 수 있으므로 메타데이터의 관리 및 다른 어플리케이션과의 공유가 용이하다. 클라이언트 모듈은 네트워크상의 NT또는 윈도우95/98/NT/2000/XP 환경에 간단히 탑재하여 사용이 가능하다.

풍부한 데이터 변환기능
일반적인 상용 RDBMS에서 제공되는 모든 변환 함수들을 표준화된 자체 라이브러리로 제공하므로 DBMS의 종류와 상관없이 동일한 문법으로 적용할 수 있다. 따라서 ETL 개발자는 소스 시스템의 DBMS 종류가 다양하더라도 각각의 DBMS에서 제공되는 함수를 알 필요가 없이 툴에서 제공되는 변환 함수를 사용하여 변환 룰을 작성할 수 있다. 또한 데이터 변환 이외에도 변수 처리, 에러 레코드 처리를 위한 특별한 용도의 함수들이 제공되므로 변경 데이터 처리(CDC)나 데이터 검증이 용이하다.

체계적인 메타데이터 관리기능
서버는 ETL 작업에 사용되는 테이블 및 파일에 대한 정보, 데이터의 추출/변환/적재 과정을 정의한 JOB, 작업의 분기 및 실행 순서 지정을 정의한 워크플랜, 주기적인 실행을 위한 스케줄링 정보를 유기적으로 관리하므로 테이블의 컬럼 정보의 변경, ETL 작업의 변경 등이 상호간에 미치는 영향을 쉽게 분석할 수 있다. 이를 통하여 시시각각 변화하는 운영환경에서 관리자의 오버헤드를 최소화시킴으로서 운영의 효율성을 극대화한다.

유연성 있는 Job 수행의 컨트롤
각각의 ETL Job을 특정 순서에 따라 실행, 분기를 통해 병렬로 실행할 수 있으며, 이전 작업의 성공 실패 여부에 따라 후행 작업을 실행하거나 특정한 조건을 만족하는 경우에만 작업을 실행하는 등 다양한 형태로 Job의 수행을 컨트롤 할 수 있다. 또한 예외처리 기능을 활용하면 예기치 못한 에러 발생시 에러가 발생한 작업을 무시하고 이후 작업을 계속 진행하거나, 일정시간 후 재 시도를 하거나 전체 작업을 중단하는 등 상황에 따라 유연하게 작업의 수행을 컨트롤 할 수 있다.

완벽한 GUI 사용자 인터페이스
윈도우 95/98/NT/2000/XP의 화면 제공 방식을 그대로 구현하여 모든 작업이 기본적으로 마우스의 Point-and-Click과 Drag-and-Drop에 의해 처리되며, 이를 위해 처리대상 객체들을 모두 오브젝트화 하여 아이콘으로 제시한다. 또한 무한 Undo/Redo 기능을 제공하여 편집의 편의성을 제공한다.

다중사용자 환경제공
여러 명의 개발자가 동시에 서로 다른 작업을 수행할 수 있으며, 동일한 개체를 서로 다른 사용자가 편집하게 되는 경우 잠금 기능(Lock)을 제공한다. 또한 다른 사용자가 작업한 내용이 화면상에 바로 표시되므로 신속한 협업이 가능하다.

다양한 형태의 소스데이터 지원
Oracle, MS SQL Server, Sybase ASE, Sybase IQ, DB2, Informix, MySql 등 국내에서 사용되는 모든 RDBMS를 소스나 타깃으로 사용할 수 있고, Delimited File, Excel 파일을 지원한다.

데이터 타입 자동 변환
상호 호환이 가능한 데이터 타입을 자동으로 변환하여 처리해주므로 이 기종 DBMS 사이의 데이터 처리 또는 문자 타입과 날짜/시간 타입의 변환이 용이하다. 특히 소스 DBMS와 ODS로 사용하는 DBMS가 다른 경우, 몇 번의 마우스 클릭만으로 간단하게 ODS를 구성할 수 있다.

강력한 스케줄링 기능
자체 스케줄러 모듈을 이용하여 시간이나 요일 또는 월의 특정일 등 다양한 형태로 스케줄링이 가능하며, 짧은 주기의 스케줄링시 발생할 수 있는 중복 실행의 허용 여부, 서버의 다운타임 동안 실행되지 못한 미 실행 스케줄의 관리 등 일반적으로 흔히 사용되는 cron 데몬에 의한 스케줄보다 훨씬 강력한 스케줄링 기능을 제공한다.

다양한 적재방법
타깃 DBMS로 데이터를 단순히 Insert하는 것뿐만 아니라 Truncate then Insert, Update or Insert 등 다양한 형태의 적재방법을 제공한다. 특히 Sybase IQ와 같이 DW 전용 DBMS에서 Insert가 느린 점을 감안하여 ELT의 개념을 도입, 임시테이블을 통한 적재방법을 지원하는 점이 돋보인다.

모니터링 기능
ETL 작업 처리 과정 및 처리 건수, 오류 건수 등 작업의 진행 상황을 GUI 기반의 모니터를 통해 실시간으로 상황 파악이 가능하다. 또한 오류가 발생한 경우 해당 오류의 원인 및 에러 레코드를 오류 파일로 기록하므로 개발자는 오류의 원인을 보다 쉽게 찾아 낼 수 있다.

도입효과
BTL Data Integrator의 기대효과를 살펴보면 다음과 같다.

1. 개발시간 절약 : 직관적인 UI를 통하여 손쉽게 ETL 작업을 생성/테스트/수정 할 수 있어 일반적인 개발 방식과 비교할 때 최소한 90% 수준의 시간을 절약할 수 있다. 특히 사용되는 DBMS의 종류가 다양한 경우 ETL 개발자들이 DBMS마다 다른 SQL 문법과 기능을 이해하기 위해 DBMS의 매뉴얼을 보는 대신 변환 규칙을 정의하는데 보다 많은 시간을 할애할 수 있으므로 생산성을 더욱 향상 시킬 수 있다.

2. 유지보수의 용이성 : 모니터링 기능을 통해 작업의 결과를 한 눈에 알 수 있고, 오류가 발생한 경우 오류의 원인과 오류 레코드를 보여주므로 운영자는 손쉽게 오류가 발생을 파악하고 수정할 수 있다. 특히 운영시 자주 발생하게 되는 소스 테이블 컬럼 정보의 변경과 같은 경우에는 변경된 컬럼으로 인해 영향 받는 작업을 찾아주는 기능을 활용하면 손쉽게 문제가 발생할 수 있는 작업을 파악할 수 있고, 해당 작업에서는 변경된 컬럼이 UI 상에 문제의 컬럼으로 표시가 되므로 수정이 용이하다.

3. 속도 최적화 : 상대적으로 무거운 프로세스 방식의 병렬처리가 아닌 쓰레드 방식을 사용하여 병렬처리의 효율성을 극대화하고, 각 단계별로 처리되는 데이터를 파이프라인으로 처리하므로 기존 개발방식에 비해 최적화된 데이터 처리 속도를 낼 수 있다.

BTL Data Integrator는 차별화된 아키텍처와 병렬 처리를 이용해 하드웨어의 성능을 최대한 이끌어 낼 수 있도록 최적화 되어 있고, 쉽고 직관적인 GUI를 바탕으로 IT 관리자들이 데이터 통합 작업을 손쉽게 구현할 수 있는 기능성까지 고루 갖춘 데이터 통합 솔루션이다.

벤더에 의한 직접적인 기술지원이 가능하다는 점, 고객의 요구를 수용할 수 있도록 커스토터마이징이 가능하다는 점, 가격대비 성능이 뛰어나다는 장점도 있다. 현재는 여러 BI 전문 업체들과 제휴 관계를 통해 DW/DM 구축, 데이터 마이그레이션 등의 분야에서 활용되고 있다. 장기적으로는 연내 실시간 추출 기능을 추가하여 고객이 Real-Time Enterprise를 실현할 수 있도록 추진하고 있다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지