사용자가 신뢰하고 만족하는 시스템 구축



▲ 유승주 한국인포매티카 Professional Service Team Leader


BI(Business Intelligence)가 IT의 핵심 이슈로 논의 된지도 몇 년이 흘렀다. BI는 기업에서 운영중인 기간계 업무 시스템으로부터 데이터를 효율적이며 빠르게 분석함으로써 기업은 새로운 지식을 얻게 된다. 또 이렇게 생성된 지식은 기존에 운영 중인 업무 프로세스 개선 및 새로운 가치 창출에 의해 기업 간 경쟁에 앞서나갈 수 있도록 지원한다는 기능 정의아래 다양한 애플리케이션의 형태로 구성되고 있다.

또한 기업들은 기업경쟁에서 앞서기 위해 다양한 BI 시스템을 보유하게 되었으며, 새로 도입할 의지가 있는 것으로 많은 리서치기관의 조사에 나타나 있다. 이러한 BI시스템에 대해 가트너는 Analytic, Operational, Strategic 등 3가지 층으로 'BI 프레임워크'를 제시하고 있다.

필자는 본 글에서 3가지 층에 대한 설명을 하려는 것이 아니라 BI시스템이 기업에서 운영 중인 운영시스템으로부터 데이터를 효율적이고 빠르게 분석한다는 정의아래 각 BI 애플리케이션을 위한 인프라인 데이터 통합에 대해 이야기하려 한다.

백조의 다리는 무엇을 하고 있는가
기업들은 많은 시스템을 도입하고 있고 이 시스템들은 개별적으로 운용되는 것이 아니라 다수의 시스템과 서로 연계되어 운용되고 있다. 또한 이러한 시스템으로부터 데이터를 효율적이고 빠르게 분석해야하는 BI 시스템이 있다.



▲ <그림1> 가트너의 BI 프레임웍



BI시스템을 구축하는 입장에서 보면 처음에는 단순히 한 두개 시스템의 데이터를 분석해야 했으나, 점점 연계되어 개발되어 있는 운영시스템에서 데이터를 분석해야 하는 어려움에 도달하게 된다. 점차 시스템이 늘어나면서 연계되는 시스템도 늘어나게 되고, 이러한 사항이 반복되면서 하나의 정보를 다수의 시스템에 전달하기 위해 실제적인 시스템 자체의 기능보다 오히려 데이터 전달을 위한 시스템 사용에 용량의 부하가 가중되는 경우도 발생하게 된다.

중요한 문제는 하나의 정보가 여러 시스템으로 전달되는 과정에서 시스템간의 차이(정보의 성격에 대한 차이)로 인해 정보의 왜곡이 발생하는 경우가 생길 수 있다. 예를 들어 매출에 대한 시스템간의 입장차이로 인하여 최종적인 시스템 정보에서는 전달하는 시스템에 따라 다른 매출 정보를 제공하는 경우가 발생하게 된다(이 부분은 Analytic BI, Strategic BI 층에서 항상 고민하는 문제다.).

모든 사람들이 알고 있는 이야기가 있다. 호수 위에 우아하게 떠있는 백조가 그러한 자태를 유지하기 위해서는 물 밑에서 쉬지 않고 다리가 움직여야 한다는 이야기다. 유유자적하게 떠있는 백조, 모든 사람들이 보기에는 평화롭고 아름답고 여유스러움을 느끼게 하지만 보이지 않는 곳에서는 쉬지 못하는 다리가 있다. 물의 흐름이 안정적인 곳에서는 천천히 힘들이지 않고 다리를 저어 자태를 유지하겠지만 갑작스런 물살의 변화가 생기면 현재의 상태를 유지하기 위하여 더욱 빠르고 힘들게 다리를 움직여야만 할 것이다. 이렇게 백조의 다리는 쉼 없이 움직이기도 하지만 다양한 변화에도 적응을 해야 하는 어려움이 있다.

우리의 이야기로 다시 돌아오자. BI(Business Intelligence)의 화면에 전일의 매출이 지역별로 상품별로 분석되어 누구나 편하게 볼 수 있게 만들어 사용자가 편리하고 정확하게 업무에 적용할 수 있도록 하기 위해서는, 어디에선가 밤새워 모든 관련되는 운용계 시스템에서 필요한 데이터를 모아서 BI의 화면에 표현하기 위한 작업을 수행하게 된다.

