IT 이야기/DB

[MSSQL] Backup 옵션 : Compression(압축)

하늘봉 2022. 12. 28. 19:48
반응형
데이터베이스 백업은 압축 옵션을 지원합니다.
이것은 CPU 리소스를 사용하여 데이터를 압축함으로써 DISK I/O를 줄이는 방법입니다.
 
압축된 백업은 동일한 데이터의 압축되지 않은 백업보다 작기 때문에 일반적으로 백업을 압축하면 DISK I/O가 적게 필요하므로 백업 속도가 크게 증가합니다.

 

또한 압축되었기 때문에 파일 용량이 작습니다.

 

compression 옵션

backup database [AdventureWorks2019] to disk = 'D:\DBBackup\TEST\AdventureWorks2019_compression_full_20221129_144100.bak' 
with compression, init;

 

백업 시간 비교
-- 1. 일반 백업
backup database [AdventureWorks2019] to disk = 'D:\DBBackup\TEST\AdventureWorks2019_full_20221129_144100.bak' 
with init, no_compression;

-- 2. 압축 백업
backup database [AdventureWorks2019] to disk = 'D:\DBBackup\TEST\AdventureWorks2019_compression_full_20221129_144100.bak' 
with init, compression;
일반 백업 : 1.506초  / 압축 백업 : 0.364초
 
그러나 기본적으로 압축은 CPU 사용량을 상당히 증가 시키며 이러한 추가 CPU의 발생은 동시 작업에 부정적인 영향을 미칠 수 있습니다.
(압축 백업의 과도한 CPU 사용을 막기 위해서 Resource Governor(리소스 관리자)를 사용하여 CPU 사용량을 제한하는 방법이 있긴 함. 실효성은 글쎄?)

 

복원 시간 비교
-- 1. 일반 복원
restore database [AdventureWorks2019_NEW1] from disk = 'D:\DBBackup\TEST\AdventureWorks2019_full_20221129_144100.bak' 
with move 'AdventureWorks2017' to 'D:\DBBackup\TEST\AdventureWorks2017_new1.mdf', 
move 'AdventureWorks2017_log' to 'D:\DBBackup\TEST\AdventureWorks2017_new1_log.ldf'

-- 2. 압축된 백업 파일을 복원
restore database [AdventureWorks2019_NEW2] from disk = 'D:\DBBackup\TEST\AdventureWorks2019_compression_full_20221129_144100.bak' 
with move 'AdventureWorks2017' to 'D:\DBBackup\TEST\AdventureWorks2017_new2.mdf', 
move 'AdventureWorks2017_log' to 'D:\DBBackup\TEST\AdventureWorks2017_new2_log.ldf'
일반 복원 : 5.099초  / 압축된 파일 복원 : 2.791초

 

 

즉, 백업과 복원의 성능을 좌우하는 주 요소는 CPU 보다는 DISK I/O 이다. (디스크를 더 적게 읽고 씀에 따라 성능이 좋아짐)
반응형