데이터 웨어하우스에서의 정보의 흐름

데이터 웨어하우스는 단순히 하나의 데이터베이스가 아니라 데이터가 수집되고 처리되고 활용되는 하나의 환경으로 이해되어야 할 것이다. 데이터 웨어하우스의 진정한 가치는 데이터를 수집하는 것보다는 정보의 흐름을 관리하는 것이다(Hackathorn, 1995). 데이터 웨어하우스 환경에는 5가지의 중요한 정보의 흐름이 존재한다.

1. 안으로의 흐름

데이터 웨어하우징 환경에서 첫 번째 흐름은 데이터가 운영시스템과 기타 데이터 원천으로부터 변환단계를 거쳐 데이터 웨어하우스 내부로 유입되는 과정이다.

(1) 운영시스템에서의 고려사항
데이터 웨어하우스를 구현할 때는 운영시스템의 성능에 가능한 영향을 미치지 말아야 하며, 운영시스템과 관련하여 데이터의 표준화와 정확성 확보, 웨어하우스 데이터와의 대응관계 설정과 같은 요소들이 고려되어야 한다.

⸁ 데이터 표준화
상이한 운영시스템상의 데이터의 질은 차이가 많이 나므로 이러한 데이터가 데이터 웨어하우스 환경으로 이동되기 전에 운영시스템상의 데이터를 표준화할 필요가 있다. 예를 들어 현대전자 주식회사, 현대전자(주), (주)현대전자 등으로 달리 표현될 수 있는 데이터는 웨어하우스로 넘어가기 전에 표준화되어야 한다.

⸂ 데이터의 정확성 확보
고객의 직업, 신용도 또는 산업구분코드 등과 같은 데이터는 일부 정확하지 않거나 가장 최근의 경우가 아닐 가능성이 있다. 데이터 웨어하우스 환경에서는 무엇보다 정확한 데이터가 확보되어야 하므로 운영시스템상의 데이터들의 정확성을 확보하는 것이 중요하다.

⸃ 운영데이터와 웨어하우스 데이터의 대응관계 설정
데이터 웨어하우징의 초기단계에서는 웨어하우스에 사용되는 데이터 모델과 개별적인 운영시스템이 기초로 하는 다양한 데이터 모델사이에 현격한 차이가 존재할 수 있다. 데이터 웨어하우스 환경을 구축하는 데 필수적인 작업은 데이터를 운영환경으로부터 의사결정환경으로 정확하게 대응시키는 것이다.

(2) 데이터 추출 및 변환시 고려사항
운영시스템상의 데이터가 웨어하우스상에서 정확학도 시기적절하고 통합적인 데이터로 추출, 변환되는 과정은 기술적으로 매우 복잡하다. 운영시스템은 의사결정을 지원하기 위해 설계되지 않았으며, 웨어하우스로 데이터를 공급하는 다양한 운영시스템들은 서로 다른 간격을 가지고 추출, 통합되므로 이러한 시스템들 사이의 간격을 유지하는 일은 매우 어렵다. 따라서 기업들은 자신의 웨어하우징 환경에 이러한 기법들을 적절하게 조합하여 사용해야 한다.

⸁ 데이터 갱신
데어터 갱신은 운영시스템상에서 새로 변경된 데이터를 주기적으로 웨어하우스로 적재한다. 변화된 부분에 대한 효과적인 검색과 성능향상을 위해 검색될 데이터의 양을 제한하는 다양한 기법들(타임스탬프의 설정, 로그파일의 활용 등)이 존재한다.

- 타임스탬프(time stamp)
타임스태프는 데이터를 검색하기 위해 운영시스템상의 데이터가 갱신될 때마다 갱신에 대한 정보를 추가하는 것이다. 웨어하우스는 이러한 타임스탬프 정보를 활용하여 변화된 레코드만을 효과적으로 검색할 수 있다.

- 로그파일
대부분의 데이터베이스는 거래처리 로그를 생성하며, 이러한 로그는 데이터베이스상에 발생하는 변화를 파악하는 데 활용할 수 있다. 로그파일을 활용함으로써 데이터를 매우 효과적으로 검색할 수 있는 것이다.

- 운영 어플리케이션의 수정
데이터추출을 위해 검색해야 할 데이터의 양을 줄이기 위해 어플리케이션 코드를 수정하는 방법이다. 예를 들어 로그파일과 유사한 델타(delta)파일을 생성하도록 어플리케이션을 수정할 수 있다. 델타파일이란 시스템상의 변화된 데이터 부분만을 포함하도록 어플리케이션에 의해 생성되는 파일을 의미한다.

- 스냅샷 이미지 비교
데이터추출이 필요한 시점에서 데이터베이스의 스냅샷이 생성되는데 이후 다음 번의 추출 시점에서 또다른 스냅샷이 생성되고 이 두개의 스냅샷을 비교함으로써 변화된 부분을 찾아내는 방법이다.

⸂ 데이터 실시간 갱신(propagation)
데이터 실시간 갱신은 운영시스템상의 데이터가 갱신됨과 동시에 웨어하우스의 데이터가 갱신되는 것을 의미한다. 데이터 실시간 갱신에는 운영 어플리케이션상의 변화가 실시간으로 웨어하우스에 반영되는 방법과 중간매체를 거쳐 반영하는 방법이 있다. 운영시스템상의 문제 등으로 데이터에 문제가 발생할 경우 이러한 데이터는 웨어하우스로 이동되지 않고 폐기되며, 운영시스템에 의해 정확성이 보장되는 순간에만 웨어하우스로 이동한다.

⸃ 데이터 변형(transformation)
운영시스템으로부터 웨어하우스에 필요한 데이터를 단순히 추출하는 것만으로는 충분하지 않다. 운영시스템상의 데이터는 의사결정 지원형태와는 다르기 때문에 데이터의 변형과정이 필요하다. 데이터 변형은 변환(conversion), 보완(enrichment), 요약(summarization)이라는 3가지 단계로 구성된다. 변환은 운영시스템상의 데이터 값과 포맷상의 불일치를 해결하는 것을 목적으로 한다. 보완은 데이터 웨어하우스 내에서 분석시 사용할 새로운 개체를 만들기 위해서 다양한 운영시스템 소스로부터 오는 상이한 항목을 결합하는 것을 의미한다. 추출된 원시 데이터는 분석가에게 추세를 제공하기 위해 요약되는 과정을 거칠 필요가 있다.

2. 위로의 흐름

데이터가 운영시스템으로부터 웨어하우스로 이동되는 과정에는 많은 양의 데이터 변형이 이루어진다. 위로의 흐름은 웨어하우스 내로 유입된 데이터에 부가가치를 더하는 과정이다. 즉 웨어하우스 관리자의 역할이 운영시스템과 다른 소스로부터 데이터가 통합되는 것으로 끝나는 것이 아니라 데이터는 보다 유용한 자원으로 변환되어야 한다. 웨어하우스 내의 데이터는 다양한 정도로 요약될 수 있으나, <그림 1>과 같이 '최근의 상세데이터', '조금 요약된 데이터', '많이 요약된 데이터'로 그 요약의 정도가 구분된다. 일반적으로 데이터 요약의 정도가 높을수록 데이터의 사용빈도는 높아지며 오래된 상세 데이터는 거의 사용되지 않는다(Inmon, 1994).

웨어하우스 구성에서 가장 관심이 집중되는 부분은 '최근의 상세 데이터'이다. 문제는 데이터의 구체성 정도인데 이것이 웨어하우스 내의 데이터의 양과 응답될 수 있는 사용자 질의의 유형에 심각하게 영향을 미치기 때문이다.
Kelly(1994)에 따르면 데이터 구체성의 정도는 웨어하우스 내의 데이터가 어떠한 의사결정에 사용될 것인가에 의해 결정된다. 예를 들어 웨어하우스 내의 데이터가 고객마케팅을 위해 사용될 것일면 데이터는 매우 상세해야 할 것이다. 반면 데이터가 전략적 장기계획에 사용될 것이라면 상세의 정도는 많이 완화딜 수 있다.

3. 아래로의 흐름

데이터 웨어하우스 내의 데이터는 시간이 지남에 따라 그 가치가 감소하게 된다. 이러한 데이터는 더 이상 웨어하우스 내에서 유지될 필요가 없으며 값싼 저장매체로 이동되어야 한다. 경우에 따라서는 영원히 폐기되는 데이터도 있다. 이를 아래로의 흐름이라 한다.

4. 밖으로의 흐름

밖으로의 흐름은 비지니스 사용자들이 웨어하우스 내의 데이터를 이용할 수 있게 되는 것이다. 사용자들이 웨어하우스 내의 데이터를 주도적으로 사용할 수 있어야 하는데 이것은 웨어하우스 환경에서 중요한 부분이다. 웨어하우스 내의 데이터는 <그림 2>와 같이 사용자에게 이용되기 전에 데이터 마트에 복사되기도 한다. 한편 이러한 데이터는 쿼리/리포팅 툴, OLAP 툴, EIS/DSS, 데이터 마이닝, 웹 브러우저 등의 다양한 어플리케이션에서 사용된다.