업무계가 마감이 된 이후부터 BI 마트에 데이터가 모이기까지는 작게는 수십 개의 프로세스에서 많게는 수백 개의 프로세스가 순차적으로 한 치의 오류도 없이 완벽하게 작업이 되어야 한다. 전체 프로세스 중 어느 하나라도 문제가 생기면 다음날 아침 IT 부서 전화엔 불이 나게 될 것이다. BI 시스템에 필요한 정보를 제공하기 위해서는 운용계 시스템은 완벽하게 작업이 되어야 한다. 그리고 운영계의 데이터를 필요로 하는 모든 시스템과도 완벽하게 통합되어야 한다. 데이터 통합과 관련한 담당자의 역할이 중요한 이유인 것이다.

데이터를 통합하거나 BI시스템에 데이터를 제공해 주어야 하는 IT 담당자들은 커다란 2가지 문제에 부딪히게 된다. 메인프레임 데이터를 실시간으로 추출하고 또 BI시스템으로 가져오는 문제이다.

메인프레임으로 불리는 데이터 공룡
요즘 국내에서는 차세대 시스템 구축에 대한 이슈가 IT 담당자들에게는 화두다. 올해 추석도 그러했지만 내년 추석에도 메인프레임의 데이터를 오픈시스템으로 전환할 일정을 보유한 기업이 있을 것이다. 하지만 현재도 그렇고 수년간의 미래에도 메인프레임은 우리의 곁에 있을 것이다.



▲ <그림2> 메인프레임 활용도 현황



IDS의 조사에 따르면 현재 많은 기업이 메인프레임 시스템을 보유하고 있으며 활용하고 있음을 알 수 있다. 또한 이러한 기업의 대부분은 중요한 업무의 운영을 메인프레임에서 하고 있다. 이러한 현실은 우리가 구축했거나 구축하게 될 BI시스템에 많은 부분의 데이터가 메인프레임 시스템으로부터 추출되어야 함을 의미한다. 필자는 이러한 환경에 대해 이슈를 제기하는 것이 아니다. 이러한 환경에서 데이터를 제공하는 입장에서 행하는 일반적인 행동과 그 어려움에 대해 말하려는 것이다.



▲ <그림3> 데이터 전달의 4가지 스텝



일반적으로 BI시스템이 오픈 환경에서 이루어지는 현실에서 <그림 3>은 메인프레임에서 데이터를 추출하여 BI 시스템 쪽으로 전달하기 위한 4가지 단계를 보여주고 있다. 이러한 단계별 작업은 대량의 데이터와 매일 반복해야 하는 어려움 외에 상이한 코드체계와 때때로 다른 네트워크 환경에서 4가지 단계별 수작업(일부 자동화된 툴을 도입하여 사용하기도 함)을 진행해야 하며. 각 단계별 프로그램을 작성하고 운영해야 하는 어려움이 있다.

이렇게 제공된 데이터에 오류가 있을 경우 담당자들은 그 오류를 찾기 위해 많은 시간을 투자해야 하고 앞서 말한 백조의 다리와 같은 양상이 되는 것이다. 단계별 수작업과 메인프레임의 스킬, 그리고 또 다른 중요한 사항은 메인 프레임 데이터의 가시성을 BI 시스템 쪽에서 확신을 갖기가 어렵다는 것이다.

실시간 데이터 요구
최근 들어 비즈니스 솔루션 분야 최대의 화두로 등장한 용어로 RTE(Real Time Enterprise)가 있다. RTE는 여러 가지 형태로 해석되고 표현되기도 하지만 비즈니스적으로 간단하게 해석해 보면 모든 업무가 실시간으로 실행돼야 한다는 것이고, 시스템적으로 본다면 실시간으로 모든 업무가 수행 될 수 있도록 시스템이 구축되어야 할 것이다.



▲ <그림4>



다시 이 부분을 데이터적인 측면에서 보면 시스템적으로 실시간으로 운용되기 위해서는 모든 시스템의 데이터가 실시간으로 시스템 간에 통합되어 이동되어야 한다고 볼 수 있다. 예를 들어 영업에서 오더를 발주하면 실시간으로 현재까지의 매출 집계에 반영되어야 하고 생산 시스템에 즉시로 반영되어, 생산 스케줄에 반영되면서 부품 오더가 자동으로 발주되는 영업 시스템에서부터 발주까지, BI까지 실시간으로 데이터가 이동을 해야 업무가 실시간으로 수행될 수 있을 것이다.

DW나 BI가 없던 시기에는 어제의 정보라도 좋으니까 한눈에 볼 수 있는 자료를 만들어 주면 좋겠다고 임원 및 경영진은 요구를 했고, BI 시스템을 통해 익일의 정보가 화면에 일목요연하게 표시되고, 분석 되어진 정보를 보고 좋아 했었을 것이다. 그러나 이제는 어제의 정보가 아니라 지금 현재의 정보를 보고자 하는 것이 경영진의 요구사항이다.

그러나 현재의 시스템 구성으로는 실시간으로 데이터를 BI로 통합하기 위한 시스템 부하가 레거시 시스템에 치명적일 수 있어 쉽게 실시간으로 데이터를 구성하는 데엔 어려움이 크다. 그러나 앞으로 늘어나게 될 실시간 요구에 대한 방안을 구축하여야 새로 구축하는 시스템의 생명 주기(Life Cycle)가 길어 질 수 있는 중요한 요소로 구성 될 것이다.

TDWI 조사에 따르면<그림 4> 데이터 통합에 있어 많은 소스에 접근할 수 있는 기능이 1위라고 응답되었으며, 변경데이터 추출이 그 다음 순위를 보이고 있다. 조금 꼼꼼한 시각으로 바라본다면 Changed Data Capture 항목과 Real-Time Caputre 항목은 비슷한 요구사항이며 데이터를 통합하는 관점에서 본다면 일치 한다는 것을 알 수 있다.

즉 기업은 현재 보유한 다양한 소스에 대한 접근 가능성 보다(이미 많은 제품이 기능을 제공함으로) 운영계 시스템에서 매일 발생하는 데이터를 얼마나 빠르고 효과적 분석함으로써 기업은 새로운 지식을 얻게 되고 이렇게 생성된 지식은 기존 운영 중인 업무 프로세스 개선 및 새로운 가치 창출에 의해 기업 간 경쟁에 우위에 설 수 있는지에 대한 BI시스템의 기능 을 요구 하고 있는 것이다.

데이터통합의 중요성
메인프레임 환경에서 해야 했던 일들, 그리고 요즘 실시간 데이터 요구는 필자뿐만 아니라 BI와 관련된 일을 하는 IT 종사자라면 누구나 경험했고 고민하고 있는 상황이다. 필자가 다니는 인포매티카는 데이터를 통합하는 솔루션을 제공하는 회사다. 메인프레임에서 데이터를 추출해야 하고, 때때로 실시간 데이터를 제공하여 타 기업보다 좀 더 빠른 시간 내에 데이터를 분석해 기업경쟁에 우위를 점해야 하는 요구에 맞추는 솔루션을 제공하고 있다. 인포매티카의 솔루션 소개보다는 필자를 포함해 많은 IT 종사자가 어떻게 운영계에서 매일매일 발생하는 데이터를 추출했는지 알아보자.



▲ <그림5>



우리가 기존 운영계 시스템의 데이터를 BI 시스템으로 실시간 전달하기 위해서는(실시간에 근접하게 데이터를 제공) 몇 가지 기법을 사용했다. <그림 5>에서처럼 운영시스템에 별도의 컬럼(TimeStamp)을 추가한 후 운영 애플리케이션에서 변경시점을 기록한다. 그 후 BI시스템에서 데이터가 필요할 때 별도의 컬럼을 읽어 변경시점을 파악하여 해당되는 데이터만을 추출하는 방법을 가장 많이 사용했다.



▲ <그림6>



이 방식에는 2가지 문제가 발생한다. 첫 번째 문제는 이러한 방법은 필자 또한 DW를 구축하거나 CRM 구축시 가장 많이 사용한 방법이다. 또는 별도의 History Table을 사용하여 변경 데이터를 얻기도 했다. 하지만 <그림 5>의 모든 방법은 운영계 시스템의 데이터베이스나 애플리케이션의 변경을 요구한다. 물론 널리 알려진 방법이기는 하지만 운영계 시스템의 변경은 기업의 IT운영자에게는 부담이 아닐 수 없다. 수 년 동안 사용하던 기업의 애플리케이션 변경은 심각한 압박이 아닐 수 없다.

