데이터 웨어하우스는 일반적으로 하위 계층(Bottom Tier), 중간 계층(Middle Tier), 상위 계층(Top Tier)으로 이루어진 3계층 아키텍처를 따릅니다. 각 계층은 서로 다른 역할을 담당하며, 이를 통해 대용량 데이터의 저장, 처리, 분석이 체계적으로 수행됩니다.
1. 하위 계층(Bottom Tier): 데이터 웨어하우스 서버
하위 계층은 데이터 웨어하우스 데이터베이스 서버로, 대부분 관계형 데이터베이스 시스템(RDBMS)으로 구현됩니다. 백엔드 도구와 유틸리티를 사용해 운영 데이터베이스나 외부 소스(외부 컨설턴트가 제공하는 사용자 프로필 데이터 등)에서 하위 계층으로 데이터를 공급합니다.
이러한 도구들은 데이터 추출(extraction), 정제(cleaning), 변환(transformation) 기능과 적재(load) 및 갱신(refresh) 기능을 수행하여 데이터 웨어하우스를 최신 상태로 유지합니다. 예를 들어 변환 단계에서는 여러 소스에 흩어져 있던 동일한 데이터를 하나의 통합된 형식으로 병합합니다.
데이터 추출은 게이트웨이(gateway)라고 불리는 애플리케이션 프로그래밍 인터페이스(API)를 통해 이루어집니다. 게이트웨이는 기반이 되는 DBMS가 지원하며, 클라이언트 프로그램이 SQL 코드를 생성해 서버에서 실행할 수 있도록 해줍니다. 대표적인 게이트웨이로는 Microsoft의 ODBC(Open Database Connectivity), OLEDB(Open Linking and Embedding for Databases), 그리고 자바 진영의 JDBC(Java Database Connectivity)가 있습니다.
또한 이 계층에는 메타데이터 리포지토리(metadata repository)가 포함되며, 여기에는 데이터 웨어하우스 자체와 그 내용에 대한 정보가 저장됩니다.
2. 중간 계층(Middle Tier): OLAP 서버
중간 계층은 OLAP(온라인 분석 처리) 서버로 구성됩니다. OLAP 서버는 일반적으로 다음 두 가지 방식 중 하나로 구현됩니다.
- ROLAP(Relational OLAP): 확장된 관계형 DBMS를 활용하는 모델로, 다차원 데이터에 대한 연산을 표준 관계형 연산으로 매핑하여 처리합니다.
- MOLAP(Multidimensional OLAP): 다차원 데이터와 연산을 직접 수행하는 특수 목적 서버를 사용하는 모델입니다.
3. 상위 계층(Top Tier): 프런트엔드 클라이언트 계층
상위 계층은 사용자가 데이터에 접근하고 분석 결과를 확인하는 프런트엔드 클라이언트 계층입니다. 질의(query) 및 보고(reporting) 도구, 분석 도구, 그리고 데이터 마이닝 도구(추세 분석, 예측 등)가 이 계층에 포함됩니다.
데이터 웨어하우스의 3가지 모델
아키텍처 관점에서 데이터 웨어하우스는 엔터프라이즈 웨어하우스(Enterprise Warehouse), 데이터 마트(Data Mart), 가상 웨어하우스(Virtual Warehouse)의 세 가지 모델로 분류할 수 있습니다.
엔터프라이즈 웨어하우스(Enterprise Warehouse)
엔터프라이즈 웨어하우스는 조직 전체에 걸친 주제(subject)에 대한 모든 데이터를 수집합니다. 하나 이상의 운영 시스템이나 외부 데이터 제공자로부터 조직 전반의 데이터 통합을 지원하며, 그 범위는 부서 간(cross-functional)에 걸쳐 있습니다.
상세 데이터와 요약 데이터를 모두 포함하며, 규모는 몇 기가바이트에서 수천 기가바이트, 즉 테라바이트급까지 이를 수 있습니다. 기존 메인프레임, 슈퍼 서버 또는 병렬 아키텍처 플랫폼 위에서 구축할 수 있습니다. 광범위한 비즈니스 모델링이 필요하며, 설계와 구축에 수년이 걸릴 수도 있습니다.
데이터 마트(Data Mart)
데이터 마트는 특정 사용자 집단에게 가치가 있는 기업 전체 데이터의 하위 집합을 담고 있습니다. 범위가 선별된 주제로 한정되며, 예를 들어 마케팅 데이터 마트는 고객, 상품, 판매라는 주제로 범위를 제한할 수 있습니다. 데이터 마트에 포함되는 데이터는 대체로 요약된 형태입니다.
가상 웨어하우스(Virtual Warehouse)
가상 웨어하우스는 운영 데이터베이스 위에 정의된 뷰(view)들의 집합입니다. 효율적인 질의 처리를 위해 가능한 요약 뷰 중 일부만 물리화(materialize)합니다. 가상 웨어하우스는 비교적 구축이 간편하지만, 운영 데이터베이스 서버에 추가 용량이 필요하다는 단점이 있습니다.