Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Процесс дедупликации требует сравнения «фрагментов» данных (также известных как «байтовые шаблоны»), которые представляют собой уникальные непрерывные блоки данных. Эти фрагменты идентифицируются и сохраняются в процессе анализа и сравниваются с другими фрагментами существующих данных. Всякий раз, когда происходит совпадение, избыточный фрагмент заменяется небольшой ссылкой, указывающей на сохраненный фрагмент. Учитывая, что один и тот же байтовый шаблон может встречаться десятки, сотни или даже тысячи раз (частота совпадений зависит от размера блока), объем данных, которые должны быть сохранены или переданы, может быть значительно уменьшен. [1] [2]

Связанный метод - это хранилище одного экземпляра (данных) , которое заменяет несколько копий контента на уровне всего файла одной общей копией. Это отличается от современных подходов к дедупликации данных, которые могут работать на уровне сегмента или субблока.

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

Принцип работы [ править ]

Например, типичная система электронной почты может содержать 100 экземпляров одного и того же файлового вложения размером 1 МБ ( мегабайт ). Каждый раз при резервном копировании платформы электронной почты все 100 экземпляров вложения сохраняются, для чего требуется 100 МБ дискового пространства. При дедупликации данных фактически сохраняется только один экземпляр вложения; последующие экземпляры ссылаются на сохраненную копию для коэффициента дедупликации примерно 100: 1. Дедупликация часто сочетается со сжатием данных для дополнительной экономии хранилища: дедупликация сначала используется для удаления больших фрагментов повторяющихся данных, а затем используется сжатие для эффективного кодировать каждый из сохраненных фрагментов. [3]

Преимущества [ править ]

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

Оперативная дедупликация сетевых данных используется для уменьшения количества байтов, которые должны быть переданы между конечными точками, что может уменьшить требуемую полосу пропускания. См. Раздел Оптимизация WAN для получения дополнительной информации. Виртуальные серверы и виртуальные рабочие столы выигрывают от дедупликации, поскольку она позволяет объединить номинально отдельные системные файлы для каждой виртуальной машины в единое пространство хранения. В то же время, если данная виртуальная машина настраивает файл, дедупликация не изменит файлы на других виртуальных машинах - чего не предлагают альтернативы, такие как жесткие ссылки или общие диски. Аналогичным образом улучшено резервное копирование или создание дубликатов виртуальных сред.

Классификация [ править ]

Постобработка и дедупликация на линии [ править ]

Дедупликация может происходить «на лету», когда данные передаются, или «пост-процесс» после того, как они были записаны.

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

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

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

Методы постобработки и встроенной дедупликации часто вызывают серьезные споры. [4] [5]

Форматы данных [ править ]

Словарь SNIA определяет два метода: [2]

  • Дедупликация данных без учета содержимого - метод дедупликации данных, не требующий осведомленности о конкретных форматах данных приложения.
  • Дедупликация данных с учетом содержимого - метод дедупликации данных, который использует знания о конкретных форматах данных приложений.

Сравнение исходной и целевой дедупликации [ править ]

Другой способ классифицировать методы дедупликации данных - в зависимости от того, где они происходят. Дедупликация, происходящая рядом с местом создания данных, называется «дедупликацией источника». Когда это происходит рядом с местом хранения данных, это называется «целевой дедупликацией».

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

Дедупликацию источника можно объявить явно для операций копирования, поскольку не требуется никаких вычислений, чтобы знать, что скопированные данные нуждаются в дедупликации. Это приводит к новой форме «связывания» файловых систем, называемой reflink (Linux) или clonefile (MacOS), где один или несколько inodes (записи информации о файлах) предназначены для совместного использования некоторых или всех своих данных. Он назван аналогично жестким ссылкам , которые работают на уровне inode, и символическим ссылкам, которые работают на уровне имени файла. [8] Отдельные записи имеют поведение «копирование при записи» без наложения имен, т.е. изменение одной копии впоследствии не повлияет на другие копии. [9] Microsoft ReFSтакже поддерживает эту операцию. [10]

