Прямой ответ
Архивация переводит данные, которые не читаются в обычной работе, в место с меньшей стоимостью хранения. Критерий перевода — отсутствие обращений за определённый период, а не возраст данных.
| Этап архивации | Действие |
|---|---|
| Отбор | Выделение данных по критерию отсутствия обращений |
| Упаковка | Объединение в один объект с сжатием |
| Перемещение | Перенос в хранилище с меньшей стоимостью |
| Удаление | Удаление из рабочего хранилища после проверки |
# Упаковка с сжатием
tar --use-compress-program="zstd -19" -cf archive_2025.tar.zst logs_2025/
# Проверка целостности
tar --use-compress-program="zstd -d" -tf archive_2025.tar.zst | head
Критерий отбора фиксируется явно, поскольку «старые данные» не означает «неиспользуемые». О сроках хранения — в статье про хранение данных.
Доступ к архиву и проверка восстановимости
Архив, из которого данные нельзя извлечь, не выполняет назначения, поэтому два требования определяют пригодность архива.
Документированный способ извлечения. Формат упаковки, метод сжатия и структура содержимого фиксируются, чтобы извлечение не требовало подбора инструментов.
Проверка извлечения. Периодическое тестовое извлечение подтверждает, что архив читается имеющимися инструментами и данные пригодны.
Практическое следствие: архив без проверки извлечения может оказаться нечитаемым, и это обнаружится в момент, когда данные потребуются.
Отдельный аспект — удаление из рабочего хранилища. Данные удаляются после подтверждения успешной упаковки и проверки, а не до неё. Удаление до проверки делает потерю необратимой.
Три признака некорректной архивации.
Критерий отбора не зафиксирован. Отбор выполняется по возрасту, поэтому в архив попадают данные, к которым обращаются.
Отсутствие проверки извлечения. Архив создаётся, но не проверяется, поэтому пригодность неизвестна.
Удаление до проверки. Данные удаляются из рабочего хранилища до подтверждения успешной упаковки.
О различии архивации и резервного копирования — в статье про стратегию резервного копирования: архив уменьшает объём рабочего хранилища, резервная копия защищает от потери данных.
При архивации данных из таблицы с разделением по периодам отбор выполняется по разделу; о разделении — в статье про секционирование таблиц.
Стоимость хранения архива ниже стоимости рабочего хранилища, но извлечение требует времени, поэтому частота обращений к архивным данным определяет допустимость перевода.
Стоимость хранения и время извлечения
Архивация изменяет соотношение стоимости хранения и времени доступа, поэтому оба показателя учитываются при выборе хранилища.
Стоимость хранения. Хранилище для архивных данных стоит дешевле рабочего, поскольку не обеспечивает мгновенный доступ. Экономия накоплена за всё время хранения, поэтому при длительном сроке она существенна.
Время извлечения. Доступ к архивным данным требует времени, которое зависит от места хранения. Извлечение может занимать от минут до часов, поэтому срочный доступ к архиву непригоден.
Частота обращений. Данные, к которым обращаются регулярно, не относятся к архивным, поскольку стоимость извлечения оплачивается при каждом обращении.
Практическое следствие: в архив переводятся данные, для которых допустима задержка извлечения, а не все данные старше определённого возраста.
Отдельный аспект — минимальный срок хранения. Некоторые хранилища устанавливают минимальный период, в течение которого данные должны храниться, поэтому досрочное удаление оплачивается как хранение за полный период.
Практика: перевод данных в архив
1. Зафиксируйте критерий отбора. Отсутствие обращений за период, а не возраст данных, определяет перевод в архив.
2. Упаковывайте с сжатием. Объединение в один объект с сжатием сокращает объём и упрощает перемещение.
3. Проверяйте извлечение до удаления. Тестовое извлечение подтверждает пригодность архива.
4. Документируйте формат и структуру. Способ извлечения фиксируется, чтобы не требовался подбор инструментов.
5. Удаляйте из рабочего хранилища после проверки. Удаление до подтверждения упаковки делает потерю необратимой.
6. Ведите перечень архивов. Записи о периоде, объёме и месте хранения позволяют найти нужные данные.
7. Контролируйте срок хранения архива. Архивные данные также имеют срок, после которого удаляются.
Рекомендации:
- Различайте архивацию и резервное копирование. Архив уменьшает объём рабочего хранилища, резервная копия защищает от потери данных.
- Учитывайте время извлечения. Доступ к архиву медленнее доступа к рабочему хранилищу, поэтому частые обращения делают архивацию непригодной.
- Проверяйте целостность после перемещения. Контрольная сумма подтверждает, что данные не повреждены при переносе.
- Не архивируйте данные, к которым обращаются. Критерий отбора строится по фактическим обращениям, а не по возрасту.
- Пересматривайте критерий отбора. Изменение характера обращений делает прежний критерий непригодным.
Практический сценарий: архивные данные потребовались, но не извлеклись
Контекст: потребовалось восстановить данные за прошлый год из архива, извлечение завершилось ошибкой.
- Диагностика. Архив создан методом сжатия, инструмент для которого отсутствовал в текущем окружении. Структура содержимого не была задокументирована, поэтому расположение нужных файлов внутри архива определялось подбором.
- Причина. Способ упаковки и извлечения не фиксировался, проверка извлечения не выполнялась. Архив считался пригодным по факту создания, а не по факту проверки.
- Действия. (а) Установили инструмент, соответствующий методу сжатия, и извлекли данные; (б) задокументировали формат упаковки, метод сжатия и структуру содержимого для существующих архивов; (в) ввели периодическую проверку извлечения на выборке архивов; (г) добавили контрольные суммы при перемещении архивов; (д) пересмотрели критерий отбора, поскольку часть архивных данных использовалась в отчётах.
- Результат. Извлечение выполняется по документированной процедуре, а проверка подтверждает пригодность архивов.
Вывод: архив без документированного способа извлечения и периодической проверки может оказаться нечитаемым. Проверка извлечения подтверждает пригодность архива до момента, когда данные потребуются.
FAQ
Чем архивация отличается от резервного копирования? Архивация переводит неиспользуемые данные в более дешёвое хранилище, уменьшая объём рабочего. Резервное копирование создаёт копию для защиты от потери данных.
По какому критерию отбирать данные в архив? По отсутствию обращений за определённый период, а не по возрасту. Возраст данных не означает, что они не используются.
Нужно ли удалять данные из рабочего хранилища сразу? Нет, удаление выполняется после подтверждения успешной упаковки и проверки извлечения. Удаление до проверки делает потерю необратимой.
Как часто проверять извлечение архива? Периодически на выборке архивов, чтобы обнаружить нечитаемый архив до момента, когда данные потребуются.
Источники: PostgreSQL partitioning, GNU tar, Zstandard — ссылки в шапке.