데이터 웨어하우스 : Data Wherehouse

데이터 웨어하우스는 1980년대 중반 IBM이 자신이 하드웨어를 판매하기 위해 처음으로 도입했던 개념으로, IBM은 인포메이션 웨어하우스(Informationn Warehouse)라는 용어를 사용하였다. 이후 이 개념은 많은 하드웨어, 소프트웨어 및 툴 공급 업체 들에 의해 이론적, 현실적으로 성장하였으며, 1980년대 후반 Inmon이 데이터 접근 전략으로 데이터 웨어하우스 개념을 사용함으로써 많은 관심과 집중을 받게 되었다.
가장 대표적인 정의는 Inmon(1992)의 것으로 그는 데이터 웨어하우스를 '기억의 의사 결정 과정을 지원하기 위한 주제 중심 적이고 통합적이며 시간성을 가지는 비휘발성 자료의 집합'으로 정의하고 있다. 또한 Kelly(1994)는 전사적 데이터 웨어하우스를 '기업 내의 의사 결정 지원 어플레케이션들을 위한 정보기반을 제공하는 하나의 통합된 데이터 저장공간'으로 정의하고 있다. 이것은 기업 내의 상이한 많은 어플리케이션 들이 동일한 정보를 공유하게 하는 웨어하우스의 측면을 강조하고 있다. 한편 포우(Poe,1994)는 데이터 웨어하우스를 운영시스템과 연계하여 '의사결정 지원에 효과적으로 사용될 수 있도록 다양한 운영 시스템으로부터 추출, 변환, 통합되고 요약된 읽기 전용 데이터베이스'로 정의하고 있다.
이상의 정의들로 보면 데이터 웨어하우스는 의사결정에 필요한 정보처리 기능을 효율적으로 지원하기 위한 통합된 데이터를 가진 양질의 데이터베이스로서, 다음과 같은 특성을 가진다.

(1) 웨어하우스 데이터는 비즈니스 사용자들의 의사결정 지원에 전적으로 이용된다. 즉 웨어하우 스가 존재하는 가장 일차적인 이유는 사용자의 의사결정을 지원하기 위한 것이다. 데이터 웨어하우스는 올바른 정보(Right Information)를 올바른 형태(Right Form)로 적시(Right Time)에 제공하기 위해 대량의 원시 데이터를 유용한 정보로 변환하는 엔진이다.(Kelly,1994)

(2) 기업의 운영시스템과 분리되며, 운영시스템으로부터 많은 데이터가 공급된다. 데이터 웨어하우스는 여러 개의 개별적인 운영시스템으로부터 데이터가 집중된다. 또한 데이터 웨어하우스의 기본적인 자료 구조는 운영시스템의 그것들과 완전히 다르므로 데이터들이 데이터 웨어하우스로 이동되면서 재구조화되어야 한다. 운영시스템과 데이터 웨어하우스는 근본적으로 다르며, 두 개의 매우 상이한 시스템을 요구한다. 데이터 웨어하우스는 이와 같은 논리적인 측면에서뿐만 아니라 물리적인 측면에서도 분리되어야 하는 이유가 있다. 일상적으로 운영시스템 환경은 다수의 사용자들이 데이터를 갱신하며, 시스템 자원의 활용정도는 고르게 유지된다. 따라서 시스템 자원의 소요량은 어느 정도 예측할 수 있다. 반면 의사 결정 지원시스템의 사용 패턴은 전적으로 예측할 수 없다. 한 명의 사용자가 수시간 동안 모든 시스템 자원을 소비할 정도로 분석을 수행할 수도 있으며, 어떤 경우에는 시스템이 전혀 사용되지 않을 수도 있다. 이러한 차이는 두 가지 시스템이 동시에 동일한 하드웨어 상에 유지될 때, 왜 문제를 발생시키는지를 설명한다. 기업은 운영 프로세싱을 위해 하드웨어를 최적화 시킬 수 있거나 의사 결정 지원 프로세싱을 위해 하드웨어를 최적화할 수 있다. 그러나 하나의 하드웨어상에서 동시에 두 가지 프로세싱을 최적화할 수는 없다(Inmon, 1992).

