마이크로소프트 저장소를 활용한 데이터 웨어하우징 Patrick Cross, Saeed Rahimi 공저 DWSoft Corporation 편집자 주 이 글은 COMPASS "99 회의(1999. 9.29 - 10. 2)에서 Patrick Cross와 Saeed Rahimi가 발표한 프레젠테이션을 기준으로 작성한 것입니다.
데이터 웨어하우스란 데이터베이스와 프로그램, 각종 툴이 결합된 복합체입니다. 웨어하우스를 관리하고 이해하려면 웨어하우스 정보의 중앙 저장소를 사용할 수 있게 하는 것이 매우 중요합니다. 특히, 오늘날과 같은 데이터 마트의 시대에는 각 부서에서 필요한 마트를 별도로 작성하므로 더욱 그러합니다. 마이크로소프트는 이러한 문제를 해결하기 위해 데이터 웨어하우징 프레임워크의 일부로 저장소를 제공해 왔습니다. 저장소는 메타 데이터나 정보, 웨어하우스의 저장 위치로 활용됩니다. 그림 1은 일반적인 데이터 웨어하우스 아키텍처 및 저장소를 사용하여 원본 운영 시스템부터 웨어하우스 정보를 액세스하는 데 필요한 툴에 이르기까지 전체 웨어하우스에 관한 정보를 저장하는 방법을 보여 줍니다. v 그림 1 데이터 웨어하우스 아키텍처
메타 데이터는 사용자에게 다음과 같은 질문에 대한 답을 제공함으로써 웨어하우스에 있는 정보의 안내서 역할을 합니다.
메타 데이터가 없으면 데이터 웨어하우스 사용자는 "데이터"를 액세스할 수는 있으나 "정보"는 사용할 수 없는 셈입니다. 데이터 웨어하우스 사용자에게 필요한 것은 정보이며, 단순한 데이터가 아닌 정보를 통해 올바른 의사 결정을 내릴 수 있습니다. 웨어하우스가 제공하는 혜택을 이해하지 못할 경우 웨어하우스 구축에 투자한 효과를 얻을 수 없습니다. 최신 데이터 웨어하우징 및 마트 개발 기술에는 메타 데이터 전략이 필수화되고 있습니다. 대부분의 구현에서는 메타 데이터 전략에 의해 성패가 좌우됩니다. 웨어하우스의 개념과 구축 방법에 대한 이해도에 따라 이를 쉽게 변경하고 사용할 수 있습니다. 매일 중요한 의사 결정을 내려야 하는 사용자에게 핵심적인 정보를 제공해 주는 웨어하우스를 활용하려면 먼저 의사 결정에 어떤 정보가 필요한지를 이해하는 것이 급선무입니다.
메타 데이터가 "데이터에 관한 정보"라는 사실에 대해서는 거의 모든 사람들이 동의합니다. Bill Inman은 메타 데이터를 "데이터의 구조, 내용, 키, 인덱스 등에 관한 설명"이라고 정의했습니다(Managing the Data Warehouse, Wiley 1997). 이러한 정의는 특정 범위에 국한된 개념이며 보다 일반적으로 볼 때, 메타 데이터는 웨어하우스 정보에 관한 정보 즉, 웨어하우스에서 특정 정보를 검색하는 방법, 웨어하우스 정보의 품질, 여러 종류의 작업을 수행하기 위해 각종 툴을 사용하는 방법에 대한 도움말이 될 수 있습니다. 웨어하우스에 대한 메타 데이터에는 시스템, 프로세스, 원본 및 대상 데이터베이스, 데이터 변환, 데이터 삭제, 데이터 액세스, 데이터 마트, OLAP 툴이 포함됩니다. 예를 들어, 웨어하우스의 메타 데이터는 보고서의 "매출 총액" 열의 계산 방법에 대한 정보를 제공할 수 있습니다. 따라서 웨어하우스에 대해 잘 모르는 사용자라도 "지역별 판매" 보고서를 조회할 때 매출 총액에 모든 할인 비용과 배송 비용이 포함되어 있음을 알 수 있습니다. 실제 상황에 따라 매출 총액에 이러한 요소가 포함되지 않을 수도 있지만, 사용자에게 이런 종류의 정보를 제공할 수 있으려면 웨어하우스에 보고서의 열을 데이터 변환, 데이터 쿼리, 필드 계산, 원본 데이터베이스 테이블과 열에 연결하는 메타 데이터가 있어야 합니다. 웨어하우스에서 이러한 도움을 제공할 수 있는 방법은 원본 데이터베이스(예: 테이블, 열)와 추출된 정보, 정보 변환 방법, 대상(또는 웨어하우스) 데이터베이스, 데이터 웨어하우스 보고서 툴, 데이터베이스 디자인 및 모델링 툴에 관한 메타 데이터가 있어야 합니다. 오늘날 많은 웨어하우스 구현에서는 간단한 스프레드시트를 사용하여 원본/대상 매핑과 변환을 수행합니다. 하지만 이러한 정보는 프로젝트의 초기 필수 단계가 지나면 곧 쓸모 없어지며 웨어하우스와 상호 작용하는 대부분의 사용자가 액세스할 수 없게 됩니다.
메타 데이터는 웨어하우스 컨텐트에 대한 보충 정보를 제공함으로써 모든 데이터 웨어하우스 사용자에게 중요한 도움을 줍니다. 데이터 분석 시 메타 데이터를 사용하면 어떤 정보를 사용할 수 있고, 정보가 어떻게 계산되는지를 더욱 쉽게 이해할 수 있습니다. 메타 데이터는 해당 정보에 대한 세부 분석과 데이터의 유효성을 나타내는 신뢰 계수까지 제공합니다.또한 저장소를 사용하면 현재 프로세스 이전의 이력을 관리할 수 있습니다. 웨어하우스에 있는 대부분의 데이터가 과거에 파퓰레이트된 것이므로 이것은 매우 중요한 기능입니다. 시간이 흐르면서 웨어하우스가 필연적으로 발전됨에 따라 그 구조와 프로세스가 어떻게 변경되었는지를 이해하는 것이 중요합니다. 예를 들어, 작년과 올해의 제품별 매출액을 비교하고 싶지만, 제품 범주가 올해 새로 추가된 경우라면 비교 결과는 의미가 없습니다. 또한 메타 데이터는 공통적인 참조 구조를 제공합니다. 즉, 누구나 지역별 연간 매출액 보고서를 보면서 "매출 총액"의 의미를 동일하게 파악할 수 있습니다. 기업의 관점에서 보면, 메타 데이터는 전체 조직의 중앙 "지식 창고(Knowledge Base)" 기능을 담당합니다. 메타 데이터는 기업의 데이터 웨어하우스와 데이터 마트가 "공통된 용어와 목표"를 사용하여 구축되도록 합니다.
마이크로소프트의 시도 이전에는 웨어하우스에서 관리해야 하는 메타 데이터의 종류에 대해 소프트웨어 공급업체와 IT 업계 간에 합의된 사항이 전혀 없었습니다. 약 2년 동안 마이크로소프트는 30개의 공급업체와 최종 사용자인 기업들이 이에 대한 표준을 세울 수 있도록 노력했습니다. 그 결과 약 300개의 개체 유형과 수천 개의 관계에 대한 정의가 포함된 정보 모델이 탄생했습니다. 300개가 넘는 유형에 대한 설명서 작성은 두 가지 점에서 엄청난 작업이었습니다. 첫째, 모든 유형을 명확하게 정의하기 위해 모든 필요한 특성과 관계를 설명하고 기록해야 했습니다. 둘째, 마이크로소프트는 예비 공급업체와 최종 사용자에게 이 결과를 알릴 방법이 필요했습니다. 이러한 정보를 제공할 때 가장 문제가 되는 것이 "일관성"이었습니다. 마이크로소프트는 특정 개체 유형에 대해 모든 사용자가 동일하게 이해할 수 있도록 최선을 다했습니다. 정보 모델은 개체 유형 및 그 관계에 따라 메타 데이터를 정의하므로 적합한 개체 모델링 기술을 선택하는 것이 당연합니다. 따라서 정보 모델을 설명하고 알리는 방법으로 UML(Unified Modeling Language: 자세한 내용은 http://www.omg.org/news/pr97/umlprimer.html (영문) 참조)이 선택되었습니다.
위에서 언급한 바와 같이 마이크로소프트는 30개 이상의 공급업체 및 협력업체들과 핵심 Open Information Model(OIM)을 개발했으며 여기에는 300개가 넘는 기업들이 이 핵심 모델을 검토한 결과가 포함되어 있습니다. (OIM에 대한 자세한 내용은 http://msdn.microsoft.com/repository/OIM/overview.asp (영문) 를 참조하십시오.) 마이크로소프트의 OIM 계획은 이를 표준 정보 모델로 발전시키는 것입니다. 이를 위해 마이크로소프트는 최근 이 모델의 권한을 MetaData Coalition(MDC, http://www.mdcinfo.com/ (영문) )에 이전했습니다. 현재 MDC OIM이라고 불리우는 이 모델과 설명서는 여기에 관심있는 사람에게 무료로 배포되고 있습니다. MDC는 1999년 4월 12일, MDC OIM의 버전 1.0을 일반에게 발표했습니다(http://www.mdcinfo.com/ (영문) ).
MDC OIM에는 데이터 웨어하우징 구현의 서로 다른 측면을 다루는 여러 구성 요소가 포함되어 있습니다. 이 모델의 주요 구성 요소는 다음과 같습니다.
자세한 내용은 http://www.mdcinfo.com/OIM/index.htmlhttp://msdn.microsoft.com/repository/OIM/overview.asp (영문) 를 참조하십시오. 이러한 구성 요소들은 모두 충분히 검토되고 승인을 받은 후 안정적 상태에 있습니다. 뿐만 아니라, MDC는 보고서 정의, 엔티티 관계 다이어그램, 비즈니스 엔지니어링, 지식 설명 등의 구성 요소를 새로 추가할 계획입니다. (http://msdn.microsoft.com/repository/oim/extentions.asp (영문) 참조 )
MDC OIM은 데이터 웨어하우스의 기술적인 측면을 중점적으로 다루기 때문에 현재 비즈니스 관련 정보는 포함되어 있지 않습니다. 데이터 웨어하우스 구현의 비즈니스 관련 정보에는 주요 영역, 목표, 비즈니스 요소, 주요 용어, 부문별 용어, 조직 계층 등을 나타내는 구성 요소가 있습니다. 데이터 웨어하우스의 정보를 기업의 비즈니스 측면과 연결하려면 위와 같은 구성 요소가 포함되도록 OIM 모델을 향상시켜야 합니다. MDC OIM의 또 다른 단점은 복잡성입니다. 이 모델이 복잡한 이유는 두 가지인데 첫째는 모델에 포함된 개체 유형의 수이고, 둘째는 개체 유형이 복잡한 계층에 포함되어 있기 때문입니다. 따라서 최종 사용자를 위해 모델의 표현을 단순화할 필요가 있으며, 저장소의 정보를 효과적으로 사용할 수 있도록 데이터를 단순화하고 사용자에게 친숙한 용어와 형식을 통해 제시해야 합니다.
마이크로소프트는 데이터 마트/데이터 웨어하우스 시장에서 크게 두각을 나타내고 있습니다. 마이크로소프트의 데이터 웨어하우징 툴은 데이터베이스 시장에서 확장일로에 있는 SQL Server 7.0에 포함되어 있습니다. 마이크로소프트의 전략에서 주목할 점은 중소기업에서 데이터 웨어하우스를 구축할 수 있는 툴을 실제로 제공하고 있다는 것입니다. 이것은 마이크로소프트 제품만을 사용하여 데이터 마트와 데이터 웨어하우스를 구축하고, 유지, 관리할 새로운 사용자를 유인하기에 충분한 조건입니다. 이제 중소기업에서도 과거에 Fortune지가 선정한 500대 기업이나 1000대 기업에서나 사용할 수 있었던 데이터 웨어하우징 툴과 데이터 마트 툴을 사용하게 된 것입니다. SQL Server 7.0이 나오기 전에는 데이터 웨어하우징 툴이 너무 비싸고 웨어하우스를 구축할 만한 전문 인력을 찾기도 매우 힘들었습니다. 그러나 최신 기술과 시장에서의 관심 증가로 전문 인력에 대한 문제는 줄어들어 요즘은 마이크로소프트 툴을 사용하여 웨어하우스를 구축할 수 있는 컨설턴트를 구하기가 훨씬 쉬워졌습니다. 마이크로소프트 데이터 웨어하우징 툴의 목록을 보려면 http://www.datawarehouse.com/ (영문) 을 참조하십시오.
이러한 모든 구성 요소는 저장소에서 메타 데이터(구조에 관한 정보)를 추출하고 저장할 수 있도록 저장소와 완벽하게 통합되어 있습니다. 저장소의 정보 모델에는 이러한 구성 요소로부터 메타 데이터를 호스트할 수 있는 하위 모델이 있습니다. 구체적인 설명은 다음과 같습니다(그림 2 참조).
그림 2 저장소 통합
저장소는 메타 데이터를 중앙에 저장하는 장소입니다. 위에서 설명한 것처럼 저장소는 정보 모델의 확장을 가능하게 합니다. 조직의 메타 데이터는 시간에 따라 변화할 수밖에 없으므로 정보 모델 확장은 저장소의 필수 기능입니다. 또한 저장소는 저장된 메타 데이터의 버전 관리 기능을 제공합니다. 이 기능을 사용하여 특정 메타 데이터의 변경 이력을 관리할 수 있습니다. 저장소의 기능과 인터페이스하기 위해 마이크로소프트 저장소는 COM 기반의 인터페이스를 제공합니다. 이 인터페이스를 통해 Visual Basic, C, C++ 및 Java 기반의 응용 프로그램에서 저장소와 상호 작용을 하고 메타 데이터를 관리할 수 있습니다. 또한 저장소 컨텐트의 대량 로드 및 언로드를 위해 마이크로소프트 저장소는 XIF라는 XML 기반의 교환 파일 형식을 제공합니다. XIF 형식은 메타 데이터를 다른 저장소로 이동할 수 있고, 저장소를 OLAP, 데이터 변환 툴 등의 다른 툴과 메타 데이터의 원본/대상에 인터페이스하는 기능을 제공합니다. 마이크로소프트는 메타 데이터를 저장소로 쉽게 로드할 수 있도록 특정 데이터 웨어하우징 툴과 미리 정의된 인터페이스를 제공합니다. 여기에는 OLE DB, English Query, OLAP 서비스, DTS 등이 포함됩니다.
기업용 응용 프로그램과 지식 관리 프로그램들 간의 구분이 사라짐에 따라 마이크로소프트는 기업용 응용 프로그램 통합과 지식 관리 분야로 이 기술을 확장할 계획이며, 데이터 마이닝 지원과 기업 카탈로그 모델도 고려 중입니다. 마이크로소프트는 Open Information Model이 지원할 수 있는 주요 영역을 확장하기 위해 Meta Data Coalition과 계속 협력할 것입니다. 이것은 저장소를 중요한 기업 정보가 저장되는 장소로 활용할 수 있도록 합니다. 자세한 내용을 보려면 저장소 웹 사이트(http://msdn.microsoft.com/repository/ (영문))나 뉴스 그룹(microsoft.public.repository and Microsoft.public.sqlserver.datawarehouse)을 참조하십시오.
데이터 웨어하우스의 메타 데이터를 저장소에 저장하면 모든 데이터 웨어하우스 툴과 사용자가 공유할 수 있는 통합된, 중앙 위치가 제공됩니다. 중앙의 메타 데이터 저장소는 메타 데이터를 최신으로 유지하고 모든 웨어하우스 사용자가 데이터를 액세스할 수 있게 합니다. 분명하고 세부적인 구현 계획을 세우고, 저장소 관리자를 지정하며, 메타 데이터에 대한 장기적인 니즈를 고려할 경우 웨어하우스의 메타 데이터 저장소를 성공적으로 구현할 수 있습니다. 또한 수많은 비즈니스 사용자가 웨어하우스를 액세스하므로 웨어하우스에 대한 정보를 사용자에게 제공하는 것이 중요합니다. 이러한 정보를 쉽게 액세스할 수 있고, 기존 툴과 통합되며, 이해하기 쉬운 형식으로 정보를 제공해야만 웨어하우스를 효과적으로 사용할 수 있습니다.
마이크로소프트 저장소에 메타 데이터를 저장한 다음, 데이터 웨어하우스 설계자와 구현자가 할 일은 "저장소 액세스" 문제를 해결하는 것입니다. 분명한 것은 MDC OIM이 매우 복잡하고 커다란 모델이라는 사실입니다. 모든 사용자가 이 복잡한 저장소 모델에 대해 자세히 알아야 할 필요는 없으므로 성공 여부는 편리한 사용 방법에 달려 있습니다. 기업들은 사용자가 필요로 하는 데이터보다 적지도 많지도 않은 적정 수준의 적합한 메타 데이터를 제공할 수 있는 방법을 찾아야만 합니다. 사용자에게 제공되는 모든 정보는 이해하기 쉬운 형식이어야 합니다. 사용자가 이해하기 쉽도록 제공되는 정보는 "전후 상황에 적합한 정보여야" 합니다. 사용자들이 데스크톱에서 사용하는 다른 툴에 대한 링크와 바로 가기가 저장소 인터페이스 시스템 내에서 제공되야 합니다. 대부분의 기업들은 문서나 인트라넷 사이트에 풍부한 정보가 저장되어 있습니다. 이러한 정보 저장소에 대한 링크를 제공하거나 저장소를 이와 통합함으로써 사용자는 모든 관련 정보를 더욱 쉽게 검색할 수 있습니다.
데이터 웨어하우스의 저장소 구현은 관리 및 유지 보수, 제어가 필요합니다. 저장소 관리란 메타 데이터의 변경을 의미합니다. 저장소의 메타 데이터를 변경하는 것은 데이터베이스의 스키마 변경과 비슷하므로 관리자만이 필요한 사항을 변경할 수 있는 권한이 있습니다. 하지만 메타 모델을 변경한다고 해서 최종 사용자의 액세스 패턴이 바뀌는 것은 아닙니다. 즉, 메타 모델의 변경은 최종 사용자가 인식할 수 없도록 수행되어야 합니다. 메타 데이터를 저장소로 로드하는 작업도 권한 있는 사용자만 수행할 수 있습니다. 이러한 작업은 메타 데이터의 품질을 유지하기 위해 주의 깊게 수행해야 합니다. 메타 데이터의 결함은 단순한 데이터의 결함보다 훨씬 나쁜 영향을 미칩니다. SQL Server는 기업 관리자 콘솔을 통해 저장소 데이터를 액세스할 수 있으며 여기에서 관계 스키마와 DTS 패키지, 데이터 계통에 대한 정보를 모두 액세스할 수 있습니다(그림 3 및 그림 4 참조). 기업 관리자는 여러 구성 요소들의 기본적인 효과 분석과 설명 필드의 편집 기능도 제공하는데 이것은 고급 사용자에게는 필요할 수 있지만 대다수의 사용자에게는 필요 없는 기능입니다. 그림 3 기업 관리자의 관계 스키마 그림 4 기업 관리자의 DTS 패키지 정보 최종 사용자는 저장소에 대해 일련의 액세스 권한이 필요하며 저장소의 컨텐트를 쉽게 찾아보고 원하는 위치로 이동할 수 있어야 합니다. 최종 사용자의 인터페이스에서 중요한 부분은 "효과 분석"입니다. 이것은 데이터 웨어하우스 시스템의 특정 부분을 변경할 경우 다른 부분에 어떠한 영향을 주는지를 사용자가 확인할 수 있는 기능으로서, 변화의 영향을 미리 확인함으로써 전체적인 시스템 변경 방식을 미리 계획할 수 있습니다. 다른 관점에서 볼 때, 저장소 사용자는 LAN이나 웹에서 시스템을 액세스할 수 있습니다. 물론 어떤 액세스 방식을 사용하더라도 정보 검색 및 효과 분석에 필요한 권한은 동일합니다. 웹 액세스 방식의 유일한 차이점은 저장소에 연결하는 클라이언트 소프트웨어로 웹 브라우저를 사용한다는 것입니다. 이런 경우, 일반 Windows용 클라이언트 소프트웨어를 사용할 수 없고 웹 브라우저 환경을 인터페이스로 사용해야 합니다. 하지만 또 다른 관점에서 보면, 사용자 유형별로 저장소의 액세스 방식이 달라져야 합니다. 사용자 유형별로 저장소에서 필요한 메타 데이터의 종류가 각기 다르기 때문입니다. 비즈니스 사용자와 경영진의 경우 메타 데이터의 비즈니스 측면에만 관심이 있겠지만, 저장소 관리자나 데이터 웨어하우스 관리자에게는 웨어하우스의 아키텍처 및 기술적인 측면이 중요할 것입니다. 따라서 저장소 인터페이스는 각 사용자 유형별로 가장 적합한 뷰를 제공할 수 있어야 합니다. 그림 5는 저장소 정보를 검색하는 웹 기반 인터페이스의 예를 보여 줍니다. 그림 5 저장소의 웹 기반 인터페이스
위에서 설명한 것처럼 저장소의 메타 데이터는 메타 데이터의 원본에서 로드되어야 합니다. 마이크로소프트 저장소의 경우, 이러한 원본 중 일부는 저장소와 이미 통합되거나 인터페이스가 제공되며 이들은 DTS, OLAP, English Query 등입니다. 웨어하우스 구현에서는 다른 여러 가지 툴에 대해서도 이러한 환경이 구축되어 있습니다. 웨어하우스 수명 주기의 각 단계에 포함된 여러 공급업체의 툴도 메타 데이터를 저장소에 저장할 수 있어야 합니다. 웨어하우스에 있는 모든 메타 데이터의 전체 뷰를 제공하기 위해 레거시 시스템의 메타 데이터(플랫 파일 데이터베이스, COBOL 복사본 등)도 가져와야 합니다. 마이크로소프트는 다른 툴과 저장소 간에 메타 데이터를 가져오기/내보내기할 때 사용할 수 있도록 저장소에 XML 기반의 인터페이스를 제공합니다. 이 인터페이스를 XML 기반의 교환 파일 형식 또는 XIF(http://msdn.microsoft.com/repository/technical/xml.asp (영문))라고 합니다.
저장소와 메타 데이터를 웨어하우스로 통합함으로써 얻을 수 있는 혜택은 무척 많습니다. 사용자는 원하는 정보를 쉽게 찾고 이해할 수 있으며, 데이터 분석자는 공통적인 참조 구조를 사용하고, 웨어하우스가 어떻게 변화되고 있는지를 이해할 수 있으며, 웨어하우스와 상호 작용하는 모든 사용자는 다양한 정보를 통해 정확하고 신뢰성 있는 결정을 내릴 수 있습니다. 공통적인 사용자 인터페이스(예: 웹)를 통한 사용자 액세스와 사용자가 이해하기 쉬운 형식으로 정보를 제공함으로써 웨어하우스의 사용 편리성을 크게 향상시킬 수 있습니다.
Patrick Cross 씨는 마이크로소프트 데이터 웨어하우징 프레임워크 및 저장소 분야를 담당하는 DWSoft Corporation의 설립 멤버 중 한 명입니다. 그는 지난 2년간 마이크로소프트와 협력 하에 Open Information Model에 대한 연구를 수행했으며, 최근 DTS 팀의 자체 개발 작업에도 참여했습니다. DWSoft를 설립하기 전에는 Platinum Technology에서 Platinum MVS 저장소의 주요 설계자로 근무한 경력이 있습니다. Dr. Rahimi 씨는 DWSoft Corporation의 Chief Technology Officer이자 공동 설립자입니다. DWSoft를 설립하기 전에는 Manager Software Products, Inc.의 Chief Technology Officer로서 데이터 웨어하우징 관리에 필요한 메타 데이터와 저장소 기술, CASE 툴 통합, 데이터 관리 및 응용 프로그램 개발 등을 담당했습니다. 그는 1988년에 InfoSpan을 공동 설립하여, 유일한 FIPS 156 호환 개방형 작업 그룹 저장소와 CASE 통합 소프트웨어를 개발했으며 저장소, 데이터 사전, 데이터베이스 관리 시스템, CASE, 정보공학 분야에 20년 이상의 경험을 갖고 있습니다. 또한, 그는 University of Minnesota의 컴퓨터 공학 분야에서 Ph.D.를 취득했습니다. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||