stringtranslate.com

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

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

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

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

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

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

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

В компьютерном коде дедупликация осуществляется, например, путем хранения информации в переменных , чтобы их не приходилось записывать по отдельности, а можно было изменить все сразу в центральном месте, на которое имеется ссылка . Примерами являются классы CSS и именованные ссылки в MediaWiki .

Преимущества

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

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

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

Классификация

Постобработка и поточная дедупликация

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

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

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

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

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

Форматы данных

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

Исходная и целевая дедупликация

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

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

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

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

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

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

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

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

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

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

Хранилище одного экземпляра

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

Хранилище одного экземпляра может использоваться наряду с другими методами дублирования или сжатия данных (или над ними) для повышения производительности в обмен на увеличение сложности и (в некоторых случаях) незначительное увеличение требований к пространству хранения.

Недостатки и проблемы

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

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

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

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

Реализации

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

Смотрите также

Рекомендации

  1. ^ «Понимание дедупликации данных». Друва . 09.01.2009. Архивировано из оригинала 6 августа 2019 г. Проверено 6 августа 2019 г.
  2. ^ ab «Словарь SNIA »Словарь D» . Архивировано из оригинала 24 декабря 2018 г. Проверено 6 декабря 2023 г.
  3. ^ Сжатие, дедупликация и шифрование: в чем разница? Архивировано 23 декабря 2018 г. в Wayback Machine , Стивен Бигелоу и Пол Крочетти.
  4. ^ «Дедупликация в реальном времени или после обработки? (обновлено 6-08)» . Резервный центр. Архивировано из оригинала 6 декабря 2009 г. Проверено 6 декабря 2023 г.
  5. ^ «Встроенные устройства дедупликации против постобработки» . techtarget.com. Архивировано из оригинала 9 июня 2009 г. Проверено 6 декабря 2023 г.
  6. ^ «Windows Server 2008: Windows Storage Server 2008» . Microsoft.com. Архивировано из оригинала 4 октября 2009 г. Проверено 16 октября 2009 г.
  7. ^ «Продукты - ОС платформы». НетАпп. Архивировано из оригинала 6 февраля 2010 г. Проверено 16 октября 2009 г.
  8. ^ "Системный вызов reflink(2) v5" . lwn.net . Архивировано из оригинала 2 октября 2015 г. Проверено 4 октября 2019 г.
  9. ^ "ioctl_ficlonerange(2)". Страница руководства по Linux . Архивировано из оригинала 07.10.2019 . Проверено 4 октября 2019 г.
  10. ^ Кадзуки МАТСУДА. «Добавить файл клона в Windows через поддержку ReFS». Гитхаб . Архивировано из оригинала 13 января 2021 г. Проверено 23 февраля 2020 г.
  11. ^ Пример реализации, которая проверяет идентичность, а не предполагает ее, описан в «Заявке на патент США № 20090307251». Архивировано 15 января 2017 г. на Wayback Machine .
  12. ^ Объяснение клиентам показателей дедупликации и одноэкземплярного хранилища. Архивировано 23 декабря 2018 г. на Wayback Machine . Джордж Крамп, Storage Switzerland
  13. ^ КРИСТИАН КАШЕН; МАТТИАС ШАНТЕР (декабрь 2011 г.). «Облако, которому можно доверять». IEEE-спектр . ИИЭЭ . Архивировано из оригинала 2 января 2012 г. Проверено 21 декабря 2011 г.

Внешние ссылки