Как и зачем производить дедупликацию данных

24 Февраля 2022

хранение данныхМногие компании вынуждены применять в своей работе файловый сервер. Его можно считать одним из наиболее неэффективных, так как часто, помимо необходимых данных, такой сервер содержит огромное количество «ненужной информации»: дубликаты файлов, старые бэкапы и т. д. Наличие таких файлов зависит не от сервера, а от способа организации структуры хранения. Например, очень часто в базе хранятся шаблоны файлов, которые различаются несколькими битами информации. В результате объем используемых данных постоянно увеличивается, что повышает потребность в дополнительных устройствах для хранения бэкапов. Способом борьбы с такой проблемой является проведение дедупликации данных. С помощью процедуры удается устранить избыточные копии и снизить потребность в местах для хранения. В результате оптимизируется емкость хранилища и удается избежать использования дополнительных устройств.

Методы дедупликации

Технология позволяет избавиться от многочисленных копий файлов и сохранить на носителе информации только одну единицу файла. Однако для того, чтобы такая процедура была эффективной и действительно помогла устранить все копии, потребуется правильно подобрать уровень детализации.

Data deduplication может выполняться на нескольких уровнях:

  • байты;
  • отдельные файлы;
  • блоки.

Каждый из подходов имеет свои особенности и преимущества, которые стоит учитывать при выборе решения.

Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Использование блоков является самым популярным вариантом. Если говорить коротко, то дедупликация данных на этом уровне – это анализ файлов, после которого сохраняются лишь неповторяющиеся сведения для отдельного блока. Блок представляет собой логическую единицу информации с определенным размером. Причем размер этой единицы может варьироваться в зависимости от задач.

Важной особенностью дедупликации на таком уровне является использование хеширования. За счет этого удается создавать и хранить в общей базе требуемую сигнатуру, которая обозначает блок данных.

Процедура блочной дедубликации может проводиться с переменной или постоянной длиной блоков. В первом случае файлы распределяются на блоки различного размера – основой для сортировки может выступать дата создания или другой параметр. Переменный способ считается самым эффективным для сокращения объема данных.

Следующий возможный уровень deduplication – это уровень файлов. В этом случае происходит сравнение позднего файла с более ранним. В том случае, если обнаруживается уникальная информация, то она сохраняется. Если же новый файл дублирует предыдущий, то отображается только ссылка на исходные сведения.

То есть по сути записывается изначальный файл, а все последующие копии имеют указатель на информацию. Реализовать такой вариант дедупликации достаточно просто. Как правило, не происходит снижения производительности сервера во время обработки данных. Однако эффективность процедуры ниже, чем при использовании блочного подхода.

Третий из возможных способов дедупликации данных – это отдельный процесс на байтовом уровне. По принципу проведения этот вариант схож с методом блоков, но новые и старые файлы сравниваются по байтам. Именно такой подход к data deduplication позволяет полностью избавиться от дубликатов. Но есть и некоторые недостатки: процедура использует серьезные мощности сервера, поэтому к самому устройства предъявляются повышенные требования.

Дедупликация при резервном копировании

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

  • Клиент-сервер. Это совмещенный вариант, при котором мероприятие может выполняться как на клиенте, так и на самом сервере. Прежде чем отправлять сведения на сервер, специальное ПО пытается определить, какие сведения уже были записаны. Как правило, применяется дедупликация блочного типа. Для отдельного блока сведений вычисляется хеш, а перечень хеш-ключей отправляется на сервер. На серверном уровне выполняется сравнение ключей, после чего клиент получает необходимые блоки данных. При использовании такого решения снижается общая нагрузка на сеть, так как осуществляется передача только уникальных файлов.
  • Дедубликация на сервере. Теперь поговорим о том, как делать дедупликацию данных на сервере. Такой вариант применяется в тех случаях, когда сведения передаются на устройство без обработки. Может выполняться программная или аппаратная процедура проверки данных. Программная дедубликация подразумевает применение специального ПО, которое и запускает требуемые процессы. При подобном подходе важно учитывать нагрузку на систему, так как она может быть слишком высокой. Аппаратный тип совмещает специальные решения на основе дедубликации и процедуры бэкапа.
  • Дедубликация на клиенте. При создании бэкапа возможна репликация данных на самом источнике. Такой способ позволяет задействовать только мощности самого клиента. После проверки данных все файлы отправляются на сервер. Data deduplication на клиенте требует особого программного обеспечения. Недостаток решения в том, что оно приводит к повышенной загрузке оперативной памяти.

Достоинства и недостатки

безопасностьК преимуществам процедуры возможно отнести следующее:

  • Надежность. Deduplication позволяет хранить сделанные бэкапы практически неограниченное время.
  • Эффективность. В результате проведения дедупликации удается уменьшить потребности в размерах хранилища практически в 30 раз.
  • Экономичность. Решение может использоваться даже при небольшой уменьшенной пропускной способности сети. Осуществляется передача уникальных данных, что экономит трафик.

Однако у технологии есть и недостатки. Основной из них – это риск конфликта, если несколько блоков будут в одно время генерировать одинаковый хеш-ключ. Это может спровоцировать нарушение целостности баз, что приведет к невозможности восстановления созданной копии. Кроме этого, различные ошибки могут возникнуть при большом объеме данных.

Частые сложности возникают при применении службы Windows Server. Она существенно замедляет работу файлового сервера, так как во время процедуры файлы сначала копируются на диски и только после этого происходит проверка на дубликаты.

Область применения

Наверняка у многих возникает закономерный вопрос, зачем нужна дедупликация данных и можно ли обойтись без нее. Как показывает практика, рано или поздно все равно приходится прибегать к data deduplication. Со временем копии и дубликаты файлов могут заниматься в 2–3 раза больше места, чем оригинальные файлы, поэтому требуется удаление ненужных данных. Особенно часто процесс дедубликации используют разработчики на рынке резервного копирования.

Кроме этого, технология нередко применяется на серверах продуктивной системы. В этом случае процедура может выполняться средствами ОС или дополнительным программным обеспечением.

Популярные услуги
Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent