
동 시스템을 도입한 외환은행 카드 DW는 ETL 처리시간을 10시간에서 5시간으로 단축시켰고, DW 적재 주기를 2일에서 1일 단위로 단축할 수 있었다. 진정한 사용자 중심의 EUC (EndUser Computing) 환경을 개선한 것이다.
◆ DataStage로 ETL 프로세스 개선
지난 2004년 8월, 외환은행은 계정계 시스템을 차세대 환경을 개편했고, 이 과정에서 데이터베이스의 구조도 기존 HDBMS에서 RDBMS로 전환했다. 당연히 업무처리의 90% 이상이 계정계와 연관된 카드 시스템도 유닉스 기반의 환경으로 전환됐다.
이후 차세대 DW를 2년여 간 운영해온 정보개발팀은 정형화된 정보 분석만으로는 다양한 고객요구와 시장변화에 대응하기 어렵다는 문제점에 당면한다. 기존의 카드시스템은 2일(D-2) 주기의 분석이 가능했지만, 금융기관 간의 무한경쟁 속에서 경쟁력을 높이기 위해서는 실시간 정보 분석이 필요했기 때문이다.
우선 동 과제를 해결하기 위해서는 현업 사용자가 직접 DB에 접근해 데이터를 분석할 수 있는 보다 안전한 EUC(EndUser Computing) 환경지원이 필요했다. 이에 정보개발팀 카드DW계는 수집된 요구사항을 분석해 문제 요인을 찾기 시작했고, 수집된 요구사항에 대한 문제의 핵심 요인이 계정계 호스트와 카드DW 시스템 간의 ETL (Extract, Transform & Load) 프로세스에 있음을 파악하게 된다.
그동안 외환은행이 활용해온 카드DW의 ETL은 호스트와 DW 시스템에서 각각 1차, 2차에 걸쳐 두 번의 가공 작업이 이뤄졌다. 호스트의 데이터가 코볼 기반으로 구축돼 있어, 유닉스 환경에서 DW분석을 진행하기 위해서는 코드변환ㆍ파생변수생성ㆍ정제 등의 1차 가공이 필요했기 때문이다.
이렇게 가공된 데이터는 DW 시스템으로 전달돼 2차 가공이 이뤄진다. 2차 가공은 변경된 하루분량의 데이터와 기존 이력 데이터를 연동해 분석 용도의 필드를 구성한다. 또한 사용자가 보기 편하도록 건별 테이블 정렬을 고객별로 변경하거나, 세로 펼침 테이블을 가로 펼침으로 변경하는 등의 작업이 진행된다. 결국 두 번에 나눠 순차적인 ETL을 수행하다 보니 DW 작업 시간이 많이 소요됐던 것이다.
실제로 기존시스템 환경에서는 2차 가공을 거쳐야 하는 ETL 작업에 10시간 이상이 소요됐다. 새벽 12시부터 배치와 ETL 작업을 시작한다 해도 다음날 오전 10시가 되어야 작업이 무리되기 때문에 정작 업무 시간에는 1일 전 데이터가 아닌 2일 전 데이터를 기준으로 업무를 진행할 수밖에 없었다.
외환은행 정보개발팀 카드DW계 이재석 차장은 “문제점을 분석한 결과 ETL 처리시간을 단축하는 것이 해결책임을 알게 됐다”며 “ETL 처리시간 단축의 가장 바람직한 해결방안은 호스트(메인프레임)에서 DW(유닉스)로 바로 데이터를 이관해 ETL을 처리하는 것이었다”고 당시의 상황을 설명했다.
◆ ETL 처리시간 절반으로 단축
정보개발팀은 호스트에서 DW로 데이터를 바로 이관해, ETL을 DW 시스템에서 진행할 수 있는 다양한 방법을 모색하기 시작했고, IBM 데이터스테이지(DataStage)에서 해결책을 찾았다. 과거부터 사용해온 ETL 솔루션 ‘데이터스테이지’에 메인프레임의 코드를 유닉스용으로 변환해주는 모듈이 있음을 뒤늦게 알게 된 것이다.
외환은행은 곧바로 기존의 DB2를 v7에서 v8로, 데이터스테이지를 v7.1에서 v7.5로 업그레이드하는 작업에 착수했고, 2006년 6월 카드 DW의 ETL 개편 프로젝트를 성공적으로 완료했다
시스템 개편 후 외환은행은 전날 변경 데이터를 바로 다음날 분석 데이터로 활용할 수 있는 Active DW 환경을 갖추게 됐다. 새로 구축한 데이터스테이지는 일일 380개에 달하는 메인프레임 테이블(160GB)을 변환해 DW로 이관할 수 있었고, 이렇게 이관된 데이터는 DW 시스템 내에서 ETL 프로세스를 처리함으로써 ETL 작업 시간이 기존 10시간에서 5시간으로 단축된 것이다. 또한 유닉스 기반의 DB2가 프로세스를 순차 처리가 아닌 병렬로 처리해줌으로써 처리 속도가 더욱 개선될 수 있었다.
밤 12시에 시작한 외환은행의 배치와 ETL 프로세스는 새벽 5시면 종료됐고, 따라서 협업 사용자들은 아침 업무 시작 시 전날 변경 사항이 반영된 DW 분석 데이터를 업무에 활용할 수 있게 됐다.
외환은행 정보개발팀 카드DW계 엄재석 대리는 “분석 데이터의 반영은 D-2에서 D-1으로 하루 단축한 것이지만, IT 업무 측면에서는 4~5시간의 단축한 것”이라며 “처음 DW를 구축했던 1999년을 기준으로 하면 이 귀중한 4~5시간을 단축하는데 7년이 걸린 셈”이라고 말했다.
◆1.5분 만에 원하는 데이터 수집
외환은행 측의 요구사항은 여기서 그치지 않았다. 보다 안전하고 편리한 EUC 환경을 구현하는 것이 그것인데, 이는 외환은행 카드부문만의 독창적인 요구사항이었다.
외환은행 카드 부문은 DW를 처음 운영하기 시작한 2000년부터 현업의 사용자가 직접 DB에 접속해 원하는 분석 데이터를 추출할 수 있도록 DB 환경을 개방해왔다. 초기에는 약 40여 명을 선별해 시범적으로 운영했지만, 현재는 400여 명 현업사용자의 절반에 해당하는 200여 명이 EUC 사용자로 등록된 상태다.
당시 동 시스템 구축을 담당했던 이재석 차장<사진>은 “신상품 개발과 고객 마케팅 등에 활용되는 데이터는 변동성이 높고, 동시에 신속성을 요구하는 것이 많다”며 “IT팀이 현업이 요구하는 가공된 데이터를 제공하는 데는 한계가 있는 것이 현실”이라고 말했다.
또한 “결국 내부 분석결과 현업이 활용하는 가동된 데이터는 현업 스스로가 만드는 것이 효율적이라고 판단했다”며 “이러한 요구사항을 충족하기 위해 현업이 집적 데이터로 접근할 수 있는 개방적인 EUC 환경의 구현이 필요했다”고 EUC 환경 구현의 취지를 설명했다.
한편, 개방된 EUC 환경은 현업 측면에서는 높은 업무효율성을 기대할 수 있다. 그러나 IT 관리자에게는 시스템 관리가 어려워지는 문제를 낳을 수 있다. 외환은행 측은 이러한 문제를 동시에 해결하기 위해 IBM의 쿼리 패트롤러(Query Patroller) v8.2를 도입했다.
쿼리 패트롤러는 사용자가 원하는 요건을 얻기 위해 쿼리를 작성하면, 그 쿼리가 정당한지를 판단해 실행 목록과 대기 목록으로 자동 분산 처리한다. 또 사용자 ID와 사용 PC의 IP를 체크해 악의적인 접근을 차단함으로써 안정성을 보장받을 수 있다. 특히 사용자 이력 정보나 로그 정보, 혹은 특정인의 테이블을 사용빈도 등을 통계화할 수 있어 사용빈도가 적은 DB 테이블의 정리 측면에서도 장점을 갖췄다.
현재 외환은행은 EUC 환경을 통해 일일 100개 이상의 쿼리가 새로 생성되고, 300개 테이블에 대한 비정형 조회가 이뤄지고 있다. 그러나 쿼리 요청 시 응답 시간은 평균 1.5분에 불과해 신속한 데이터 활용을 지원 할 수 있다.
타 금융기관이 필요한 분석데이터를 IT팀에 요청하고 이를 며칠 후에나 받아 볼 수 있는 상황과 비교하면, 1.5분 만에 원하는 가공데이터를 받아 볼 수 있는 외환은행의 EUC 환경은 DW 활용의 성공사례라 할 수 있을 것이다.
김남규 기자 ngkim@fntimes.com