우리 팀 중 하나는 다소 큰(~500GB) 데이터베이스를 개발하고 있으며 거기서부터 확장됩니다(500Gig가 많은 분들에게 작게 보일 수 있지만 우리 매장에서 가장 큰 데이터베이스 중 하나가 될 것입니다). 그들이 씨름하고 있는 문제 중 하나는 데이터베이스를 백업하고 복원하는 것입니다. 기본적으로 데이터베이스에는 여러 개의 "데이터" 테이블과 이미지/문서 저장에 사용되는 하나의 테이블이 있습니다. 우리는 다음을 달성해야 합니다.
- 디버깅 및 테스트 목적으로 데이터 테이블(이미지 제외)만 테스트 서버에 신속하게 백업하고 복원할 수 있습니다.
- 치명적인 데이터베이스 오류가 발생하는 경우 대부분의 애플리케이션을 최대한 빨리 가동하고 실행하기 위해서만 데이터 테이블을 복원하십시오. 그런 다음 가능하면 이미지 테이블을 복원하십시오.
- 할당된 야간 시간(몇 시간) 내에 데이터베이스를 백업하십시오. 내 질문은 다음과 같습니다
이미지를 동일한 데이터베이스에 저장하면서 처음 두 가지 목표를 달성하는 것이 가능합니까? 그렇다면 파일 그룹, 파일 스트림 또는 다른 것을 사용하시겠습니까? 다른 상점에서는 고가용성을 유지하면서 합리적인 시간 내에 데이터베이스를 어떻게 백업합니까? 두 번째 서버에 복제하고 거기에서 백업합니까?
답변1
아주 간단합니다. 복원할 계획을 세우지 마세요.
치명적인 데이터베이스 오류가 발생하는 경우 대부분의 애플리케이션을 최대한 빨리 가동하고 실행하기 위해서만 데이터 테이블을 복원하십시오.
정말? 재앙에 대한 당신의 정의는 나와 다른 세계의 정의가 아닙니다.
데이터 위축이 발생한 경우 최대한 빨리 복구하고 싶지만 화재로 인해 최대한 빨리 데이터 센터를 재구축해야 할 수도 있습니다. 이것은 재앙입니다.
서버 장애 등의 경우 - 백업을 사용할 계획이 없습니다. 복제, 로그 파일 전달을 사용하여 두 번째 서버(별도의 SAN에 있음)를 핫 상태로 유지하고 정의된 짧은 시간 프레임 내에서 읽기를 수행합니다. 나는 10분마다 로그 파일을 배송하는 회사를 알고 있습니다.
거의 유일한 기회입니다. 재앙을 습격/산 실패가 아닌 실제 재앙으로 옮기십시오. 귀하의 질문은 "얼마나 빨리 복원할 수 있는가"가 아니라 "얼마나 빨리 새 하드웨어를 얻을 수 있는가"입니다.
개발 등을 위한 복원은 시간이 덜 중요합니다.