데이터 웨어하우싱(Data Warehousing)은 여러 소스에서 데이터를 수집하고 관리하여 기업에 의미 있는 비즈니스 인사이트를 제공하는 접근 방식입니다. 데이터 웨어하우스는 경영진의 의사결정을 지원하도록 특별히 설계됩니다.
데이터 웨어하우스의 기본 개념
쉽게 말해, 데이터 웨어하우스는 조직의 운영(OLTP) 데이터베이스와 독립적으로 유지·관리되는 데이터베이스를 의미합니다. 데이터 웨어하우스 시스템은 여러 애플리케이션 시스템을 통합할 수 있게 해주며, 분석을 위한 통합된 과거 정보의 견고한 플랫폼을 제공함으로써 데이터 처리를 지원합니다.
데이터 웨어하우스는 다차원 공간에서 데이터를 일반화하고 중앙 집중화합니다. 데이터 웨어하우스 구축 과정에는 데이터 클렌징(data cleaning), 데이터 통합(data integration), 데이터 변환(data transformation)이 포함되며, 이는 데이터 마이닝을 위한 필수 전처리 단계로 볼 수 있습니다.
OLAP와 차원 모델링(Dimensional Modeling)
OLAP(온라인 분석 처리)은 데이터 웨어하우싱을 둘러싼 핵심 접근 방식입니다. 이 모델에서는 데이터 마이닝과 문서화 작업을 효과적으로 수행할 수 있는 형식으로 데이터가 저장됩니다. 따라서 OLAP 설계는 대량의 레코드셋에 대한 문서화를 처리하면서도 운영 성능 저하를 최소화할 수 있어야 합니다.
OLTP 구조의 데이터를 가져와 OLAP 아키텍처에 맞게 재구성하는 전체 과정을 바로 "차원 모델링(Dimensional Modeling)"이라고 부르며, 이는 데이터 웨어하우스의 기본 빌딩 블록입니다.
데이터 웨어하우스 테스트의 목적
데이터 웨어하우스 테스트는 데이터 품질을 검증하는 작업입니다. 예를 들어 데이터 완전성(completeness) 테스트를 통해 예상된 모든 데이터가 정상적으로 적재되었는지 확인하고, 데이터 변환(transformation) 테스트를 통해 모든 데이터가 비즈니스 규칙 또는 설계 사양에 따라 정확하게 변경되었는지 검증합니다.
운영 환경 테스트의 핵심 항목
데이터 웨어하우스 운영 환경에 대한 테스트 역시 반드시 수행해야 할 중요한 테스트 영역입니다. 다음과 같은 항목들을 테스트해야 합니다.
보안(Security): 문서화되어 있지 않으면 테스트하기 어렵지만, 모든 정보를 공개하는 것은 허용되지 않습니다. 별도의 데이터 웨어하우스 보안 문서가 있다면, 허용되지 않는 작업 목록을 추출하고 각 항목에 대한 테스트를 설계하는 비교적 직관적인 방식으로 진행할 수 있습니다. 이 테스트 세트는 새로 추가된 데이터가 보안 제약 조건을 깨뜨리지 않도록 시스템 테스트 기간 동안 여러 차례 수행해야 합니다.
디스크 구성: 시스템 테스트 중 디스크 구성을 철저히 테스트하여 잠재적인 I/O 병목 현상을 사전에 파악해야 합니다.
스케줄링 소프트웨어: 데이터 웨어하우스의 일일 운영을 제어하려면 스케줄링 소프트웨어가 필요하며, 이 역시 시스템 테스트 단계에서 철저히 검증해야 합니다. 스케줄러는 과도한 처리를 제어하고 집계(aggregation) 작업을 관리하는 역할을 담당합니다.
데이터 웨어하우스 테스트의 주요 과제
데이터 웨어하우스 테스트에는 다음과 같은 다양한 어려움이 따릅니다.
- 여러 소스 시스템으로부터의 데이터 선택
- 방대한 데이터의 양과 복잡성
- 데이터 웨어하우스 내 비일관적이고 중복된 정보
- 포괄적인 테스트 환경의 부재