Открыть сервис

Дедупликация данных

Дедупликация данных (англ. data deduplication) — это специализированная технология сжатия данных, направленная на устранение избыточных копий повторяющихся фрагментов информации в хранилище. В отличие от традиционных методов сжатия (например, ZIP или LZ77), которые работают с переменными последовательностями внутри одного файла, дедупликация анализирует данные на уровне блоков или файлов в масштабе всего массива хранения, заменяя идентичные фрагменты указателями на единственную сохранённую копию. Основная цель технологии — значительное сокращение объёма занимаемого дискового пространства, снижение затрат на хранение и повышение эффективности передачи данных по сети.

История

Концепция устранения дублирующихся данных возникла задолго до появления современных систем хранения. Первые алгоритмы, основанные на поиске повторяющихся строк, использовались в системах управления версиями файлов (например, в SCCS и RCS в 1970-х годах). Однако в качестве самостоятельной технологии дедупликация начала развиваться в конце 1990-х — начале 2000-х годов, когда объёмы корпоративных данных стали расти экспоненциально.

В 2001 году компания Storagenetworks (США) представила одну из первых коммерческих систем дедупликации для резервного копирования. В 2004 году компания Data Domain (позднее приобретена EMC, ныне часть Dell Technologies) выпустила специализированное устройство для дедупликации, которое стало стандартом в индустрии хранения данных. В России технология начала активно внедряться в середине 2000-х годов, преимущественно в крупных государственных и корпоративных центрах обработки данных (ЦОД), где требовалось оптимизировать затраты на резервное копирование и архивирование.

Принцип работы

Основной принцип дедупликации заключается в разбиении потока данных на уникальные фрагменты (чанки, от англ. chunk) и проверке их идентичности с уже сохранёнными. Процесс включает несколько этапов:

  1. Разделение на блоки. Данные делятся на блоки фиксированной (например, 4 КБ, 8 КБ, 64 КБ) или переменной длины. Переменная длина, определяемая алгоритмом (например, на основе скользящего окна с хешированием), позволяет точнее выявлять дубликаты при сдвигах данных.
  2. Вычисление хеша. Для каждого блока вычисляется криптографическая хеш-сумма (чаще всего SHA-1, SHA-256 или MD5). Хеш служит уникальным идентификатором содержимого блока.
  3. Поиск дубликатов. Хеш сравнивается с индексом уже сохранённых блоков. Если хеш найден, блок считается дубликатом, и вместо него записывается указатель на существующую копию.
  4. Запись метаданных. Если блок уникален, он сохраняется в хранилище, а его хеш добавляется в индекс.

Типы дедупликации

По способу обработки данных различают два основных типа:

  • Дедупликация на уровне файлов (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), где позволяет передавать только изменённые фрагменты файлов.
  • В России технология дедупликации активно применяется в системах «Электронный бюджет» и «Госуслуги», где объёмы хранимых документов исчисляются сотнями терабайт.

Источники

  1. Data Deduplication: A Comprehensive Guide — Dell Technologies, 2021.
  2. Understanding Data Deduplication — NetApp Technical Report, 2020.
  3. Veeam Backup & Replication: Best Practices for Data Deduplication — Veeam Software, 2022.
  4. Windows Server Data Deduplication Overview — Microsoft Docs, 2023.
  5. ZFS Deduplication: Theory and Practice — OpenZFS Documentation, 2021.
  6. Обзор технологий дедупликации данных в корпоративных системах хранения — Журнал «Системный администратор», № 4, 2022.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →