Под дедупликацией данных понимают технологию, которая обнаруживает и исключает избыточные данные в дисковом репозитории (хранилище). В результате этой операции потребности в хранении при тех же самых объемах данных сокращаются наполовину и более, в зависимости от количества избыточных копий. Интерес к дедупликации в последнее время значительно вырос в связи с широким внедрением виртуальных ленточных библиотек VTL (Virtual Tape Library), которые стали фундаментальным элементом инфраструктуры центров обработки данных (ЦОД). Но, как известно, при использовании VTL стоимость хранения одного гигабайта резервной копии выше, чем в случае обычных ленточных библиотек, поскольку носители для последних дешевле, чем диски. Поскольку внедрение дедупликации сглаживает данный недостаток VTL, интерес к этой технологии постоянно растет (рис. 1). Эксперты компании Gartner прогнозируют, что к 2012 г. технология дедупликации будет применяться в 75% процедур резервного копирования.

Фирмы-производители реализуют дедупликацию самыми разными способами (физически это может быть программная или аппаратная реализация), однако всем им приходится решать несколько схожих проблем.

Производительность. Часто даже не имеет значения, насколько эффективна технология, уменьшающая требования к емкости хранения, если она не может обработать поступающие данные в заданный период времени («временное окно»). Таким образом, производительность – это основной критерий при анализе решений дедупликации.

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

Факторизация (распознавание избыточных данных). Дедупликация основывается на проприетарных (фирменных) алгоритмах, базирующихся, в свою очередь, либо на хэшировании (когда первым делом создается некий «отпечаток пальца» для каждого блока данных, а затем эти «отпечатки» сравниваются), либо на сравнении действительных данных. Факторизация — важный определяющий элемент скорости дедупликации.

Архитектура. Обычно рассматриваются две основные архитектуры дедупликации, хотя на самом деле их существует все-таки три. Первая из них — это постобработка (пост-процессинг). В этом случае сначала сохраняют резервные копии, а затем дедуплицируют их. При таком подходе к дедупликации для кеширования копируемых данных требуется дополнительное дисковое пространство, что снижает эффективность этой процедуры. Таким образом, постпроцессинговая обработка обеспечивает максимально быстрое поступление данных, однако для временного хранения требуется дополнительная емкость.

Далее, онлайновая обработка («на лету») означает, что дедупликация данных происходит перед их записью в хранилище. Это требует довольно высокой процессорной мощности, но позволяет существенно сократить объем хранения и количество операций ввода-вывода. В этом случае важно, чтобы выполнение процесса дедупликации не тормозило резервное копирование. И третий вариант — параллельная обработка; в этом случае запись «сырых» данных на диск, их дедупликация и перезапись факторизованных данных происходят в одно и то же время. Для параллельного выполнения этих трех операций требуется очень высокая вычислительная мощность и дополнительное дисковое пространство в хранилище.

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

Коэффициент дедупликации. Значение данного коэффициента вычисляется путем деления первоначального объема данных на объем данных, полученных после дедупликации. Наиболее эффективна дедупликация оказывается в том случае, когда данные обладают большой избыточностью на уровне файлов, а также когда они копируются и/или сохраняются после внесения незначительных изменений. В общем случае неструктурированные данные (файлы Microsoft Office, виртуальные диски, резервные копии, файлы электронной почты и архивов) показывают лучшие коэффициенты, чем при дедупликации файлов баз данных (структурированных данных).

Компанию Diligent Technologies основали в 2002 г. два бывших сотрудника корпорации EMC – Моше Янаи и Дорон Кимпл. С самого начала этот «стартап» был нацелен на создание платформы дедупликации high-end для корпоративного рынка. Шесть математиков работали над масштабируемыми алгоритмами фильтрации избыточных данных в инфраструктурах хранения. Основные критерии при этом были заданы следующим образом :

  • дедупликация «на лету» с производительностью не менее 400 Мбайт/с на систему,
  • масштабируемость хранилища – до 1 Пбайт на одну систему;
  • гарантированная 100%-ная целостность данных.

В середине 2004 г. был создан алгоритм HyperFactor и началась работа над платформой ProtecTIER (рис. 2). Напомним, что в этом программном решении предусмотрено разделение данных на блоки, аналогично тому, как это делается в системах, использующих хеш-функции. Но для определения подобия блоков в нем применяется специальный фирменный алгоритм. Затем в подобных блоках делается побайтное сравнение данных с целью определить, копировался ли данный блок раньше. Результирующий коэффициент дедупликации оказался на уровне 25:1, а производительность на одну систему – 450 Мбайт/с.

На настоящий момент решения дедупликации ProtecTIER развернуты в десятках крупнейших центров обработки, снижая потребности в средствах хранения данных. В качестве партнеров компании выступили такие крупнейшие игроки на рынке хранения, как Hitachi Data Systems и Sun Microsystems. В 2008 г. Diligent Technologies приобрела корпорация IBM.

Эксперты Enterprise Strategy Group (ESP) и Enterprise Management Associates (EMA) провели испытания шлюза дедупликации IBM TS7650G ProtecTIER в конфигурации двухузлового кластера (рис. 3). Производительность дедупликации выросла пропорционально количеству узлов и оказалась на уровне 900 Мбайт/с. В тестовой конфигурации использовались ПО ProtecTIER версии 2.1, два шлюза TS7650G на базе серверов IBM х3850 (каждый базируется на четырехъядерном процессоре Xeon 2,9 ГГц с 32 Гбайт оперативной памяти и парой 4 Гбит/с Fibre Channel HBA), система хранения данных IBM DS8300, коммутатор QLogic SANbox 5200, ПО резервирования Symantec Veritas NetBackup (v6 SP5) и медиасерверы на базе процессоров x86.