Apa cara paling efektif untuk mengompresi dan menyimpan cadangan SQL Server? [Tutup]

9

Saya telah melakukan beberapa pengujian metode yang berbeda untuk mengompresi dan menyimpan cadangan SQL Server (menggunakan SQL Server 2008 R2 Enterprise edition), dan saya bertanya-tanya apa algoritma kompresi paling efektif untuk penyimpanan jangka panjang dari cadangan tersebut, di luar SQL algoritma kompresi internal.

Saya tidak khawatir tentang penyimpanan fisik atau drive tape atau apa pun, hanya mencoba mengubah 3TB data dan file log menjadi file tunggal terkecil yang saya bisa.

Jadi, misalnya, apakah .zip atau .7z? Atau apakah ada terlalu banyak variabel dalam basis data saya untuk dapat memperkirakan secara akurat apa yang akan paling efektif dan saya hanya perlu melakukan beberapa tes? Atau kompresi internal SQL Server yang terbaik yang akan saya dapatkan?

Sean Long
sumber
Penyimpanan fisik adalah faktor pendorong untuk ini, karena ruang hard drive kami hampir habis. Namun, saya ingin menghindari diskusi tentang jenis RAID yang saya gunakan atau jawabannya adalah "Dapatkan lebih banyak piring-piring", karena itu adalah hal-hal yang sudah saya kerjakan, tetapi merupakan solusi jangka panjang.
Sean Long
Ini sepertinya sesuatu yang bisa Anda uji, karena akan sangat tergantung pada sifat data Anda . Cadangkan basis data dengan kompresi, lalu coba kompres file cadangan lebih lanjut menggunakan alat kompresi lainnya. Secara pribadi saya tidak bisa membayangkan Anda akan mencicit ruang ekstra yang cukup untuk membuatnya rumit proses, dan jangan lupa bahwa lebih banyak kompresi = lebih banyak CPU yang kadang-kadang = lebih banyak waktu. Jadi, jika diperlukan waktu ekstra untuk menghemat 100 MB ruang disk, apakah itu akan sia-sia ketika Anda ingin mengembalikan?
Aaron Bertrand

Jawaban:

13

Saya telah melakukan beberapa pengujian metode yang berbeda untuk mengompresi dan menyimpan MS SQL Backup (menggunakan MS SQL 2008 R2 Enterprise edition), dan saya bertanya-tanya apa algoritma kompresi yang paling efektif untuk penyimpanan jangka panjang dari cadangan tersebut, di luar SQL algoritma kompresi internal.

Karena Anda menggunakan SQL 2008 R2 Enterprise edisi, Anda dapat / harus memanfaatkan

Kompresi cadangan menggunakan siklus CPU untuk mengompresi data sebelum meninggalkan server, dan itulah sebabnya dalam sebagian besar skenario, cadangan terkompresi lebih cepat daripada cadangan tidak terkompresi.

Perhatikan bahwa ketika Anda menggunakan alat Open source Anda perlu mengompres file cadangan database sebelum Anda dapat memulai proses pemulihan itu sendiri.

misal: Ketika Anda menerima cadangan basis data SQL 50 Gb yang dikompresi hingga 5 GB. Untuk memulihkan basis data ini, Anda membutuhkan lebih banyak ruang disk:

  • 5 Gb untuk file zip
  • 50 Gb untuk file cadangan
  • 50 Gb untuk database yang dipulihkan. (anggap mereka tidak ada ruang kosong dalam database)

Secara total dibutuhkan 105 Gb ruang disk.

Anda masih dapat menggunakan alat kompresi opensource seperti gzip , 7Zip , bzip2 atau QuickLZ setelah kompresi cadangan menguntungkan.

Juga, lihat di MSSQL Compressed Backup pada codeplex.

Referensi yang baik untuk statistik perbandingan

Kin Shah
sumber
3
Jika Anda mengompres cadangan Anda melalui kompresi SQL, Anda tidak akan bisa mendapatkan banyak kompresi jika Anda mencoba untuk zip / 7zip / rar file cadangan.
user1207758
8

Dalam hal kompresi cadangan, saya lakukan (beberapa tahun yang lalu) membuat perbandingan opsi kompresi cadangan yang disediakan oleh Red Gate's SQL Backup , Quests's LiteSpeed ​​untuk SQL Server , dan Idera's SQLSafe , membandingkan tiga produk. Perbedaan dalam cadangan umum pada kompresi maksimum adalah sekitar 5% spread antara ketiganya untuk waktu yang diambil, dan spread yang agak lebih luas untuk ukuran cadangan, dengan Red Gate berada di atas (kompresi 90% vs 80 & 85% untuk Idera & Quest, dalam urutan itu).

Thomas Rushton
sumber