(3) 데이터 웨어하우징은 전사적 모델이 기초하여 통합된다. 기존 운영시스템의 대부분은 항상 많은 부분이 중복됨으로써 하나의 사실에 대해 다수의 버전이 존재하게 된다. 하나의 객체를 지칭하는 다양한 이름이 존재하거나 데이터가 가지는 의미가 서로 다르다. 데이터 웨어하우스에서 이러한 데이터는 전사적인 관점에서 통합된다. 즉 데이터 웨어하우스는 신뢰할 수 있는 하나의 버전 (one version of truth)을 사용자에게 제공한다.
웨어하우스 내의 데이터는 주로 운영 시스템으로부터 공급되지만 다양한 외부정보의 통합 역시매우 중요하다. 외부정보란 비즈니스 영역 밖에서 생성되거나 관리되는 정보로 Drucker(1995)는 외부정보의 중요성을 다음과 같이 기술하였다. 기업의 의사결정을 위해, 특히 전략적인 의사결정에 가장 필요한 것은 기업조직 바깥에서 일어나는 것에 대한 정보이다. 이는 기업이 결과를 얻게 되고, 기회가 있고, 또한 위협이 있는 곳은 기업의 바깥이기 때문이다. 경쟁사에 대한정보, 공급사에 대한 정보, 시장, 정부규제, 경제에 대한 정보 등과 같은 다양한 외부정보가 있으며, 실제로 이러한 외부정보는 기업의 경쟁력을 유지하는 데, 회계부서에서 제공하는 외상매입금과 같은 정보보다 훨씬 더 중요할 수 있다. 오늘날 많은 정보 서비스 제공업체들에 의해 다양한 정보가 제공되고 있는데, 이러한 정보들은 웨어하우스 내에 효과적으로 통합되어야 한다.

(4) 시간성 혹은 역사성을 가진다. 즉 일, 월, 년 회계기간등과 같은 정의된 기간과 관련되어 저장된다. 운영시스템의 데이터는 사용자가 사용하는 매순간 정확한 값을 가진다. 즉 바로 지금의 데이터를 정확하게 가지고 있을 것이 요구된다.
반면 웨어하우스의 데이터는 특정 시점을 기준으로 정확하다. 웨어하우스 내의 데이터는 스냅샷 데이터로서 묵시적으로나 명시적으로 시간 항목을 가지며, 장기간에 걸쳐 존재한다.

(5) 주제 중심적이다. 데이터 웨어하우스는 전통적인 데이터베이스와 근본적으로 구분된다. 전통적으로 데이터베이스는 대부분 어플리케이션의 일부분이었다. 이러한 환경에서 각 테이블과 필드는 어플리케이션에서 미리 정의된 화면상의 필드들과 논리적으로 밀접한 관계를 가진다. 그래서 데이터베이스의 설계는 프로그래머와 데이터베이스 관리자 사이의 많은 조정을 필요로 하는 매우 힘든 작업이었다. 운영시스템은 재고 관리, 영업관리 등과 같은 기업운영에 필요한 특화된 기능을 지원하는데 반해, 데이터 웨어하우스는 고객, 제품 등과 같은 중요한 주제를 중심으로 그 주제와 관련된 데이터들로 조직된다.

(6) 컴퓨터 시스템 혹은 자료 구조에 대한 지식이 없는 사용자들이 쉽게 접근할 수 있어야 한다. 접근은 많은 것을 의미한다. 조직의 관리자들과 분석가들은 그들의 PC로부터 데이터 웨어하우스에 연결될 수 있어야 한다. 이런 연결은 요구에 즉각적이어야 하고, 또한 신속성을 보여야 한다. 만약 접근을 다른 사람을 통해서 한다든지, 느리거나 사용하기 어렵고 신뢰할 수 없다면 받아들여질 수 없다.

(7) 데이터 웨어하우스는 읽기 전용 데이터베이스로서 갱신이 이루어지지 않는다. 운영 시스템 환경에서는 추가·삭제·변경과 같은 갱신작업이 레코드 단위로 지속적으로 발생한다. 웨어하우스 환경에서는 프로덕션 데이터 로드(Production Data Load)와 활용만이 존재하며, 운영시스템에서와 같은 의미의 데이터의 갱신은 발생하지 않는다.
즉 거대한 운영시스템은 하루에 수천 또는 수만의 거래를 처리하는데, 각각의 거래는 하나의 작은 데이터로 구성된다. 반면 데이터 웨어하우스의 경우는 보통 하루에 하나의 거래를 수행하지만 이 거래처리에는 수천 또는 수만의 레코드가 있을 것이다. 이것을 거래처리라는 용어 대신, 프로덕션 데이터 로드라고 부른다. 웨어하우스 데이터베이스의 설계는 활용에 초점이 맞추어지며 적용되는 기술 역시 운영시스템과 많은 차이를 가진다 . 예를 들어 온라인상에서 레코드 단위로 데이터의 갱신이 이루어지는 운영시스템에서는 백업, 복구, 데이터 완전성(integrity), 데드락(Deadlock)의 해결 등과 같은 매우 복잡한 기술들이 중요한 반면 웨어하우스 환경에서는 필요하지 않을 수도 있다.(Inmon, 1994)
한편 웨어하우스가 꼭 읽기 전용이어야 하는가라는 부분은 오늘날 가장 논의의 대상이 되고 있다. 웨어하우스 사용자의 의사결정을 지원하기 위해 존재하는데, 여러 가지 분석상황(예산편성, What-If 분석 등) 사용자는 데이터를 갱신할 필요성이 있다. 이러한 이유로 데이터 웨어하우스를 보완하기 위해 데이터 마트의 개념이 나타나게 되었으며, 데이터 마트는 데이터 웨어 하우스 환경을 구성하는 중요한 요소로 자리잡고 있다.

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