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

редактировать
Метод обработки данных для устранения дублирующих копий повторяющихся данных

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

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

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

Содержание
  • 1 Преимущества
  • 2 Классификация
    • 2.1 Постобработка по сравнению с поточной дедупликацией
    • 2.2 Форматы данных
    • 2.3 Дедупликация источника и целевого объекта
    • 2.4 Методы дедупликации
  • 3 Хранилище единственного экземпляра
  • 4 Недостатки и проблемы
  • 5 Реализации
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Преимущества

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

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

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

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

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

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

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

Методы постобработки и встроенной дедупликации часто являются предметом серьезных дискуссий.

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

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

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

Дедупликация источника и целевого объекта

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

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

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

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

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

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

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

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

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

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

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

Одноэкземплярное хранилище

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

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

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

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

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

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

Реализации

Дедупликация реализована в некоторых файловых системах, таких как как в ZFS или Write Anywhere File Layout и в различных моделях дисковых массивов.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-17 14:09:51
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте