데이터 웨어하우스(Data Warehouse)는 조직의 운영 데이터베이스와 독립적으로 구축·관리되는 데이터베이스를 의미합니다. 데이터 웨어하우스 시스템은 여러 애플리케이션 시스템을 하나로 통합할 수 있게 해주며, 분석을 위한 통합된 이력 데이터의 견고한 플랫폼을 제공함으로써 데이터 처리를 지원합니다.
데이터 웨어하우스의 기본 개념
데이터 웨어하우스는 원격 기본 관계(remote base relations) 위에서 표현되는 일련의 구체화된 뷰(materialized views)의 집합으로 볼 수 있습니다. 쿼리가 실행될 때는 원본 데이터 소스에 직접 접근하지 않고, 구체화된 뷰를 활용하여 로컬에서 연산이 수행됩니다.
데이터 웨어하우스는 시간이 지남에 따라 지속적으로 진화하는 능동적(active) 개체입니다. 시간이 흐르면 새로운 쿼리에 대한 응답 요구가 발생하는데, 많은 쿼리는 구체화된 뷰만으로도 처리가 가능하지만, 일반적으로는 새로운 뷰를 데이터 웨어하우스에 추가해야 하는 경우도 생깁니다.
데이터 웨어하우스로 확장되는 세 가지 방향
SAP/R3와 같은 표준화된 ERP 도구를 포함한 기본적인 온라인 트랜잭션 처리(OLTP) 인프라를 갖춘 조직이라면, 관심 대상은 최소한 다음 세 가지 방향으로 확장됩니다.
- 조직 내부와 외부에 걸친 더 폭넓은 멀티미디어 데이터 소스
- 다양한 관심사와 역량 프로파일, 상황별 매개변수를 지닌 더 폭넓은 클라이언트층
- 트랜잭션 처리 과정에서 생성된 방대한 경험 데이터를 조직의 정보화와 의사결정에 활용 가능한 지식으로 전환
공급망 관리(SCM)나 B2B 전자상거래 등의 명칭으로 다양한 데이터 흐름 물류 아키텍처가 제안되고 있습니다. 이러한 아키텍처에서 데이터베이스는 단기·중기 데이터의 임시 저장소 역할을 담당하고, 데이터 웨어하우스는 장기 기억, 지식 창출 및 관리의 역할을 수행합니다.
데이터 웨어하우스 시스템의 구성 요소
데이터 웨어하우스 시스템은 크게 다음 세 가지 요소로 구성됩니다.
- 데이터베이스: 소스 데이터베이스와 데이터 웨어하우스 내부의 구체화된 뷰
- 데이터 전송 에이전트: 한 데이터베이스에서 다른 데이터베이스로 레코드를 운송하는 모듈
- 저장소(Repository): 시스템 및 그 확장에 관한 메타데이터를 보관하는 공간
래퍼(Wrapper)와 미디에이터(Mediator) 기반 통합 아키텍처
이 아키텍처에서는 이기종 데이터 소스를 먼저 래퍼(wrapper)라고 불리는 추출 메커니즘을 통해 균일한 방식으로 접근 가능하게 만듭니다. 이후 미디에이터(mediator)가 데이터 통합과 충돌 해결 업무를 담당합니다. 래퍼와 미디에이터의 분리는 신중하게 고려된 설계 결정으로, CORBA와 같은 미들웨어 시스템에서 서비스 래퍼와 요청 브로커(request broker)를 분리하는 원리와 같은 맥락을 반영합니다.
구체화된 뷰와 데이터 마트(Data Mart)
표준화되고 통합된 결과 데이터는 데이터 웨어하우스에 구체화된 뷰 형태로 저장됩니다. 이러한 기본 뷰는 일반적으로 가벼운 수준의 집계만 거친 형태입니다. 여러 분석가 사용자에게 맞춤형 서비스를 제공하기 위해, 특정 관심 영역에 대해 더 깊이 집계된 정보를 담은 데이터 마트(data mart)가 2차 캐시 형태로 구축됩니다. 이 데이터 마트는 단순 쿼리 도구부터 스프레드시트 도구, 본격적인 데이터 마이닝 시스템에 이르기까지 다양한 데이터 분석 도구들이 활용하게 됩니다.