다음을 통해 공유


데이터베이스 확장

BizTalk Server 데이터베이스에 고가용성을 제공하려면 Windows 클러스터에서 SQL Server 실행하는 두 컴퓨터를 구성합니다. 이러한 컴퓨터는 중복성을 제공하기 위해 능동/능동 또는 능동/수동 구성으로 실행될 수 있으며 공유 드라이브(예: RAID 1+0 SCSI 디스크 어레이)나 SAN(저장 영역 네트워크)에 데이터를 저장할 수 있습니다.

여타의 이유로 SQL Server 서비스를 사용할 수 없게 되면 데이터베이스 클러스터는 능동 컴퓨터에서 수동 컴퓨터로 리소스를 전송합니다. 이러한 장애 조치(Failover) 프로세스 중에는 BizTalk Server 서비스 인스턴스에서 데이터베이스에 연결할 수 없으므로 자동으로 다시 시작되어 데이터베이스에 다시 연결됩니다. 그러면 장애 조치 동안 리소스를 넘겨 받은 작동 데이터베이스(이전의 수동 컴퓨터) 컴퓨터에서 데이터베이스 연결 처리를 시작합니다.

여러 MessageBox 데이터베이스 실행

BizTalk Server 데이터베이스의 확장성을 향상시키기 위해 여러 MessageBox 데이터베이스에 데이터를 저장하도록 BizTalk Server 구성할 수 있습니다. 구성 마법사를 실행할 때 첫 번째 MessageBox 데이터베이스를 만듭니다. 이 MessageBox 데이터베이스가 마스터 MessageBox 데이터베이스입니다. BizTalk Server 배포에서 마스터 MessageBox 데이터베이스는 하나뿐입니다. 마스터 MessageBox 데이터베이스에는 마스터 등록 정보가 포함되어 있으며 메시지를 해당 MessageBox 데이터베이스로 라우팅하는 역할을 합니다. 일반적으로 master MessageBox를 사용하여 라우팅만 수행하고(새 메시지 게시 사용 안 함 선택) 다른 MessageBox 데이터베이스에서 처리를 수행하도록 하려고 합니다.

master MessageBox 데이터베이스가 새 활성화 메시지(비즈니스 프로세스의 새로운 instance 또는 구독 메시지)를 받으면 master MessageBox 데이터베이스는 활성화 메시지를 사용 가능한 다음 MessageBox 데이터베이스에 배포합니다. 예를 들어 마스터 MessageBox 데이터베이스 하나와 일반 MessageBox 데이터베이스 두 개가 있는 경우, 마스터 MessageBox 데이터베이스는 라운드 로빈 패턴에 따라 첫 번째 활성화 메시지는 MessageBox 데이터베이스 1로, 두 번째 활성화 메시지는 MessageBox 데이터베이스 2로, 세 번째 활성화 메시지는 다시 MessageBox 데이터베이스 1로 라우팅합니다. 마스터 MessageBox 데이터베이스는 기본 제공 논리를 사용하여 로드 균형을 조정하며 추가적인 로드 균형 조정 메커니즘을 필요로 하지 않습니다.

마스터 MessageBox 데이터베이스가 활성화 메시지를 특정 MessageBox 데이터베이스(예: MessageBox 데이터베이스 1)로 라우팅하면 비즈니스 프로세스가 메모리에 로드되어 실행됩니다. 비즈니스 프로세스가 메시지를 기다려야 하고 대기 시간이 몇 초보다 길면 비즈니스 프로세스가 MessageBox 데이터베이스 1로 다시 유지됩니다. 비즈니스 프로세스에서 상관 관계 메시지를 기다리고 있습니다. 상관 관계 메시지는 마스터 MessageBox 데이터베이스에 도착한 후 이 마스터 데이터베이스에서 상관 관계 메시지의 상태가 들어 있는 MessageBox 데이터베이스(예: MessageBox 1)를 조회합니다. 그런 다음 마스터 MessageBox 데이터베이스는 이 메시지를 비즈니스 프로세스가 들어 있는 MessageBox 데이터베이스로 전달합니다. 비즈니스 프로세스는 메모리로 다시 로드된 후 완료될 때까지 또는 다른 상관 관계 메시지를 기다려야 할 때까지 계속 처리됩니다.

BizTalk Server는 모든 상태를 MessageBox 데이터베이스에 저장하며 각 MessageBox 데이터베이스에는 여러 비즈니스 프로세스에 대한 상태 정보가 포함됩니다. 안정성을 위해 마스터 및 보조 MessageBox 데이터베이스를 비롯한 모든 MessageBox 데이터베이스를 클러스터링해야 합니다.

