Jaki jest najskuteczniejszy sposób kompresji i przechowywania kopii zapasowej SQL Server? [Zamknięte]

9

Przeprowadziłem kilka testów różnych metod kompresji i przechowywania kopii zapasowych SQL Server (przy użyciu SQL Server 2008 R2 Enterprise Edition) i zastanawiam się, jaki jest najbardziej efektywny algorytm kompresji dla długoterminowego przechowywania tych kopii zapasowych poza SQL algorytmy kompresji wewnętrznej.

Nie martwię się o fizyczną pamięć masową, napędy taśmowe itp., Po prostu próbuję zamienić nasz 3 TB danych i plików dziennika w najmniejszy pojedynczy plik, jaki mogę.

Na przykład, czy plik .zip lub .7z? Czy też w mojej bazie danych jest zbyt wiele zmiennych, aby móc dokładnie oszacować, co będzie najbardziej skuteczne, a ja po prostu muszę wykonać kilka testów? A może wewnętrzna kompresja programu SQL Server jest najlepsza?

Sean Long
źródło
Fizyczna pamięć masowa jest tego czynnikiem, ponieważ brakuje nam miejsca na dysku twardym. Chciałem jednak odejść od dyskusji na temat używanego macierzy RAID lub odpowiedzi: „Po prostu zdobądź więcej talerzy”, ponieważ nad tymi rzeczami już pracuję, ale są to rozwiązania długoterminowe.
Sean Long,
Wydaje się, że możesz to przetestować, ponieważ będzie to w dużej mierze zależało od charakteru twoich danych. Wykonaj kopię zapasową bazy danych z kompresją, a następnie spróbuj dalej skompresować plik kopii zapasowej za pomocą innych narzędzi do kompresji. Osobiście nie wyobrażam sobie, byś pisnął wystarczająco dużo miejsca, aby było warto skomplikować proces, i nie zapominaj o tym, że większa kompresja = więcej procesora, co czasem = więcej czasu. Więc jeśli zajmie to dodatkową minutę, aby zaoszczędzić dodatkowe 100 MB miejsca na dysku, czy będzie to opłacalne, gdy będziesz starał się przywrócić?
Aaron Bertrand

Odpowiedzi:

13

Testowałem różne metody kompresji i przechowywania kopii zapasowych MS SQL (przy użyciu wersji MS SQL 2008 R2 Enterprise Edition) i zastanawiam się, jaki jest najbardziej efektywny algorytm kompresji do długoterminowego przechowywania tych kopii zapasowych poza SQL algorytmy kompresji wewnętrznej.

Ponieważ używasz wersji SQL 2008 R2 Enterprise, możesz / musisz wykorzystać

Kompresja kopii zapasowej wykorzystuje cykle procesora do kompresji danych przed opuszczeniem serwera, dlatego w zdecydowanej większości scenariuszy skompresowane kopie zapasowe są szybsze niż kopie nieskompresowane.

Pamiętaj, że podczas korzystania z narzędzi Open Source należy zdekompresować plik kopii zapasowej bazy danych, zanim będzie można samodzielnie rozpocząć proces przywracania.

np .: Po otrzymaniu kopii zapasowej bazy danych SQL 50 Gb, która jest skompresowana do 5 GB. Aby przywrócić tę bazę danych, potrzebujesz znacznie więcej miejsca na dysku:

  • 5 GB na plik zip
  • 50 Gb na plik kopii zapasowej
  • 50 Gb dla przywróconej bazy danych. (zakładając, że nie ma pustej przestrzeni w bazie danych)

W sumie potrzeba 105 Gb miejsca na dysku.

Nadal możesz korzystać z narzędzi kompresji typu open source, takich jak gzip , 7Zip , bzip2 lub QuickLZ po kompresji kopii zapasowej, aby skorzystać.

Zobacz także MSSQL Compressed Backup na codeplex.

Dobre referencje do statystyk porównawczych

Kin Shah
źródło
3
Jeśli skompresowałeś swoje kopie zapasowe za pomocą kompresji SQL, nie będziesz w stanie uzyskać dużej kompresji, jeśli spróbujesz spakować / 7zip / rar plik kopii zapasowej.
user1207758,
8

Jeśli chodzi o kompresję kopii zapasowej, zrobiłem (kilka lat temu) porównanie opcji kompresji kopii zapasowych zapewnianych przez SQL Backup firmy Red Gate , LiteSpeed ​​Quests dla SQL Server i SQLSafe Idera , porównując te trzy produkty. Różnice w typowej kopii zapasowej przy maksymalnej kompresji wynosiły około 5% rozrzutu między tymi trzema w czasie, a nieco szerszy dla wielkości kopii zapasowej, z Red Gate na szczycie (90% kompresji vs 80 i 85% dla Idera & Quest, w tej kolejności).

Thomas Rushton
źródło