Дедупликация

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Winterheart (обсуждение | вклад) в 15:53, 16 декабря 2013. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

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

Однако дедупликацию не стоит путать с более традиционными алгоритмами сжатия, например LZ77 или LZO. Эти алгоритмы производят поиск в пределах определённого буфера отдельного файла (так называемое «скользящее окно»), когда как алгоритм дедупликации производит поиск копий по огромному массиву данных.

Преимущества и области применения

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

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

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

Ссылки