чем лучше сжимать резервные копии БД?

rarvs7zipНедавно я задался вопросом, какой архиватор лучше всего использовать для сжатия резервных копий баз данных? Для ответа я решил провести небольшое исследование, сравнив между собой несколько популярных архиваторов в различных режимах.

В качестве сжимаемого объекта была использована резервная копия рабочей базы данных СУБД Firebird размером 1,90 ГБ (2 044 548 096 байт).

Для исследования использовались архиваторы командной строки RAR и 7-Zip.

Исследовались следующие форматы сжатия

  • rar 3.20
  • rar 4.20
  • zip
  • 7zip
  • Bzip2

в трех режимах сжатия: ultra, normal (default) и fast. Кроме режима сжатия, не устанавливались ни какие дополнительные параметры, т.е. использовались настройки по-умолчанию.

Параметры архивации
rar a -m5 rar_ultra.rar base.fbk
rar a -m3 rar_normal.rar base.fbk
rar a -m1 rar_fast.rar base.fbk

7z a -tBZip2  -mx9 bz_ultra.bzip base.fbk
7z a -tBZip2  bz_normal.bzip base.fbk
7z a -tBZip2 -mx3 bz_fast.bzip base.fbk

7z a -tzip  -mx9 zip_ultra.zip base.fbk
7z a -tzip  zip_normal.zip base.fbk
7z a -tzip  -mx3 zip_fast.zip base.fbk

7z a -t7z  -mx9 7z_ultra.7z base.fbk
7z a -t7z  7z_normal_.7z base.fbk
7z a -t7z  -mx3 7z_fast_.7z base.fbk

Было проведено 3 теста на 3-х различных конфигурациях:
I: Corei5-3330/8GB/SSD Windows 7 x64
II: XeonE5620x2/64GB/SAS RAID1 Server 2008 R2 Enterprise
III: Corei7-2600/8GB/SSD Windows 7 x64

результаты тестов в таблице:

arch01

Безусловным аутсайдером по времени архивации оказался zip-формат. В режиме ultra сжатие происходило безобразно долго.

Безусловным лидером по времени архивации стал RAR 4.20 fast. Следует заметить, что он единственный (имеется ввиду RAR 4.20 во всех режимах) из тестируемых использовал все ядра процессоров, причем, при этом оставляя запас по использованию процессора в районе 20%. К сожалению, у него самый большой размер архива. За скорость приходится платить.

Безусловным лидером по размеру оказался 7-zip в режиме ultra, правда с достаточно большим временем сжатия.

Как и в любой задаче, при архивации резервных копий должны быть свои приоритеты. Как мне видится, их три:

  • Время сжатия
  • Размер получаемого архива
  • Баланс

Если для Вас важно время архивации, используйте RAR 4.20 fast и normal или ZIP fast.

Если важен размер конечного архива, используйте 7-zip Ultra или Normal.

В случае, когда важен баланс, следует использовать BZip2 normal или fast.

В завершении, позволю себе ряд замечаний:

  • я прекрасно понимаю, что архиваторов гораздо больше представленных, да и тестируемые можно параметрами заставить работать лучше и быстрее, я решал свою задачу с использованием тех средств, что были под рукой.
  • RAR архиватор платный, поэтому если вам жалко денег, используйте бесплатный 7-zip, а не ищите «волшебный» ключик.
  • и последнее, в тесте использовался специфичный файл, и он сжимался один. Поэтому, не стоит проецировать данный тест на сжатие множества мелких файлов или файлов других форматов. Результат будет другим.

Comments are closed