Дедупликация данных
Дедупликация данных (англ. data deduplication) — это специализированная технология сжатия данных, направленная на устранение избыточных копий повторяющихся фрагментов информации в хранилище. В отличие от традиционных методов сжатия (например, ZIP или LZ77), которые работают с переменными последовательностями внутри одного файла, дедупликация анализирует данные на уровне блоков или файлов в масштабе всего массива хранения, заменяя идентичные фрагменты указателями на единственную сохранённую копию. Основная цель технологии — значительное сокращение объёма занимаемого дискового пространства, снижение затрат на хранение и повышение эффективности передачи данных по сети.
История
Концепция устранения дублирующихся данных возникла задолго до появления современных систем хранения. Первые алгоритмы, основанные на поиске повторяющихся строк, использовались в системах управления версиями файлов (например, в SCCS и RCS в 1970-х годах). Однако в качестве самостоятельной технологии дедупликация начала развиваться в конце 1990-х — начале 2000-х годов, когда объёмы корпоративных данных стали расти экспоненциально.
В 2001 году компания Storagenetworks (США) представила одну из первых коммерческих систем дедупликации для резервного копирования. В 2004 году компания Data Domain (позднее приобретена EMC, ныне часть Dell Technologies) выпустила специализированное устройство для дедупликации, которое стало стандартом в индустрии хранения данных. В России технология начала активно внедряться в середине 2000-х годов, преимущественно в крупных государственных и корпоративных центрах обработки данных (ЦОД), где требовалось оптимизировать затраты на резервное копирование и архивирование.
Принцип работы
Основной принцип дедупликации заключается в разбиении потока данных на уникальные фрагменты (чанки, от англ. chunk) и проверке их идентичности с уже сохранёнными. Процесс включает несколько этапов:
- Разделение на блоки. Данные делятся на блоки фиксированной (например, 4 КБ, 8 КБ, 64 КБ) или переменной длины. Переменная длина, определяемая алгоритмом (например, на основе скользящего окна с хешированием), позволяет точнее выявлять дубликаты при сдвигах данных.
- Вычисление хеша. Для каждого блока вычисляется криптографическая хеш-сумма (чаще всего SHA-1, SHA-256 или MD5). Хеш служит уникальным идентификатором содержимого блока.
- Поиск дубликатов. Хеш сравнивается с индексом уже сохранённых блоков. Если хеш найден, блок считается дубликатом, и вместо него записывается указатель на существующую копию.
- Запись метаданных. Если блок уникален, он сохраняется в хранилище, а его хеш добавляется в индекс.
Типы дедупликации
По способу обработки данных различают два основных типа:
- Дедупликация на уровне файлов (single-instance storage). Сравниваются целые файлы. Если два файла идентичны, сохраняется только одна копия. Эффективна для систем с множеством одинаковых документов (например, в почтовых архивах), но неэффективна для файлов, отличающихся незначительно.
- Дедупликация на уровне блоков (block-level deduplication). Данные внутри файлов разбиваются на блоки. Позволяет выявлять дубликаты даже в частично изменённых файлах (например, в версиях одного документа). Обеспечивает более высокий коэффициент сжатия, но требует больше вычислительных ресурсов.
По времени выполнения дедупликация делится на:
- Инлайн-дедупликация (inline). Выполняется в реальном времени, до записи данных на диск. Снижает задержки записи, но требует высокой производительности процессора и памяти. Применяется в высоконагруженных системах хранения (например, в СХД Dell EMC Unity, NetApp AFF).
- Постпроцесс-дедупликация (post-process). Данные сначала записываются в исходном виде, а затем асинхронно анализируются и дедуплицируются. Уменьшает нагрузку на момент записи, но требует дополнительного дискового пространства для временного хранения. Используется в системах резервного копирования (например, Veeam Backup & Replication).
Классификация
Дедупликация данных может быть классифицирована по нескольким признакам.
По месту выполнения
- Аппаратная дедупликация. Реализуется на уровне специализированных контроллеров или устройств хранения (например, в системах Dell EMC Data Domain, HPE StoreOnce). Обеспечивает высокую производительность за счёт выделенных чипов для хеширования.
- Программная дедупликация. Выполняется на уровне операционной системы или прикладного ПО (например, в файловых системах ZFS, Btrfs, Windows Server Data Deduplication). Менее производительна, но не требует дополнительного оборудования.
По масштабу
- Локальная дедупликация. Работает в пределах одного устройства хранения (например, на одном сервере или в одной СХД). Проста в реализации, но не устраняет дубликаты между разными системами.
- Глобальная дедупликация. Охватывает несколько устройств хранения, объединённых в сеть (например, в распределённых файловых системах или облачных хранилищах). Позволяет достичь максимального сжатия, но требует синхронизации индексов между узлами, что увеличивает сетевую нагрузку.
Применение
Дедупликация данных широко применяется в различных областях информационных технологий.
Резервное копирование и восстановление
Наиболее распространённая сфера использования. При резервном копировании виртуальных машин, баз данных и файловых серверов значительная часть данных остаётся неизменной от копии к копии. Дедупликация позволяет сократить объём резервных копий в 10–50 раз, что снижает затраты на ленточные накопители, дисковые массивы и сетевое оборудование. Например, в системах Veeam Backup & Replication и Commvault дедупликация встроена на уровне блоков.
Хранение виртуальных машин
В средах виртуализации (VMware vSphere, Microsoft Hyper-V) дедупликация применяется для оптимизации хранения образов виртуальных машин. Поскольку многие виртуальные машины используют одинаковые операционные системы и приложения, технология позволяет хранить только одну копию общих блоков, экономя до 80% дискового пространства.
Облачные хранилища
Крупные облачные провайдеры (например, Amazon Web Services, Microsoft Azure, Яндекс.Облако) используют дедупликацию для снижения стоимости хранения данных пользователей. В объектных хранилищах (S3, Blob Storage) дедупликация часто применяется на уровне объектов, а в файловых — на уровне блоков.
Архивирование долгосрочных данных
При долгосрочном хранении юридических, медицинских или финансовых документов дедупликация позволяет сократить объём архивов, не нарушая целостности данных. В России эта практика распространена в государственных информационных системах (например, в Единой государственной информационной системе в сфере здравоохранения — ЕГИСЗ).
Преимущества и недостатки
Преимущества
- Экономия дискового пространства. Коэффициент сжатия может достигать 10:1 для резервных копий и 50:1 для виртуальных машин.
- Снижение затрат на инфраструктуру. Меньший объём хранилища означает меньшее количество жёстких дисков, меньшее энергопотребление и охлаждение.
- Ускорение передачи данных по сети. Дедуплицированные данные занимают меньше места, что сокращает время резервного копирования и репликации.
- Повышение эффективности использования ленточных накопителей. В системах резервного копирования на ленты дедупликация позволяет записывать больше данных на одну кассету.
Недостатки
- Вычислительная нагрузка. Хеширование и сравнение блоков требуют значительных ресурсов процессора и оперативной памяти. В системах с инлайн-дедупликацией это может приводить к задержкам записи.
- Сложность управления метаданными. Индекс хешей может занимать значительный объём (до 1–2% от размера дедуплицированных данных), что требует дополнительного быстрого хранилища.
- Риск потери данных при повреждении индекса. Если индекс хешей будет повреждён, восстановление доступа к дедуплицированным данным может стать невозможным без специальных утилит.
- Неэффективность для некоторых типов данных. Дедупликация малоэффективна для уже сжатых данных (например, JPEG, MP3, ZIP), так как они содержат мало повторяющихся блоков.
Интересные факты
- В 2010 году компания EMC (ныне Dell Technologies) установила рекорд, дедуплицировав 1 Пбайт данных до 27 Тбайт — коэффициент сжатия составил 38:1.
- Алгоритмы дедупликации используются не только в системах хранения, но и в некоторых протоколах передачи данных (например, в протоколе Rsync), где позволяет передавать только изменённые фрагменты файлов.
- В России технология дедупликации активно применяется в системах «Электронный бюджет» и «Госуслуги», где объёмы хранимых документов исчисляются сотнями терабайт.
Источники
- Data Deduplication: A Comprehensive Guide — Dell Technologies, 2021.
- Understanding Data Deduplication — NetApp Technical Report, 2020.
- Veeam Backup & Replication: Best Practices for Data Deduplication — Veeam Software, 2022.
- Windows Server Data Deduplication Overview — Microsoft Docs, 2023.
- ZFS Deduplication: Theory and Practice — OpenZFS Documentation, 2021.
- Обзор технологий дедупликации данных в корпоративных системах хранения — Журнал «Системный администратор», № 4, 2022.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →