Дедупликация данных
Дедупликация данных представляет собой процесс, при котором устраняются избыточные копии информации, в итоге снижая текущие расходы на хранение этой информации. С помощью этой технологии можно оптимизировать емкость любого хранилища данных.
Независимо от способа, дедупликация позволяет сохранять на носителях исключительно одну уникальную единицу информации. Поэтому, один из наиболее важных моментов в дедупликации — это уровень детализации.
У дедупликации данных есть несколько уровней выполнения:
- байты;
- файлы;
- блоки.
У каждого такого метода есть свои положительные и отрицательные стороны. Рассмотрим их подробнее.
[text_with_btn btn=”подробнее” link=”https://itglobal.com/ru-ru/services/virtual-infrastructure/hybrid-cloud/”]Гибридное облачное хранилище[/text_with_btn]Методы дедупликации данных
Уровень блоков
Считается наиболее популярным методом дедупликации, и подразумевает анализ части данных (файл), с дальнейшим сохранением лишь уникальных повторений информации для каждого отдельно взятого блока.
Блоком, при этом, считается одна логическая единица информации с характерным размером, который может варьироваться. Все данные при дедупликации на уровне блоков обрабатываются с применением хеширования (например, SHA-1 или MD5).
Хеш-алгоритмы позволяют создавать и хранить в базе дедупликации определенную сигнатуру (идентификатор), которая соответствует каждому отдельно взятому уникальному блоку данных.
Так, если на протяжении определенного времени файл будет изменен, то в хранилище данных попадет не цельный файл, а лишь его измененные блоки.
Есть 2 разновидности блочной дедупликации — с переменной и постоянной длиной блоков. Первый вариант подразумевает распределение файлов на блоки, каждый из которых может иметь разный размер.
Этот вариант более эффективный в плане уменьшения объема хранимых данных, чем при применении дедупликации с постоянной длиной блоков.
Уровень файлов
Такой метод дедупликации подразумевает сравнение нового файла с уже сохраненным. Если же попадается какой-либо уникальный файл, то он будет сохранен. Если же попавшийся файл будет не новым, то сохранится только ссылка (указатель на этот файл).
То есть, при таком виде дедупликации записывается исключительно один вариант файла, а все будущие его копии будут получать указатель на первоначальный файл. Главное преимущество такого способа — простота реализации без серьезного снижения производительности.
Уровень байтов
По своему принципу похож на первый в нашем списке рассматриваемый метод дедупликации, но вместо блоков тут используется сравнение старых и новых файлов по байтам. Такой способ — единственный, при котором можно гарантировать максимальное устранение дубликатов файлов.
Однако у дедупликации на уровне байтов есть и существенный минус: аппаратная составляющая машины, на которой запущен процесс, должна быть крайне мощной, так как к ней предъявляются более высокие требования.
Дедупликация данных и резервное копирование
Кроме всего вышеописанного, в процессе создания резервной копии данных дедупликация может выполняться разными методами по:
- месту выполнения;
- источнику данных (клиенту);
- стороне хранения (серверу).
Дедупликация клиент-сервер
Совмещенный метод дедупликации данных, при котором необходимые процессы могут запускаться как на сервере, так и на клиенте. Прежде, чем отправить данные с клиента на сервер, программное обеспечение вначале пытается “понять”, какие данные уже записаны.
Для такой дедупликации изначально необходимо вычислить хеш у каждого блока данных, после чего отправить их на сервер в виде файла-списка различных хеш-ключей. На сервере же производится сравнение списка этих ключей, а затем клиенту отправляются блоки с данными.
Этот способ существенно снижает нагрузку на сеть, т. к. передаются исключительно уникальные данные.
Дедупликация на клиенте
Подразумевает выполнение операции непосредственно на источнике данных. Поэтому, при такой дедупликации будут задействованы вычислительные мощности именно клиента. После завершения процесса данные будут отправлены на устройства хранения информации.
Такой вид дедупликации всегда реализуется при помощи программного обеспечения. А главный минус описанного метода заключается в высокой нагрузке на ОЗУ и процессор клиента. Ключевое преимущество же кроется в возможности передачи данных по сети с низкой пропускной способностью.
Дедупликация на сервере
Используется в случае, когда данные поступают на сервер в полностью необработанном виде — без кодирования и сжатия. Такой вид дедупликации подразделяется на программный и аппаратный.
Аппаратный тип
Реализовывается на базе устройства дедупликации, которое предоставляется в виде определенного аппаратного решения, объединяющем логику дедупликации и процедуру восстановления данных.
Преимущество такого метода заключается в возможности передавать нагрузку с серверных мощностей на определенную аппаратную единицу. Сам процесс дедупликации при этом получает максимальную прозрачность.
Программный тип
Подразумевает использование специального программного обеспечения, которое, собственно, и выполняет все необходимые процессы дедупликации. Но, при таком подходе всегда необходимо учитывать нагрузку на сервер, которая будет возникать в процессе дедупликации.
Плюсы и минусы
К положительным сторонам дедупликации, как процесса, можно отнести следующие моменты:
- Высокая эффективность. Согласно исследованиям компании EMC, процесс дедупликации данных позволяет снизить потребность в емкости для хранения информации в 10-30 раз.
- Выгодность применения при низкой пропускной способности сети. Что обусловлено передачей исключительно уникальных данных.
- Возможность чаще создавать бэкапы и хранить резервные копии данных дольше.
К минусам дедупликации относятся:
- Возможность возникновения конфликта данных, если одновременно пара разных блоков генерируют один и тот же хеш-ключ. При этом может произойти повреждение базы данных, что вызовет сбой при восстановлении из резервной копии.
- Чем больший объем будет иметь база данных, тем более высок риск возникновения конфликтной ситуации. Решение проблемы заключается в увеличении хеш-пространства.