У меня есть набор резервных копий, в основном фотографий. Каталог выглядит примерно так:
backup/Day1/photos/1.jpg
.../2.jpg
backup/Day2/photos/2.jpg
.../3.jpg
.../4.jpg
backup/DayN/photos/2.jpg
.../3.jpg
.../9.jpg
Файлы с одинаковыми именами идентичны. Много дубликатов. Из-за особенностей работы системы резервного копирования невозможно создать инкрементную резервную копию напрямую. Я всегда получаю полный дамп каждый день.
Если я хочу создать сжатый архив для диапазона дат, скажем, с 5-го по 9-й день,Какой инструмент/алгоритм сжатия лучше всего подходит для этого? Какой инструмент/алгоритм сжатия лучше всего подходит для дедупликации?(Я не рассчитываю на сжатие самого jpeg)
решение1
ZPAQмалоизвестный архиватор, который делает дедупликацию, и, насколько мне известно, единственный. Поскольку ZPAQ также делает версионирование, вы можете хранить каждую резервную копию в одном архиве, еще больше сокращая использование пространства.
Или вы можете использовать систему контроля версий, например Git, которая автоматически удаляет дубликаты файлов.
Или, если вы хотите что-то более сложное, вы можете повозиться с Btrfs или ZFS, которые являются файловыми системами со встроенной дедупликацией. Хотя дедупликация Btrfs не так хороша, как ZFS.
решение2
WIM (Windows Imaging Format) — это, вероятно, то, что вы ищете. Хотя ZPAQ — это просто потрясающий инструмент (я сам им пользуюсь), он делает дедупликацию на основе блоков, тогда как дедупликация WIM основана на файлах (MS называет это SIS — Single Instance Storage, см.Microsoft Deployment Toolkit с использованием MDT и хранилища единичных экземпляров).
Поскольку в вопросе упоминается, что повторяются сами файлы, можно утверждать, что дедупликация на основе файлов подойдет лучше, особенно принимая во внимание, что мы говорим о JPEGS.
И WIM, и ZPAQ:
- Делать инкрементальные обновления
- Иметь поддержку обнаружения ошибок
- Поддержка надежного шифрования
- Поддерживаются как минимум в Windows и Linux (см.wimlib — библиотека Windows Imaging (WIM) с открытым исходным кодом- для ВИМ)
- Иметь сильную компрессионную поддержку
- Стабильны
Преимущества WIM-технологии:
- Широко принят и поддерживается
- Быстрее
- Похожие результаты для ZPAQ
Недостатки WIM
- Дедупликация на уровне файлов (бесполезна для файлов (особенно больших) с небольшими изменениями).
Преимущества ZPAQ:
- Дедупликация на уровне блоков — отлично подходит, например, для массивно повторяющихся данных с небольшими изменениями между версиями файлов, но не только.
- Удивительный инструмент, уникальный в том, что он делает и как он это делает, насколько мне известно.
Недостатки ZPAQ:
- немного медленнее (не так сильно, как я себе представляю), когда дедупликация включена и сжатие установлено на максимум (5), так что только незначительное преимущество, если дедупликации на уровне файлов достаточно
- Не получил широкого распространения
- Нет хорошей поддержки графического интерфейса (это важно для восстановления и навигации по архиву)