데이터 웨어하우징 및 보고
데이터 웨어하우징 및 보고 응용 프로그램에서 다음과 같은 용도로 복제를 자주 사용합니다.
- 데이터를 변환하고 데이터 웨어하우징 환경으로 이동할 수 있도록 데이터 통합
- 데이터를 보고용 읽기 전용 데이터베이스로 배포
- 데이터를 OLAP(온라인 분석 처리) 데이터베이스로 배포
복제는 차원이나 큐브와 같은 Microsoft SQL Server 2005 Analysis Services(SSAS) 개체를 복제하지 않지만 OLTP(온라인 트랜잭션 처리) 데이터베이스에서 준비 데이터베이스와 보고, 의사결정 지원 및 분석 용도로 사용되는 데이터베이스로 데이터를 배포하는 데 자주 사용됩니다.
다음 다이어그램에서는 온라인 처리 서버에서 OLAP 및 ROLAP 분석용 보고 서버와 준비 서버(staging server) 모두로 데이터를 복제하는 일반적인 시나리오를 보여 줍니다.
Adventure Works Cycles 예
Adventure Works Cycles는 데이터베이스 개념 및 시나리오를 설명하는 데 사용되는 가상 제조 회사입니다. 자세한 내용은 예제 및 예제 데이터베이스를 참조하십시오.
Adventure Works Cycles에서는 제조 및 인사 부서를 포함한 여러 부서에서 데이터 웨어하우징 및 보고를 사용합니다.
제조 부서에서는 제조 결함과 다른 여러 가지 품질 및 성능 메트릭에 대한 기록 데이터를 저장합니다. 데이터는 제조 공장에 있는 서버에서 본사의 준비 서버(staging server)로 복제됩니다. 그 다음 준비 서버(staging server)에서 데이터가 변환되고 분석을 위해 OLAP 큐브로 로드됩니다.
인사 부서에서는 현재 타사 응용 프로그램을 사용하여 보고서를 만들지만 곧 이 응용 프로그램을 Reporting Services로 교체하려 합니다. 또한 인사 부서에서는 보고 기능을 확대하고 다음 유형의 분석 기능을 추가하려고 합니다.
- 국제 환율 영향 분석을 포함하는 보상 및 이익 분석
- 인원 수 계획
- 급여 비용 시뮬레이션 및 예측
인사 부서에서는 회사 전체에서 증가하고 있는 보고의 필요성에 대처하기 위해 새 서버를 구축합니다. 앞으로 데이터는 인사 부서와 다른 부서에서 이 읽기 전용 중앙 보고 서버로 복제됩니다.
이 시나리오의 일반적인 요구 사항
데이터 웨어하우징 및 보고 응용 프로그램에는 일반적으로 올바른 복제 솔루션이 해결해야 하는 다음과 같은 요구 사항이 있습니다.
- 시스템에서는 트랜잭션 일관성을 유지해야 합니다.
- 시스템의 대기 시간이 짧아야 합니다. 즉, 온라인 처리 서버의 업데이트가 준비 및 보고 서버에 빠르게 도달해야 합니다.
- 시스템의 처리량이 높아야 합니다. 즉, 많은 수의 트랜잭션에 대한 복제를 처리해야 합니다.
- 복제 처리를 위해서는 온라인 처리 서버의 오버헤드가 최소로 유지되어야 합니다.
- 데이터 변경은 온라인 처리 서버에서 준비 및 보고 서버로 한 방향으로 이동합니다.
- 준비 및 보고 서버에 필요한 데이터는 온라인 처리 서버에서 사용할 수 있는 데이터의 하위 집합일 수 있습니다.
이 시나리오에 사용할 복제 유형
SQL Server에서는 복제 시스템의 구성 요소를 기술하는 데 게시 관련 산업의 메타포를 사용합니다. 구성 요소에는 게시자, 구독자, 게시 및 아티클과 구독이 포함됩니다.
위의 다이어그램에서 온라인 처리 서버는 게시자입니다. 온라인 처리 서버에 있는 데이터 일부나 전체는 두 게시(준비용과 보고용)에 포함되며 데이터의 각 테이블은 아티클입니다. 아티클은 저장 프로시저와 같은 다른 데이터베이스 개체일 수 있습니다. 준비 서버(staging server)와 보고 서버는 게시 중 하나에 대한 구독자이며 각 서버는 스키마와 데이터를 구독으로 수신합니다. 시스템 구성 요소에 대한 자세한 내용은 복제 게시 모델 개요를 참조하십시오.
SQL Server는 다양한 응용 프로그램 요구 사항을 위해 스냅숏 복제, 트랜잭션 복제 및 병합 복제와 같은 여러 복제 유형을 제공합니다. 이 시나리오는 이전 섹션에서 설명한 요구 사항을 해결하기에 가장 적합한 트랜잭션 복제를 통해 최적으로 구현됩니다. 트랜잭션 복제에 대한 자세한 내용은 트랜잭션 복제 개요 및 트랜잭션 복제 작동 방법을 참조하십시오.
기본적으로 트랜잭션 복제는 다음과 같은 이 시나리오의 주요 요구 사항을 처리합니다.
- 트랜잭션 일관성
- 짧은 대기 시간
- 높은 처리량
- 최소 오버헤드
이 시나리오에서 고려해야 할 기본 옵션은 필터링입니다. 트랜잭션 복제를 사용하면 준비 및 보고 서버의 테이블에 응용 프로그램에 필요한 데이터만 포함되도록 열 및 행을 필터링할 수 있습니다. 자세한 내용은 게시된 데이터 필터링을 참조하십시오.
이 시나리오 구현을 위한 단계
이 시나리오를 구현하려면 우선 게시와 구독을 생성한 다음 각 구독을 초기화해야 합니다. 각 단계에 대한 자세한 내용을 보려면 아래 링크를 클릭하십시오.
구독이 초기화되고 게시자와 구독자 간 데이터 흐름이 시작된 후 일반적인 관리 및 모니터링 작업에 대한 정보를 보려면 다음 항목을 참조하십시오.