여러 사이트(서버)의 데이터 통합
많은 회사들은 중앙 위치로 보내야 하는 데이터를 수집 및 처리하는 지사 또는 사업체를 보유하고 있습니다. 예를 들면 다음과 같습니다.
- 지역 창고에 있는 많은 서버에서 재고 데이터를 회사 본사의 중앙 서버로 "롤업"하거나 통합할 수 있습니다.
- 회사 내 자율 영업 부서의 정보는 중앙 서버로 전송될 수 있습니다.
- 여러 위치의 주문 처리 정보를 통합할 수 있습니다.
중앙 사이트에서 원격 사이트로 데이터를 전송하는 경우도 있습니다. 이 데이터는 일반적으로 중앙 사이트에서만 업데이트되는 제품 재고표와 같이 원격 사이트에서는 읽기 전용 데이터로만 사용됩니다.
다음 그림에서는 데이터가 원격 사이트에서 롤업되는 일반 시나리오를 보여 줍니다. 이 시나리오에서는 읽기 전용 데이터도 각 원격 사이트로 전송됩니다.
Adventure Works Cycles 예
Adventure Works Cycles는 데이터베이스 개념 및 시나리오를 설명하는 데 사용되는 가상 제조 회사입니다. 자세한 내용은 예제 및 예제 데이터베이스를 참조하십시오.
Adventure Works Cycles 에는 미국 전역에 많은 영업 지사를 두고 있습니다. 이들 지사에서는 다음 두 가지 방식으로 복제를 사용합니다.
- 주문 이행 및 보고용으로 주문 정보를 제공합니다. 데이터는 각 영업소에서 수집되고 처리된 다음 본사로 복제됩니다.
- 이동이 잦은 영업 직원에게 데이터 및 주문 작성 기능을 제공합니다. 이 시나리오는 모바일 사용자와 데이터 교환 항목에 설명되어 있습니다.
이 시나리오의 일반적인 요구 사항
일반적으로 지사의 응용 프로그램은 적절한 복제 솔루션 구현을 위해 다음 요구 사항을 충족해야 합니다.
- 시스템에서는 트랜잭션 일관성을 유지해야 합니다.
- 시스템의 대기 시간이 짧아야 합니다. 원격 사이트에서 중앙 사이트로 업데이트가 신속하게 전달되어야 합니다.
- 시스템의 처리량이 많아야 합니다. 즉, 많은 수의 트랜잭션에 대한 복제를 처리해야 합니다.
- 복제 처리를 위해 원격 사이트에 대한 오버헤드가 최소 수준을 유지해야 합니다.
- 데이터 변경 내용은 양방향으로 전달될 수 있습니다. 원격 사이트에서 중앙 사이트로 데이터가 통합될 뿐만 아니라 읽기 전용 데이터가 원격 사이트로 전송됩니다.
- 각 원격 사이트에서 사용할 수 있는 데이터의 일부분이 중앙 사이트에 필요할 수 있습니다.
이 시나리오에 사용할 복제 유형
Microsoft SQL Server 에서는 복제 시스템의 구성 요소를 기술하는 데 게시 관련 산업의 메타포를 사용합니다. 구성 요소에는 게시자, 구독자, 게시 및 아티클과 구독이 포함됩니다.
- 위의 다이어그램에서 각 원격 사이트는 게시자입니다. 원격 사이트의 데이터 일부 또는 전체는 게시에 포함되며 데이터의 각 테이블은 아티클입니다. 아티클은 저장 프로시저와 같은 다른 데이터베이스 개체일 수도 있습니다. 중앙 사이트는 이러한 게시에 대한 구독자이며 스키마 및 데이터를 구독으로 받습니다.
- 또한 중앙 사이트는 원격 사이트로 전송되는 데이터의 게시자 역할을 합니다. 각 원격 사이트는 중앙 사이트의 게시에 구독합니다.
시스템 구성 요소에 대한 자세한 내용은 복제 게시 모델 개요를 참조하십시오.
SQL Server 는 다양한 응용 프로그램 요구 사항을 위해 스냅숏 복제, 트랜잭션 복제 및 병합 복제와 같은 여러 복제 유형을 제공합니다. 이 시나리오는 이전 섹션에서 설명한 요구 사항을 해결하기에 가장 적합한 트랜잭션 복제를 통해 최적으로 구현됩니다. 트랜잭션 복제에 대한 자세한 내용은 트랜잭션 복제 개요 및 트랜잭션 복제 작동 방법을 참조하십시오.
기본적으로 트랜잭션 복제는 다음과 같은 이 시나리오의 주요 요구 사항을 처리합니다.
- 트랜잭션 일관성
- 짧은 대기 시간
- 높은 처리량
- 최소 오버헤드
[!참고] 병합 복제를 사용하여 유사한 시나리오를 구현할 수 있습니다. 각 원격 사이트에 고유한 데이터 집합을 제공하는 충돌 해결 또는 필터가 응용 프로그램에 필요한 경우에는 병합 복제를 사용합니다. 자세한 내용은 여러 사이트(클라이언트)의 데이터 통합을 참조하십시오.
이 시나리오 구현을 위한 단계
이 시나리오를 구현하려면 우선 게시와 구독을 생성한 다음 각 구독을 초기화해야 합니다. 각 단계에 대한 자세한 내용을 보려면 아래 링크를 클릭하십시오.
구독이 초기화되고 게시자와 구독자 간 데이터 흐름이 시작된 후 일반적인 관리 및 모니터링 작업에 대한 정보를 보려면 다음 항목을 참조하십시오.