저는 2억 2천 5백만 개가 넘는 레코드가 포함된 매우 큰 데이터베이스(250기가 이상)를 작업하고 있습니다. 데이터베이스는 그 크기 때문에 작업하기가 어렵습니다. 이 데이터베이스는 읽기 전용입니다.
우리는 더 빠른 하드웨어를 찾고 있지만 어느 쪽이든 데이터베이스 작업에 가장 효율적인 방법을 찾으려고 노력하고 있습니다. 이 데이터베이스는 마스터 데이터베이스에서 매일 밤 업데이트되어야 하며 가동 중지 시간을 최소한으로 유지해야 합니다. 마스터 데이터베이스는 제3자에 의해 유지 관리됩니다.
데이터베이스를 업데이트하는 가장 좋은 방법을 찾으려고 노력하고 있지만 운이 좋지 않습니다. 차등 백업과 트랜잭션 로그 백업을 살펴봤는데 적용하려면 먼저 전체 백업을 복원해야 합니다. 제 경우에는 차등 백업의 목적을 완전히 무너뜨립니다. 마스터 데이터베이스에서 전체 백업을 수행한 다음 밤에 전체 백업을 복원하는 것이 전체 백업을 복원하고 매번 차등 백업을 적용하는 것보다 빠르기 때문입니다. 밤.
저는 전체 백업을 한 번(또는 한 달에 한 번) 수행한 다음 그 이후에는 서로를 기반으로 하는 원래 전체 백업을 기반으로 몇 가지 유형의 증분 백업을 적용할 수 있는 솔루션을 원했습니다. 첫 번째 전체 백업이 완료되면 밤마다 증분 백업만 적용하므로 가동 중지 시간이 최소화됩니다. 나는 "증분" 백업마다 인덱스를 다시 작성하기만 하면 됩니다. 나는 이와 같은 해결책을 찾지 못했습니다.
저는 지금 데이터베이스 백업과 성능에 대해 많은 연구를 하고 있으며 끊임없이 MSDN을 읽고 있습니다. 그러나 이 솔루션은 옵션이 아닌 것 같습니다. 최후의 수단으로 물어볼까 생각했습니다. 여기에는 야간에 복원을 수행하는 것이 비실용적인 대규모 데이터베이스를 관리하는 곳도 있습니다.
어떤 제안이 있으십니까? 나는 또한 이 정도 크기의 데이터베이스로 작업한 적이 없기 때문에 성능에 대한 제안/페이지 링크에 열려 있습니다.
답변1
당신은 설명하고 있습니다로그 배송, 그러나 로그 백업 대신 '차등' 백업을 사용하려고 하는데 이것이 접근 방식의 문제입니다. 로그 전달을 사용하면 데이터베이스를 한 번 복원한 다음 주 사이트에서 생성되는 로그 백업을 적용하고 초기 전체 백업 복원을 다시 실행할 필요가 없습니다. 몇 시간마다 제공되는 로그를 계속 적용하면 읽기 전용 복사본을 사용할 수 있습니다.
답변2
아마도 이 제3자는 일종의복제변경 사항을 밤마다 옮기시겠습니까?
답변3
프로덕션 데이터베이스와 마스터 및 읽기 전용 데이터베이스가 있는 환경에 대한 액세스가 허용된 경우 SQL2005/SQL2008 Enterprise 에디션을 실행하는 동일한 데이터베이스 인스턴스일 수 있으며 데이터베이스 스냅샷을 사용할 수 있습니다. 그러면 데이터베이스의 특정 시점 읽기 전용 복사본이 즉시 제공됩니다.
http://msdn.microsoft.com/en-us/library/ms175158.aspx
프로덕션 환경에 대한 액세스가 허용되지 않는 경우 사용자 환경에 미러링된 데이터베이스를 설정할 의향이 있는지 물어볼 수 있습니다. 이렇게 하면 스냅샷을 실행할 수도 있지만 Enterprise 버전 소프트웨어와 라이선스가 필요합니다.
http://msdn.microsoft.com/en-us/library/ms175511.aspx
Enterprise를 사용하지 않거나 실시간 데이터가 필요한 경우 트랜잭션 복제가 또 다른 옵션입니다.
http://msdn.microsoft.com/en-us/library/ms151176.aspx
복원 시간이 너무 오래 걸리는 경우 백업 디스크 압축 소프트웨어 구입 옵션을 고려하십시오. 이렇게 하면 일반적으로 보유된 데이터 유형에 따라 백업/복원 속도가 향상됩니다.
답변4
Remus가 먼저 대답했지만 로그 전달 시나리오의 작동 방식은 다음과 같습니다.
- 제3자가 1월 1일에 데이터베이스의 전체 백업을 귀하에게 보냅니다.
- 대기 모드를 사용하여 복구 불가 모드로 데이터베이스를 복원하면 데이터베이스가 읽기 전용으로 설정됩니다(dbos 전용).
- 제3자가 1/2에 트랜잭션 로그 백업(또는 여러 개)을 보내고 이를 데이터베이스에 적용하여 변경 사항을 최신 상태로 유지합니다. 백업이 적용된 후 데이터베이스는 다시 대기 모드, 읽기 전용 모드가 됩니다.
- 매일 과정을 반복하세요