Системы хранения данных: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 272:
=== Дедупликация ===
==== теория ====
Дедупликация данных — специализированный метод сжатия массива данных, использующий в качестве алгоритма сжатия исключение дублирующих копий повторяющихся данных. Данный метод обычно используется для оптимизации использования дискового пространства систем хранения данных, однако может применяться и при сетевом обмене данных для сокращения объема передаваемой информации.
 
В процессе дедупликации во время анализа идентифицируются и запоминаются уникальные элементы информации фиксированного размера (англ. chunks). По мере выполнения анализа сравниваются все новые и новые элементы. При выявлении дублирующегося элемента, он заменяется ссылкой на уникальное вхождение (или на него перенаправляется уже существующая ссылка), а пространство, занимаемое дубликатом, высвобождается. Таких повторяющихся элементов может попадаться очень много, благодаря чему объём, необходимый для сохранения массива данных, может быть сильно сокращён.
 
Однако дедупликацию не стоит путать с более традиционными алгоритмами сжатия, например LZ77 или LZO. Эти алгоритмы производят поиск в пределах определённого буфера отдельного файла (так называемое «скользящее окно»), тогда как алгоритм дедупликации производит поиск копий по огромному массиву данных.
==== проблемы и решения ====
Дедупликация способна сократить объём необходимого пространства для определенного набора файлов. Она наиболее эффективна в тех случаях, когда хранимые файлы мало отличимы или имеют много сходных элементов, например в случае резервных копий, где большинство данных остается неизменными с момента прошлой резервной копии. Системы резервирования могут использовать эту особенность, используя жёсткие ссылки на повторяющиеся файлы или копируя только изменённые файлы. Однако эти подходы могут оказаться мало полезными, если у большого блока данных (например, базы данных или архива почтовых сообщений) изменился только небольшой участок данных.
 
В передаче данных дедупликация может использоваться для сокращения передаваемой информации, что позволяет сэкономить на ширине необходимой пропускной способности канала передачи данных.
 
Также дедупликация находит широкое применение в системах виртуализации, где дедупликация позволяет условно выделить повторяющиеся элементы данных каждой из виртуальных систем в отдельное пространство.
==== примеры реализации ====