5. 메타 데이터의 흐름

메타 데이터의 흐름은 앞의 4가지 흐름에 대한 데이터의 흐름을 나태낸다. 메타 데이터는 하위 레벨의 데이터를 기술하는 상위 레벨의 데이터로서 원시 데이터를 정보로 전환시키기 위한 수단이 된다.
메타 데이터는 운영시스템에서도 그 개념이 있었고 실제로 사용되었지만, 데이터 웨어하우징에서와는 매우 달랐다. 운영 시스템에서 메타 데이터는 대부분 시스템 개발자와 데이터베이스 관리자에게 그 의미가 있다. 운영시스템에서 메타 데이터는 예를 들면, 코볼(COBOL) 프로그램 내에서 레코드의 설명과 같은 것으로, 시스템 구축 이후에 선택적으로 기술된다.
또한 운영시스템에서 메타 데이터는 시스템의 사용자에게 아무런 의미가 없는데, 예를 들어 은행의 창구업무 직원이나 항공기 예약 담당 직원과 같은 사용자들은 정보가 데이터베이스내에 어떻게 저장되어 있는가는 알 필요가 없다. 사용자는 단지 일상업무를 처리하기 위해 시스템이 제공하는 화면과 양식에 따라 업무를 처리한다.
그러나 데이터 웨어하우징 환경에서는 메타 데이터의 의미가 매우 다르다. 데이터 웨어하우스 사용자는 웨어하우스 내에 저장된 데이터의 구조와 의미를 알아야 한다. 즉 데이터가 연도별로 요약되어 있는지, 회계기간별로 요약되어 있는지 알아야 하며, 공휴일은 어떻게 처리되었는지 알아야만 한다.
운영시스템에서 사용자는 기차 여행을 하는 여행자와 비슷하다. 여행자에게 기차 시간표가 필요할지는 몰라도 지도(메타 데이터)는 필요하지 않다. 반면 데이터 웨어하우징에서 사용자는 알지 못하는 도시로 여행을 떠나는 운전자에 비유할 수 있다. 이 운전자는 지도가 없이는 여행을 제대로 할 수가 없을 것이다.
이처럼 메타 데이터는 운영시스템에서와는 달리 데이터 웨어하우스 환경에서 매우 중요한 역할을 담당하며, 웨어하우스 환경에서 최소한 데이터의 구조, 데이터 요약에 사용된 알고리즘, 운영 데이터베이스와 데이터 웨어하우스 사이의 대응관계와 같은 정보를 포함하여야 한다(Inmon & Hackathorn, 1994). 이러한 이유로 성공적인 데이터 웨어하우스 구축에 관한 많은 논의가 메타 데이터에 집중되고 있다.
웨어하우스는 한 번 설계되면 그 구조가 변하지 않고 영원히 사용되는 것이 아니다. 운영시스템과 시스템 내의 데이터 구조는 사용자 니즈의 변화에 따라 지속적으로 변화하고 있다. 따라서 웨어하우스의 관리는 변화하는 운영시스템과 비즈니스 환경을 추적할 수 있도록 지속적이고 점진적으로 다듬어질 필요가 있다.
실제로 두 가지 계층의 메타 데이터가 요구된다(Kelly, 1995).
첫째, 데이터 웨어하우스 관리자를 위한 메타 데이터이다.
데이터 관리자는 소스 데이터 정의, 테이블 구조, 테이블 특성(attribute), 소스 데이터와의 대응관계, 데이터 이용 통로 및 이용 권한 등과 같은 정보를 필요로 한다. 이러한 요소들은 데이터 웨어하우스의 원활과 운영을 위해 필수적이다.
둘째, 사용자 메타 데이터이다. 사용자 메타 데이터는 의사결정 지원 어플리케이션과 밀접하게 연계되며, 비즈니스 모델에 대한 사용자의 정의에 기초하여 정의된다. 사용자 메타 데이터는 어플리케이션을 실제로 활용하는 대부분의 사용자에게는 투명해야 한다. 핵심은 사용자 메타 데이터는 사용자가 쉽게 이해할 수 있어야 한다는 점이다.
일반적으로 데이터 웨어하우스 관리자는 사용자 메타 데이터를 정의하는 과정에 참여할 필요가 없다. 이처럼 메타 데이터를 두 개의 영역으로 구분함으로써 데이터 웨어하우스 관리자와 사용자 집단 사이의 최적의 관계를 설정할 수 있다. <그림 3>은 메타 데이터의 역할을 나타낸다.

자료원 : 데이터 웨어하우징과 OLAP