두 번째 문제는 운영계 애플리케이션과 BI 시스템에 데이터를 제공하는 부분 모두 동일 데이터 베이스를 사용함으로써 운영계 입장에서는 애플리케이션의 경합이 발생하며, 특히 대량의 데이터를 추출할 때 운영계 시스템에 주는 부하는 적지 않고, 이에 대해 많은 기업이 운영계 시스템을 업그레이드해야 하는 상황까지도 발전할 수 있다.



▲ <그림7>



이러한 현실에 인포매티카는 별도의 코딩작업, 운영계 애플리케이션의 변화, 운영계 시스템의 부하 최소화를 할 수 있는 제품을 개발하게 되었다. PowerExchange란 제품은 운영계 시스템의 데이터베이스 로그에서 데이터를 추출함으로써 별도의 코딩작업, 운영계 애플리케이션의 변화 , 운영계 시스템의 부하 최소화 등 3가지 고민사항을 해결해 준다. 또한 메인프레임의 EBCDIC 코드를 운영계 시스템의 ASCII 코드로 자동 변환하여 전달함으로써 필자가 논의했던 여러가지 문제점을 해결해 줄 수 있다.

메인프레임 데이터 처리와 실시간 요구사항
로그에서 데이터를 추출하는 PowerExchange는 업무시간 동안 발생되는 데이터를 발생시점에 끊임없이 BI 시스템 쪽으로 전달해 준다. 이 데이터는 DW나 ODS를 거치기도 하고 그렇지 않기도 하지만 분석을 원하는 시점에 이미 운영계 시스템의 데이터는 특정 장소에 배달이 되어있는 것이다. 이곳에서 정형/비정형 리포팅을 통하여 현재 데이터를 효율적이며 빠르게 분석함으로써 기업은 새로운 지식을 얻게 되고 이렇게 생성된 지식은 기존에 운영중인 업무 프로세스 개선 및 새로운 가치 창출에 의해 기업간 경쟁에 앞서나갈 수 있도록 지원 할 수 있다.

또한 BI시스템 개발 당시 메인프레임 데이터의 가시성을 확보하여 준다. 이러한 가시성은 BI 개발자에게 개발기간의 단축이라는 팁까지 제공하여 준다. PowerExchange는 현재 S생보사에선 Rehosting Project에서, I생보사에서는 Real-Time Information Hub 구축, K통신사에서는 Real-Time 통계시스템 등 다양하게 운용되고 있다.



▲ <그림8>



<그림 8>에서처럼 IT 입장에서 비즈니스 이벤트가 발생한 후 담당자가 필요한 조치를 하기에는 3가지 조건이 필요하다. 비즈니스 이벤트에 대한 필요한 조치를 결정하기 전 발생된 데이터를 저장하고 이 데이터를 추출하여 원하는 형태로 가공하여 BI시스템으로 전달하는, 즉 BI 프레임워크에서 인프라를 담당하는 데이터 통합이 인포매티카가 담당하는 부분이라고 할 수 있다.

지금까지 BI 시스템을 구축할 때 필요한 메인프레임 데이터 처리와 실시간요구 사항에 대해 알아보았다. 하지만 이 글에서 거론된 사항이 전부라고는 생각하지 않는다. 다만 여러 BI프로젝트에서 좀 더 신중을 기하여 실제로 'Data Latency'에 대해 고민을 한다면 프로젝트 시작시점부터 전체 구조설계에 반영 할 수도 있을 것이다. 그로 인해 좀 더 완벽한 프로젝트가 수행될 것이고 유지보수에서도 적은 인력과 작은 노력으로 편리하고 안정되게 운용 될 수 있을 것이다. 뿐만 아니라 새로운 사용자 요구사항도 적극적으로 반영하여 항시 사용자가 신뢰하고 만족하며 사용할 수 있는 시스템이 되지 않을까 생각한다.

필자 :유승주
한국인포매티카 Professional Service Team Leader로 동부화재, ING생명, KT 등 국내 대형 데이터통합 프로젝트에서 Informatica Product에 대한 구축 컨설팅 및 기술 지원업무를 수행하고 있다.


<편집자주 ; ▲CRM (customer relationship management) 고객關係管理. CRM은 일반적으로 기업 내 각 부서에서 각자 역할을 수행하는데 있어 발생하는 통합(integration) 부족현상을 해결하고자 하는 노력을 말하는 것으로서, 데이터웨어하우스(data warehouse), 데이터 마이닝(data mining) 등의 솔루션이 포함된다. ▲DW(data warehouse) 데이터웨어하우스.>

저작권자 © 아이티데일리 무단전재 및 재배포 금지