Целевая дедупликация - это процесс удаления дубликатов, когда данные не были созданы в этом месте. Примером этого может быть сервер, подключенный к SAN / NAS, SAN / NAS будет целью для сервера (целевая дедупликация). Сервер не знает о дедупликации, сервер также является точкой генерации данных. Второй пример - резервное копирование. Обычно это будет хранилище резервных копий, такое как репозиторий данных или виртуальная ленточная библиотека .

Методы дедупликации [ править ]

Одна из наиболее распространенных форм реализации дедупликации данных заключается в сравнении фрагментов данных для обнаружения дубликатов. Для этого каждому блоку данных присваивается идентификатор, вычисляемый программным обеспечением, обычно с использованием криптографических хеш-функций. Во многих реализациях делается предположение, что если идентификация идентична, данные идентичны, хотя это не может быть верным во всех случаях из-за принципа ячейки ; другие реализации не предполагают, что два блока данных с одним и тем же идентификатором идентичны, а фактически проверяют идентичность данных с одинаковым идентификатором. [11] Если программное обеспечение либо предполагает, что данная идентификация уже существует в пространстве имен дедупликации, либо фактически проверяет идентичность двух блоков данных, в зависимости от реализации, то оно заменяет этот повторяющийся фрагмент ссылкой.

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

Коммерческие реализации дедупликации различаются методами и архитектурой фрагментов.

  • Чанкинг. В некоторых системах фрагменты определяются ограничениями физического уровня (например, размером блока 4 КБ в WAFL ). В некоторых системах сравниваются только полные файлы, что называется одноэкземплярным хранилищем или SIS. Наиболее интеллектуальным (но интенсивным для ЦП) методом разбиения на фрагменты обычно считается скользящий блок. В скользящем блоке вдоль файлового потока передается окно для поиска более естественных внутренних границ файла.
  • Дедупликация резервных копий клиентов. Это процесс, при котором вычисления хэша дедупликации первоначально создаются на исходных (клиентских) машинах. Файлы, хэши которых идентичны файлам, уже находящимся на целевом устройстве, не отправляются, целевое устройство просто создает соответствующие внутренние ссылки для ссылки на дублированные данные. Преимущество этого заключается в том, что данные не передаются по сети без необходимости, тем самым снижая нагрузку на трафик.
  • Первичное хранилище и вторичное хранилище. По определению, первичные системы хранения данных рассчитаны на оптимальную производительность, а не на минимально возможную стоимость. Критериями проектирования этих систем является повышение производительности за счет других соображений. Более того, первичные системы хранения гораздо менее терпимы к любым операциям, которые могут отрицательно повлиять на производительность. Также по определению вторичные системы хранения содержат в основном дублированные или вторичные копии данных. Эти копии данных обычно не используются для реальных производственных операций и в результате более терпимы к некоторому снижению производительности в обмен на повышение эффективности.

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

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

Одноэкземплярное хранилище [ править ]

Одноэкземплярное хранилище (SIS) - это способность системы принимать несколько копий объектов контента и заменять их одной общей копией. Это средство устранения дублирования данных и повышения эффективности. SIS часто применяется в файловых системах , программном обеспечении серверов электронной почты , резервном копировании данных и другом компьютерном программном обеспечении, связанном с хранением данных. Одноэкземплярное хранилище - это простой вариант дедупликации данных . В то время как дедупликация данных может работать на уровне сегмента или субблока, хранилище единственного экземпляра работает на уровне объекта, устраняя избыточные копии объектов, таких как целые файлы или сообщения электронной почты. [12]

Недостатки и проблемы [ править ]

Один из методов дедупликации данных основан на использовании криптографических хэш-функций для выявления повторяющихся сегментов данных. Если два разных фрагмента информации генерируют одно и то же значение хеш-функции, это называется конфликтом . Вероятность коллизии зависит в основном от длины хэша (см. « Атака дня рождения» ). Таким образом, возникает опасение, что при возникновении хеш-коллизии может произойти повреждение данных , и дополнительные средства проверки не используются, чтобы проверить, есть ли разница в данных или нет. Как встроенная, так и постпроцессорная архитектура могут предлагать побитовую проверку исходных данных для гарантированной целостности данных. [13] Используемые хэш-функции включают такие стандарты, какSHA-1 , SHA-256 и другие.

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

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

