백업 및 복구
PDW(병렬 데이터 웨어하우스)에서 데이터 백업 및 복원이 작동하는 방식을 설명합니다. 백업 및 복원 작업은 재해 복구에 사용됩니다. 백업 및 복원을 사용하여 데이터베이스를 한 어플라이언스 다른 어플라이언스 복사할 수도 있습니다.
백업 및 복원 기본 사항
PDW 데이터베이스 백업은 원래 데이터베이스를 어플라이언스 복원하는 데 사용할 수 있도록 형식으로 저장된 어플라이언스 데이터베이스의 복사본입니다.
PDW 데이터베이스 백업은 BACKUP DATABASE t-sql 문으로 만들어지고 RESTORE DATABASE 문과 함께 사용하도록 형식이 지정됩니다. 다른 용도로는 사용할 수 없습니다. 백업은 동일한 수 또는 더 많은 수의 컴퓨팅 노드가 있는 어플라이언스만 복원할 수 있습니다.
PDW는 SQL Server 백업 기술을 사용하여 어플라이언스 데이터베이스를 백업하고 복원합니다. SQL Server 백업 옵션은 백업 압축을 사용하도록 미리 구성됩니다. 압축, 체크섬, 블록 크기 및 버퍼 개수 등의 백업 옵션을 설정할 수 없습니다.
데이터베이스 백업은 사용자 고유의 고객 네트워크에 있는 하나 이상의 백업 서버에 저장됩니다. PDW는 컴퓨팅 노드에서 하나의 백업 서버로 사용자 데이터베이스 백업을 병렬로 작성하고 백업 서버에서 Compute 노드로 직접 사용자 데이터베이스 백업을 병렬로 복원합니다.
백업은 Windows 파일 시스템의 파일 집합으로 백업 서버에 저장됩니다. PDW 데이터베이스 백업은 PDW로만 복원할 수 있습니다. 그러나 표준 Windows 파일 백업 프로세스를 사용하여 백업 서버에서 다른 위치로 데이터베이스 백업을 보관할 수 있습니다. 백업 서버에 대한 자세한 내용은 백업 서버 획득 및 구성을 참조하세요.
데이터베이스 백업 유형
백업이 필요한 데이터 유형에는 사용자 데이터베이스와 시스템 데이터베이스(예: 마스터 데이터베이스)의 두 가지 유형이 있습니다. PDW는 트랜잭션 로그를 백업하지 않습니다.
전체 데이터베이스 백업은 전체 PDW 데이터베이스의 백업입니다. 기본 백업 유형입니다. 사용자 데이터베이스의 전체 백업에는 데이터베이스 사용자 및 데이터베이스 역할이 포함됩니다. 마스터 백업에는 로그인이 포함됩니다.
차등 백업에는 마지막 전체 백업 이후의 모든 변경 내용이 포함됩니다. 차등 백업은 일반적으로 전체 백업보다 시간이 적게 들며 더 자주 수행할 수 있습니다. 여러 차등 백업이 동일한 전체 백업을 기반으로 하는 경우 각 차등에는 이전 차등의 모든 변경 내용이 포함됩니다.
예를 들어 매주 전체 백업과 차등 백업을 매일 만들 수 있습니다. 사용자 데이터베이스를 복원하려면 전체 백업과 마지막 차등(있는 경우)을 복원해야 합니다.
차등 백업은 사용자 데이터베이스에 대해서만 지원됩니다. 마스터 백업은 항상 전체 백업입니다.
전체 어플라이언스 백업하려면 모든 사용자 데이터베이스의 백업과 master 데이터베이스의 백업을 수행해야 합니다.
데이터베이스 백업 프로세스
다음 다이어그램은 데이터베이스 백업 중의 데이터 흐름을 보여 주는 다이어그램입니다.
백업 프로세스는 다음과 같이 작동합니다.
사용자가 CONTROL 노드에 BACKUP DATABASE tsql 문을 제출합니다.
- 백업은 전체 또는 차등 백업입니다.
사용자 데이터베이스의 경우 제어 노드(MPP 엔진)는 병렬 데이터베이스 백업을 수행하는 분산 쿼리 계획을 만듭니다.
백업에 관련된 각 노드는 SQL Server 백업 기능을 사용하여 백업 파일을 백업 서버에 복사합니다.
관련된 각 노드는 백업 서버에 하나의 백업 파일을 복사합니다.
사용자 데이터베이스 백업(전체 또는 차등)에는 각 컴퓨팅 노드에 저장된 데이터베이스 부분의 백업과 데이터베이스 사용자 및 데이터베이스 역할의 백업이 포함됩니다.
어플라이언스 InfiniBand 네트워크를 사용하여 병렬로 백업을 수행합니다.
PDW는 각 전체 및 차등 백업을 병렬로 수행합니다. 그러나 여러 데이터베이스 백업은 동시에 실행되지 않습니다. 각 백업 요청은 이전에 제출된 백업이 완료될 때까지 기다려야 합니다.
마스터 데이터베이스의 백업은 Control 노드의 데이터만 백업합니다. 이 백업 유형은 직렬로 수행됩니다.
PDW 데이터베이스 백업은 어플라이언스 상주하는 디렉터리에 저장된 파일 그룹입니다. 디렉터리 이름은 네트워크 경로 및 디렉터리 이름으로 지정됩니다. 디렉터리가 로컬 경로일 수 없으며 어플라이언스 있을 수 없습니다.
백업이 완료되면 원하는 경우 Windows 파일 시스템을 사용하여 백업 디렉터리를 다른 위치에 복사할 수 있습니다.
백업은 컴퓨팅 노드 수가 같거나 더 많은 PDW 어플라이언스만 복원할 수 있습니다.
복원을 수행하기 전에 백업 이름을 변경할 수 없습니다. 백업 디렉터리의 이름은 백업의 원래 이름 이름과 일치해야 합니다. 백업의 원래 이름은 백업 디렉터리 내의 backup.xml 파일에 있습니다. 데이터베이스를 다른 이름으로 복원하려면 복원 명령에서 새 이름을 지정할 수 있습니다. 예:
RESTORE DATABASE MyDB1 FROM DISK = ꞌ\\10.192.10.10\backups\MyDB2ꞌ
데이터베이스 복원 모드
전체 데이터베이스 복원은 데이터베이스 백업의 데이터를 사용하여 PDW 데이터베이스를 다시 만듭니다. 데이터베이스 복원은 먼저 전체 백업을 복원한 다음 선택적으로 하나의 차등 백업을 복원하여 수행됩니다. 데이터베이스 복원에는 데이터베이스 사용자 및 데이터베이스 역할이 포함됩니다.
헤더만 복원하면 데이터베이스의 헤더 정보가 반환됩니다. 데이터를 어플라이언스 복원하지 않습니다.
어플라이언스 복원은 전체 어플라이언스 복원하는 것입니다. 여기에는 모든 사용자 데이터베이스 및 마스터 데이터베이스 복원이 포함됩니다.
복원 프로세스
다음 다이어그램은 데이터베이스를 복원하는 동안의 데이터 흐름을 보여줍니다.
컴퓨팅 노드 수가 동일한 어플라이언스로 복원**
데이터를 복원할 때 어플라이언스 원본 어플라이언스 컴퓨팅 노드 수와 대상 어플라이언스 검색합니다. 두 어플라이언스 동일한 수의 컴퓨팅 노드가 있는 경우 복원 프로세스는 다음과 같이 작동합니다.
복원할 데이터베이스 백업은 어플라이언스 아닌 백업 서버의 Windows 파일 공유에서 사용할 수 있습니다. 최상의 성능을 위해 이 서버는 어플라이언스 InfiniBand 네트워크에 연결됩니다.
사용자가 RESTORE DATABASE tsql 문을 Control 노드에 제출합니다.
- 복원은 전체 복원 또는 헤더 복원입니다. 전체 복원은 전체 백업을 복원한 다음 필요에 따라 차등 백업을 복원합니다.
제어 노드(MPP 엔진)는 병렬 데이터베이스 복원을 수행하기 위한 분산 쿼리 계획을 만듭니다.
분석 플랫폼 시스템(PDW)은 사용자 데이터베이스의 복원을 병렬로 수행합니다. 그러나 여러 데이터베이스 백업 및 복원은 동시에 실행되지 않습니다. MPP 엔진은 각 복원 문을 큐에 넣습니다. 이전에 제출된 백업 및 복원 요청이 완료될 때까지 기다려야 합니다.
마스터 데이터베이스의 복원은 컨트롤 노드에만 데이터를 복원합니다. 복원은 직렬로 수행됩니다.
헤더 정보의 복원은 빠른 작업이며 컴퓨팅 또는 제어 노드에 데이터를 복원하지 않습니다. 대신 Control 노드는 결과를 쿼리 출력으로 반환합니다.
백업 파일은 일반적으로 어플라이언스 InfiniBand 네트워크를 통해 올바른 컴퓨팅 노드에 병렬로 복사됩니다.
각 컴퓨팅 노드는 사용자 데이터베이스의 해당 부분을 복원합니다. 복원이 성공적으로 완료되지 않으면 모든 데이터베이스가 제거되고 복원이 실패합니다.
컴퓨팅 노드 수가 많은 어플라이언스로 복원
컴퓨팅 노드 수가 많은 어플라이언스로 백업을 복원하면 컴퓨팅 노드 수에 비례하여 할당된 데이터베이스 크기가 커집니다.
예를 들어 2노드 어플라이언스(노드당 30GB)에서 6노드 어플라이언스 60GB 데이터베이스를 복원하는 경우 SQL Server PDW는 6노드 어플라이언스 180GB 데이터베이스(노드당 30GB의 노드 6개)를 만듭니다. SQL Server PDW는 처음에 원본 구성과 일치하도록 데이터베이스를 2개 노드로 복원한 다음 데이터를 6개 노드 모두에 재배포합니다.
재배포 후 각 Compute 노드는 더 작은 원본 어플라이언스 각 Compute 노드보다 실제 데이터가 적고 여유 공간이 더 많이 포함됩니다. 데이터베이스에 더 많은 데이터를 추가하려면 추가 공간을 사용합니다. 복원된 데이터베이스 크기가 필요한 것보다 큰 경우 ALTER DATABASE를 사용하여 데이터베이스 파일 크기를 축소할 수 있습니다.
관련 작업
백업 및 복원 태스크 | 설명 |
---|---|
서버를 백업 서버로 준비합니다. | 백업 서버 획득 및 구성 |
데이터베이스를 백업합니다. | BACKUP DATABASE |
데이터베이스 복원을 참조하세요. | RESTORE DATABASE |