여러 MessageBox 데이터베이스를 구성하려면 BizTalk 관리 콘솔을 사용하여 SQL Server를 실행하는 컴퓨터를 추가합니다. 관리 측면에서는 새 MessageBox 데이터베이스만 추가하면 됩니다. BizTalk Server는 활성화 메시지의 라운드 로빈 배포를 자동으로 처리하며 상관 관계 메시지를 해당 MessageBox 데이터베이스로 송신합니다.

작업 환경에서 여러 MessageBox 데이터베이스를 구성할 경우에는 BizTalk Server 그룹에 대해 MessageBox 데이터베이스를 3개 이상 만들고 마스터 MessageBox 데이터베이스에 대해 메시지 게시를 비활성화해야 합니다. MessageBox 데이터베이스를 추가하면 데이터베이스 간에 메시지를 라우팅하기 위해 마스터 MessageBox 데이터베이스에서 오버헤드가 발생하기 때문입니다. MessageBox 데이터베이스를 두 개만 구성하면 추가 MessageBox 데이터베이스로 인해 얻어지는 이점과 메시지 라우팅을 위해 마스터 MessageBox가 소비하는 오버헤드가 상쇄됩니다.

여러 MessageBox 데이터베이스의 가용성 향상

BizTalk Server 배포에 MessageBox 데이터베이스를 추가하면 확장성이 향상되지만 각 MessageBox 데이터베이스는 고유하고 독립적이며 잠재적으로 BizTalk Server 환경에 대한 단일 실패 지점이므로 고가용성을 제공하지 않습니다. 각 MessageBox 데이터베이스에 대해 서버 클러스터를 구성하면 중복성이 제공됩니다. BizTalk Server는 여러 MessageBox 데이터베이스에 데이터를 분산하므로 서버 클러스터링이 구현되지 않으면 데이터베이스에서 데이터를 공유하지 않으며 중복성을 제공하지 못합니다.

BizTalk 추적 데이터베이스의 가용성 향상

특정 배포 요구 사항에 따라 BizTalk 추적 데이터베이스를 별도의 SQL Server 컴퓨터에 분리하고 호스트 추적을 전담하는 BizTalk 호스트를 따로 만들어 추적 성능을 향상시킬 수 있습니다. 배포의 처리량이 많고 이러한 메시지에 대한 데이터 추적량이 많아지면 추적 오버헤드로 인해 SQL Server 실행 컴퓨터에서 많은 양의 리소스가 소비될 수 있습니다. 이 상황이 발생하고 들어오는 메시지의 비율이 높은 경우 메시지를 추적하는 데 필요한 리소스가 다른 BizTalk Server BizTalk Server 구성 요소(예: 메시지 수신 및 MessageBox 데이터베이스에 유지)를 실행하는 데 필요한 리소스보다 크므로 새 메시지를 처리할 수 없는 지점에 도달합니다.

성능 및 보안을 향상시키려면 다른 항목(수신 위치, 오케스트레이션 또는 파이프라인)을 포함하지 않는 호스트에 추적 업무를 전담시키고 수신, 처리 및 송신 호스트의 추적을 비활성화하는 것이 좋습니다. 고가용성 추적 호스트를 제공하려면 추적 호스트의 호스트 인스턴스를 두 개 이상 만드십시오.

각 MessageBox 데이터베이스에 대해 BizTalk Server 하나의 추적 호스트 instance 사용하여 MessageBox 데이터베이스에서 BizTalk 추적 데이터베이스(BizTalkDTADb)로 메시지를 이동합니다. 다른 컴퓨터에서 추적 호스트 인스턴스가 추가로 실행되면 BizTalk Server는 자동으로 각 MessageBox 데이터베이스의 처리를 별도의 추적 호스트 인스턴스로 확장합니다. MessageBox 데이터베이스의 수가 추적 호스트 인스턴스의 수보다 많으면 하나 이상의 추적 호스트 인스턴스가 둘 이상의 MessageBox 데이터베이스 작업을 처리합니다.

고가용성 BizTalk 추적 데이터베이스를 제공하려면 Windows 클러스터링을 사용하여 SQL Server를 실행하는 두 대의 데이터베이스 컴퓨터를 능동/수동 구성으로 구성합니다.

고가용성 BAM 데이터베이스 제공