Хотя дедупликация данных не является недостатком, имели место утечки данных, когда недостаточная безопасность и процедуры проверки доступа использовались с большими репозиториями дедуплицированных данных. В некоторых системах, как типичные с хранения облака, [ править ] злоумышленник может получить данные , принадлежащие другим, зная или угадать значение хэш -функции требуемых данных. [14]

Реализации [ править ]

Дедупликация реализована в некоторых файловых системах, таких как ZFS [15] или Write Anywhere File Layout, а также в различных моделях дисковых массивов . Это служба, доступная как в NTFS, так и в ReFS на серверах Windows.

См. Также [ править ]

  • Оптимизация мощности
  • Облачное хранилище
  • Одноэкземплярное хранилище
  • Контент-адресное хранилище
  • Дельта-кодирование
  • Связанные данные
  • Указатель
  • Запись связи
  • Разрешение личности
  • Конвергентное шифрование

Ссылки [ править ]

  1. ^ «Понимание дедупликации данных» . Друва . 2009-01-09. Архивировано из оригинала на 2019-08-06 . Проверено 6 августа 2019 .
  2. ^ a b «Словарь СНИА» Словарь D » . Архивировано 24 декабря 2018 года . Проверено 23 декабря 2018 .
  3. ^ Сжатие, дедупликация и шифрование: в чем разница? Архивировано 23 декабря 2018 года в Wayback Machine , Стивен Бигелоу и Пол Крочетти.
  4. ^ «Дедупликация на линии или после обработки? (Обновлено 6-08)» . Резервное копирование Central. Архивировано из оригинала на 2009-12-06 . Проверено 16 октября 2009 .
  5. ^ «Встроенные устройства дедупликации и пост-обработки» . Searchdatabackup.techtarget.com. Архивировано 9 июня 2009 года . Проверено 16 октября 2009 .
  6. ^ «Windows Server 2008: Windows Storage Server 2008» . Microsoft.com. Архивировано из оригинала на 2009-10-04 . Проверено 16 октября 2009 .
  7. ^ «Продукты - Платформа ОС» . NetApp. Архивировано 06 февраля 2010 года . Проверено 16 октября 2009 .
  8. ^ "Системный вызов reflink (2) v5" . lwn.net . Архивировано 2 октября 2015 года . Проверено 4 октября 2019 .
  9. ^ "ioctl_ficlonerange (2)" . Страница руководства Linux . Архивировано 7 октября 2019 года . Проверено 4 октября 2019 .
  10. ^ Кадзуки МАЦУДА. «Добавить файл клонирования в Windows через поддержку ReFS» . GitHub . Архивировано 13 января 2021 года . Проверено 23 февраля 2020 .
  11. ^ Пример реализации, которая проверяет личность, а не предполагает ее, описан в « Заявке на патент США № 20090307251», заархивированной 15 января 2017 г. на Wayback Machine .
  12. ^ Объяснение клиентам скорости дедупликации и хранилища для одного экземпляра. Архивировано 23 декабря 2018 г. на Wayback Machine . Джордж Крамп, Storage Switzerland
  13. ^ Дедупликация данных - почему, когда, где и как , группа Evaluator, заархивировано из оригинала 29.04.2012 , получено 05.07.2011
  14. ^ ХРИСТИАНСКИЙ КАШИН; МАТТИАС ШАНТЕР (декабрь 2011 г.). «Облако, которому можно доверять» . IEEE Spectrum . IEEE . Архивировано 02 января 2012 года . Проверено 21 декабря 2011 .
  15. ^ Автор, Гость. «Дедупликация ZFS» . blogs.oracle.com . Архивировано 24 декабря 2019 года . Проверено 25 ноября 2019 года .

Внешние ссылки [ править ]

  • Биггар, Хайди (2007.12.11). WebCast: эффект дедупликации данных
  • Товарищи, Расс (Evaluator Group, Inc.) Дедупликация данных, почему, когда, где и как?
  • Использование скрытого семантического индексирования для дедупликации данных .
  • Лучший способ хранить данные .
  • В чем разница между дедупликацией данных, дедупликацией файлов и сжатием данных? - База данных от eWeek
  • SNIA DDSR SIG * * Общие сведения о коэффициентах дедупликации данных
  • Делать больше с меньшими затратами, Джатиндер Сингх
  • Демонстрация дедупликации .