DBMS 2

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

데이터베이스 미러링 및 고가용성 기술

DBMS 2
MS-SQL 가이드
MS-SQL 2005 미러링 가이드
데이터베이스 미러링 및 고가용성 기술
작성자
admin
작성일
2021-02-18 14:34
조회
1051

데이터베이스 미러링 및 고가용성 기술

SQL Server 2005는 이제 최소한 4개의 고가용성 기술이 있고 일부 중복되기는 하지만 각 기술마다 상대적인 장점과 단점이 있습니다. 이러한 기술은 다음과 같습니다.


  • 데이터베이스 미러링 - 설명을 위해 안전성이 FULL이고 감시 서버가 있는 고가용성 작동 모드를 고려할 것입니다.
  • 장애 조치 클러스터링 - 가장 일반적인 구성은 SQL Server 인스턴스가 하나인 두 노드의 Windows 장애 조치 클러스터입니다.
  • 로그 전달 - 별도의 모니터링이 있는 SQL Server 기본 제공 로그 전달을 가정합니다.
  • 트랜잭션 복제 - 게시 서버가 실패하는 경우 대기 서버의 역할을 하는 별도의 배포 서버와 하나의 가입자가 있는 구성을 고려 하십시오.

이 절에서는 이러한 네 가지 기술의 기본 기능을 비교하고 데이터베이스 미러링이 더 나은 솔루션을 보완하거나 입증할 수 있는 영역을 자세히 살펴 보겠습니다.
다음 표는 네 가지 기술의 여러 가지 가용성 기능을 보여줍니다.

표 14. SQL Server 2005 고가용성 기술 비교



카테고리 가용성 특징 데이터베이스
미러링(HA 모드)
장애 조치
클리스터링
로그 전달 트랜잭션
복제장애 조치
장애 조치 특성 대기 유형 Hot Hot Warm Hot
자동 역할 변경 예. 예. 사용자 정의
코딩 필요
사용자 정의
코딩 필요
장애 조치가 커밋
된 작업을 보존
예. 예. 아니오. 아니오.
장애 조치 유형 자동 및 수동 자동 및 수동 변수 변수
장애 조치 동안 10초 미만 30초 +
데이터베이스 데이터베이스
복구
다운 시간
Physical 구성 중복 저장 위치 예. 아니요
(공유 디스크)
예. 예.
하드웨어
요구 사항
표준 서버 클러스터
인증 서버
및 저장
표준 서버 표준 서버
실제 거리 제한 없음 100 마일 없음 없음
추가 서버 역할 Witness 없음 모니터 Distributor
관리 복잡도 낮음 높음 낮음 중간
대기 서버
액세스 가능
데이터베이스 스냅
샷을 통해; 가능한
성능 영향
아니오. R/O, 복원과
호환되지 않음
읽기 전용
작업의 경우 예
여러 보조 아니오. 아니오. 예. 예.
보조에서 로드
지연
아니오. 아니오. 예. 아니오.
가용성 범위 Database 서버
인스턴스
Database Database
클라이언트
액세스
클라이언트
리디렉션
ADO.NET 및 SQL
Native Client에서
지원
필요 없음,가상 IP 사용자 정의
코딩 필요
사용자 정의
코딩 필요

위의 표는 네 가지 가용성 기술의 여러 가지 특성을 요약한 것입니다. 다음 절에서는 몇 가지 자세한 비교를 제공합니다.


데이터베이스 미러링 및 클러스터링

데이터베이스 미러링과 장애 조치 클러스터링 사이의 가장 중요한 차이는 각각이 제공하는 중복의 수준입니다. 데이터베이스 미러링은 데이터베이스 수준의 보호를 제공하는 반면, 클러스터링은 서버 인스턴스 수준의 보호를 제공합니다. 다른 중요한 차이점은 데이터베이스 미러링에서 주 서버와 미러 서버가 서로 다른 이름을 가진 별개의 SQL Server 인스턴스인 반면, 클러 스터의 SQL Server 인스턴스는 클러스터의 어떤 노드가 인스턴스를 호스팅하는지에 관계 없이 동일하게 유지되는 하나의 가상 서버 이름과 IP 주소를 얻는다는 것입니다.

서버 수준에서 데이터베이스를 보호해야 하는 경우(예를 들어, 응용 프로그램이 같은 데이터베이스 서버에서 동시에 많은 데 이터베이스에 액세스해야 하는 경우), 장애 조치 클러스터링이 더 적절한 선택일 수 있습니다. 그러나 한 번에 한 데이터베이스 에 대한 가용성을 제공하도록 연결된 경우 데이터베이스 미러링은 여러 가지 장점을 갖고 있습니다.

클러스터링과 달리 데이터베이스 미러링은 전용 하드웨어가 필요하지 않으며 공유 저장 공간이 있는 잠재적인 오류 지점이 없습니다. 데이터베이스 미러링은 다른 고가용성 기술보다 훨씬 빨리 대기 데이터베이스를 서비스로 가져오며 클라이언트쪽 장애 조치의 경우 ADO.NET 및 SQL Native Access Client의 새로운 기능에서 잘 작동합니다.

클러스터 내에서 데이터베이스 미러링을 사용할 수 없지만 클러스터 인스턴스 데이터베이스의 hot 대기 서버를 만드는 방법으 로 데이터베이스 미러링 사용을 고려할 수 있습니다. 이렇게 하면 클러스터 장애 조치가 데이터베이스 미러링의 시간 초과 값 보다 길기 때문가 발생할 때 클러스터 장애 조치에 반응합니다. 클러스터 노드 가 미러링 상태가 됩니다.


데이터베이스 미러링 및 트랜잭션 복제

데이터베이스 미러링 및 트랜잭션 복제는 모두 원본 서버의 트랜잭션 로그 읽기를 기준으로 하지만 기술은 상당히 다릅니다. 트랜잭션 복제에 대한 자세한 내용은 SQL Server 온라인 설명서의 관련 항목을 참조하십시오. 트랜잭션 복제는 게시자 데이터 베이스의 사용자 트랜잭션을 몇 초 만에 가입자에 전달할 수 있기 때문에 고가용성에 주로 사용됩니다. 데이터베이스 미러링 은 복제만큼 또는 복제보다 더 빠르다는 장점이 있지만 사용자 테이블과 관련된 트랜잭션만이 아니라 모든 데이터베이스의 트랜잭션을 전달합니다.

트랜잭션 복제는 보고를 위해 여러 게시자에게 데이터를 확장하는 적절한 기술입니다. 트랜잭션 복제 가입자 데이터베이스는 일반적으로 읽기 전용으로 간주되므로 거의??.

데이터베이스 미러링은 트랜잭션 복제와 호환되며 게시자 데이터베이스의 hot 대기를 유지하는 방법으로 가장 유용합니다.

로그 전달 같은 복제 게시자를 보호하는 다른 방법은 게시자 자체 가입자에 앞서 게시자를 위해 대기 서버를 유지할 수 없습니다. 즉, 트랜잭션 복제는 트랜잭션 로그 백업 스키마보다 훨씬 빠르게 가입자에게 트랜잭션을 전달할 수 있습니다. 데이터베이스 모니터링이 아주 빠르므로 게시자 데이터베이스의 hot 대기를 유지하는 데 훨씬 적합합니다.

그러나 게시자가 실패하는 경우 복구된 대기 데이터베이스를 게시자로 수동으로 다시 설정하고 배포 서버에 다시 연결해야 합니다. 따라서 게시자 서버를 대기 서버로 유지하기 위해 로그 전달을 사용하는 경우 현재 수행해야 합니다.


데이터베이스 미러링 및 로그 전달

데이터베이스 미러링 및 로그 전달은 SQL Server 데이터베이스의 복원과 복구 기능에 의존합니다. 데이터베이스 미러링 미러 데이터베이스는 계속 복구 중 상태에 있으며, 주 서버에서 트랜잭션을 계속해서 재생합니다. 로그 전달 보조 서버는 트랜잭션 로그 백업에서 주기적으로 적용된 트랜잭션을 재생합니다. 대량 로그 데이터가 트랜잭션 로그 백업에 추가하기 때문에 로그 전 달은 대량 로그 복구 모델에서 작동할 수 있습니다. 반면에 데이터베이스 미러링은 주 서버에서 미러 서버로 로그 레코드를 직 접 전송하며 대량 로그 데이터를 전달할 수 없습니다.

많은 경우 데이터베이스 미러링은 고가용? 데이터 중복을 제공할 수 있습니다. 그러나 응용 프로그램이 한 서버의 여러 데이터베이스에 의존하는 경우 로그 전달은 동일하게 유효한 방법일 수 있습니다. 앞 절의“다중 데이터베이스 고려 사항”을 참조하십시오.

또한 로그 전달이 가용성을 보충할 수 있는 데이터베이스 미러링 시나리오가 있습니다. 예를 들어, 고가용성 데이터베이스 미 러링 구성을 가질 수 있으며 재해 복구 목적을 위해 주 서버를 원격 사이트에 로그 전달할 수 있? 방법을 보여줍니다.

여기의 장점은 전체 사이트의 손실이 발생하는 경우 보조 사이트에서 데이터를 사용할 수 있습니다. 그러나 데이터베이스 미러링 장애 조치의 경우 서버 B에서 원격 대기 서버로의 로그 전달은 일반적으로 다시 초기화해야 합니다.

데이터베이스 미러링을 보완하기 위해 로그 전달을 사용하는 또 다른 시나리오는 데이터베이스 미러링 세션이 재해 복구에 사용되는 주 서버에 대한 로컬 대기 서버로 사용되는 것입니다. 이 경우 미러링 세션은 원격 사이트의 미러 서버가 원격 대기 서버인 고성능 모드에 있습니다.

고성능 모드에서 주 서버가 실패하고 미러 서버가 강제 서비스 복구를 사용하여 복구된 경우 데이터 손실 가능성이 있습니다.
이 전 주 서버를 로그 전달하고 이전 주 서버의 트랜잭션 로그 파일이 손상되지 않은 경우 주 서버의‘tail of the log’백업을 만들어 트랜잭션 로그에서 로그 레코드의 마지막 세트를 얻을 수 있습니다. 대기 로그 전달 데이터베이스에 다른 모든 트랜잭션 로그 백업이 적용된 경우 대기 서버에 로그 백업의 끝을 적용할 수 있으며 이전 주 서버의 데이터가 손실되지 않습니다.>그런 다음??사할 수??베이스 미러링 비교는 주 데이터베이스의 데이터베이스와 트랜잭션 로그 백업을 유지하는데 중요하다는 것은 명백합니다. 이러한 로그 백업을 로그 전달 서버에 적용하면 데이터베이스 미러링 구성을 보완할 수 있습니다.


결론

데이터베이스 미러링은 데이터베이스 중복을 위한 고가용성과 고성능 솔루션을 전달할 수 있는 새로운 SQL Server 2005 기술입니다. 데이터베이스 미러링에서 주 서버의 트랜잭션 로그 버퍼가 디스크에 기록될 때마다 트랜잭션 로그 레코드는 주 서버에서 미러 데이터베이스로 직접 전송됩니다. 이 기술은 주 서버와 거의 최신 상태로 미러 데이터베이스를 유지할 수 있으며 커밋된 데이터는 손실되지 않습니다. 고가용성 작동 모드에서는 주 서버가 실패하는 경우 미러 서버는 자동으로 새로 운 주 서버가 되고 데이터베이스를 복구합니다. 새로운 ADO.NET 또는 SQL Native Access Client 드라이버를 사용하여 응용 프로그램은 클라이언트 서버에서도 자동 장애 조치를 수행할 수 있습니다. 데이터베이스 미러링은 SQL Server 2005에서 지원하는 고가용성 기술에서 중요한 새 옵션이 되고 있습니다.