BAM(비즈니스 활동 모니터링)을 사용하면 IT 구현과는 별도로 또는 IT 구현 유형에 관계없이 비즈니스 프로세스를 파악할 수 있습니다. BAM SQL Server 데이터베이스(BAM 별모양 스키마 데이터베이스, BAM 기본 가져오기 데이터베이스 및 BAM 보관 데이터베이스)와 BAM 분석 데이터베이스는 작동 모니터링 데이터와는 다른 비즈니스 활동 데이터를 저장합니다. BAM 인프라의 가용성을 높이려면 다음을 수행하십시오.

  • BAM 기본 가져오기 데이터베이스 및 BAM 분석 데이터베이스를 클러스터링합니다. BAM 기본 가져오기 데이터베이스는 비즈니스 활동 모니터링 시스템의 핵심입니다. 따라서 Windows 클러스터링을 사용하여 이 데이터베이스의 가용성을 높이고 다음 두 가지 권장 사항에 따라 이 데이터베이스가 가득 차지 않도록 주의하는 것이 중요합니다. BAM 분석 데이터베이스는 비즈니스 분석가가 활동 집계 및 OLAP 큐브를 작성하는 데 사용하는 데이터가 보관된 Analysis Services 데이터베이스이므로 이 데이터베이스의 작동이 중단되면 생산성이 저하됩니다. BAM 보관 데이터베이스를 반드시 클러스터링할 필요는 없지만 DTS(데이터 변환 서비스) 패키지가 실행될 때 이벤트 로그에서 오류를 모니터링하여 데이터가 성공적으로 전송되었는지 확인하고 데이터베이스 크기를 모니터링하여 데이터베이스가 가득 차기 전에 교체하는 것이 좋습니다.

  • 온라인 윈도를 정의합니다. 성능을 높이고 작동 중단을 피하기 위해 BAM은 활동이 완료된 시점의 타임스탬프를 기반으로 BAM 기본 가져오기 데이터베이스의 데이터를 테이블로 분할합니다. BAM은 완료된 테이블을 동일한 형식의 다른 빈 테이블과 정기적으로 교체하여 이 작업을 수행합니다. 이 작업이 수행되고 나면 이후 완료된 활동이 새 파티션(테이블)으로 이동되며 BAM은 온라인 윈도에 정의된 시간 동안 이전 파티션을 유지합니다. BAM 기본 가져오기 데이터베이스의 파티션 수가 너무 많이 늘어나지 않도록 하기 위해 온라인 윈도를 정의해야 합니다. 온라인 창 예약에 대한 자세한 내용은 BizTalk Server 도움말의 "기본 가져오기 데이터베이스 데이터 보관"을 참조하세요.

  • DTS 패키지가 주기적으로 실행되도록 예약합니다. 온라인 윈도를 정의하면 BAM 기본 가져오기 데이터베이스가 이전 활동 파티션으로 가득 차는 것을 막을 수 있습니다. 또한 DTA 패키지가 주기적으로 실행되도록 예약하여 활동 데이터에 대한 새 파티션을 만들고 BAM 기본 가져오기 데이터베이스의 이전 파티션에 있는 데이터를 BAM 보관 데이터베이스로 이동해야 합니다. DTS 패키지 예약에 대한 자세한 내용은 BizTalk Server 도움말에서 "DTS 패키지 예약"을 참조하세요.

  • 활동 정의 시 작은 데이터 항목 집합(검사점)을 선택할 때는 불필요한 데이터 항목이 포함되지 않도록 주의해야 합니다.

  • 집계를 디자인할 때는 예약 집계와 실시간 집계 간의 장단점을 이해해야 합니다. 실시간 집계는 SQL Server 트리거에 의해 자동으로 유지 관리되며 대기 시간은 0입니다. 이 집계 방식은 대기 시간이 짧은 일부 중요 시나리오에는 이상적이지만 BAM 기본 가져오기 데이터베이스에 이벤트가 기록될 때마다 성능이 저하됩니다. 예약 집계는 예약된 큐브 DTS 패키지에 의존하여 집계 데이터를 업데이트합니다. 이 집계의 대기 시간은 DTS 예약 간격보다 크거나 같지만 전반적으로 BAM 기본 가져오기 데이터베이스의 성능은 크게 저하되지 않습니다.

  • 예약 집계를 선택한 경우에는 큐브 DTS가 보관 DTS보다 더 자주 실행되도록 예약해야 합니다. 보관 DTS는 예약 집계를 위해 처리된 활동 데이터를 BAM 보관 데이터베이스로 이동하지 않기 때문입니다.

  • 여러 컴퓨터에서 BAM 이벤트 버스 서비스를 활성화하면 장애 조치 기능을 얻을 수 있습니다.

기타 BizTalk Server 데이터베이스의 가용성 향상

다른 BizTalk Server 데이터베이스에 고가용성을 제공하려면 Windows 클러스터에서 SQL Server 실행하는 두 컴퓨터를 구성합니다. 이러한 컴퓨터는 중복성을 제공하기 위해 능동/능동 또는 능동/수동 구성으로 실행될 수 있으며 공유 드라이브(예: RAID 1+0 SCSI 디스크 어레이)나 SAN(저장 영역 네트워크)에 데이터를 저장할 수 있습니다.

참고 항목

고가용성 BizTalk 호스트 제공
BizTalk Server 데이터베이스의 가용성 향상
샘플 BizTalk Server 고가용성 시나리오