테이블이 정기적으로 대량으로 증가하고 감소하는 할당 전략
-
29-09-2020 - |
문제
1년 동안 5%의 성장률을 보이는 100개 이상의 테이블이 포함된 SQL Server 2014 데이터베이스가 있습니다.읽기는 많고 쓰기는 거의 없습니다.
이 데이터베이스는 정기적으로(분기별) 밤새 전체 데이터베이스를 합친 만큼 증가하는 또 다른 20개 이상의 테이블 세트로 확장될 예정입니다.
해당 테이블은 몇 시간 내에 처리가 끝나면 완전히 비워집니다.자료 ~에 이러한 테이블은 상당히 소모적이지만 참조 무결성을 위해 나머지 테이블과 동일한 데이터베이스에 있어야 합니다.
일부 샘플 번호의 경우 첫 번째 DB가 20GB이고 테이블의 하위 집합이 15GB로 증가한 다음 비워진다고 가정해 보겠습니다.따라서 데이터의 실제 크기는 며칠 동안 20GB에서 35GB 사이에서 변동됩니다.
- 이러한 변동을 고려하기 위해 이 시스템을 계획할 때 무엇을 할 수 있습니까?
- 여기가 파일 그룹이 작동하는 곳입니까?
- 이 테이블 세트를 자체 파일 그룹으로 이동하면 어떤 이점/문제가 발생합니까?
해결책
보충 @MaxVernon의 답변, 수행할 수 있는 몇 가지 최적화가 있습니다.
- 준비 테이블에 다른 파일 그룹을 사용하고 파일 그룹이 다른 물리적 드라이브(또는 LUN)에 있는지 확인하세요.
- 사용 즉각적인 파일 초기화 및 적절한 자동 증가 설정.나는 편리한 스크립트 자가 성장 이벤트를 분석합니다.
- 로드 후 스테이징 테이블을 비우게 되므로 다음을 확인하세요.
UPDATE STATISTICS
로드 후.다음을 참조하세요. 데이터 로딩 성능 가이드 데이터를 빠르고 효율적으로 로드하는 더 많은 방법을 알아보세요.
이 테이블 세트를 자체 파일 그룹으로 이동하면 어떤 이점/문제가 발생합니까?
할 수 있다는 장점이 있습니다 단편 식사 복원 프로덕션 데이터가 있는 기본 파일 그룹을 복원한 다음 준비 테이블이 있는 파일 그룹을 복원할 수 있습니다.
유일한 주의 이제 재해 발생 시 복원을 수행할 때 익숙해져야 하는 여러 파일 그룹이 있으므로 잘 테스트된 RESTORE 전략을 갖추는 것이 좋습니다.
다른 팁
해당 스테이징 테이블을 자신의 파일 그룹에 넣으면 조각 식사 복원을 할 수 있습니다.이렇게하면 재해 복구 노력이 발생할 경우 데이터베이스를보다 빠르게 실행하는 데 도움이됩니다.
자체 파일 그룹에 테이블을 갖는 것은 성능을 향상시킬 수있는 자체 디스크 세트에 배치 할 수 있습니다.