Зменшення даних за допомогою дедуплікації та стиснення - IONOS
За даними міжнародного дослідницького інституту IDC, кількість глобальних даних подвоюється приблизно кожні два роки. З 2020 року це цифровий Всесвіт повинен мати загальний обсяг 44 зеттабайти. Це виробництво або копія 44 трильйонів гігабайт даних за один рік. Цей розвиток має наслідки, зокрема, на техніках зберігання, процедурах зворотного зв'язку та системах відновлення даних. Вони повинні вміти нести величезну вагу даних, а також використовувати їх. Висунуто методи для концепцій технічного впровадження. Вони дозволяють зменшити фізичну інформацію, а також витрати на збереження даних. Ці методи в першу чергу покладаються на два підходи: стиснення даних та дедуплікацію. При стисненні даних без втрат використовується надмірність у файлі, Алгоритми дедуплікації зазвичай коригують дані файлу, щоб уникнути дублювання. Таким чином, резервне копіювання даних є основною областю технології дедуплікації.

Дедуплікація
Техніка дедуплікації відноситься до процесу зменшення даних, що дозволяє уникати надмірності даних на просторі для зберігання системи. Машина дедуплікації використовується для усунення зайвих файлів або блоків даних завдяки спеціальним алгоритмам.
Мета дедуплікації як техніки зберігання - записати стільки інформації, скільки потрібно, на енергонезалежні носії для того, щоб відновити файл без втрат. Чим більше дублікатів видалено, тим менший обсяг даних потрібно зберігати та передавати. Наприклад, ідентифікація дублікатів може бути виконана в Git або Dropbox на рівні файлу, але алгоритми, які працюють на рівні підфайлу, все-таки ефективніші. Таким чином, файли розбираються на блоки даних, які мають контрольну суму або хеші. A база даних відстеження служить центральним органом контролю і містить усі ці контрольні суми.
Метод побудови блоків дедуплікації має дві варіації:
- Дедуплікація довгими суцільними блоками: алгоритм поділяє файли на фрагменти абсолютно однакової довжини. Зазвичай це засновано на розмірі файлової групи (кластера) або системи RAID (зазвичай 4 КБ), але її також можна налаштувати вручну. Довжина блоків в даному випадку індивідуально пристосовується і визначається як стандартна для всіх блоків.
- Дедуплікація з блоками змінної довжини: тут не визначена стандартна довжина. Натомість алгоритм ділить дані на різні блоки, які різняться за довжиною залежно від типу.
Тип відправлення має все більш важливий вплив на ефективність дедуплікації. Це особливо важливо, коли передані дані змінюються пізніше. Якщо ми розширимо a суцільний блок даних з додатковою інформацією вміст усіх наступних блоків зазвичай рухається пропорційно до заданих меж блоків. Хоча зміна стосується лише одного блоку даних, алгоритм дедуплікації також знову класифікує всі наступні сегменти файлу через зміщення меж блоків. Також можливо, що модифіковані байти мають точно такий же кратний, як і фіксована довжина блоку. Оскільки блоки, позначені як нові, знову зберігаються, копія під час дедуплікації блоків даних фіксованої довжини збільшує обчислювальну пам'ять, а також навантаження на пропускну здатність.
Якщо замість цього використовується алгоритм межі змінних блоків, зміни в одному блоці не впливають на сусідні сегменти. Натомість змінюється та зберігається лише модифікований блок даних. Це розвантажує мережу, оскільки під час резервного копіювання передається менше даних. Однак ця гнучкість модифікацій даних є дорогою з точки зору ресурсів процесора, оскільки алгоритм повинен спочатку з'ясувати, як розподіляються різні частини даних.
Ідентифікація надлишкових частин базується на припущенні, що блоки даних містять однакову хеш-інформацію. Для того, щоб відфільтрувати зайві частини, алгоритму дедуплікації потрібно лише повторно передати хеші та порівняти їх із базою даних відстеження. Якщо там є однакові контрольні суми, надлишкові частини замінюються покажчиком, який вказує на простір для зберігання, ідентичний простору блоку даних. Такий вказівник сам по собі вимагає значно менше місця в порівнянні з блоком даних. Чим більше даних замінюється такими вказівниками, тим менше місця для зберігання потрібно. Однак ми не можемо передбачити ефективність скорочення даних за допомогою алгоритмів дедуплікації, оскільки вони сильно залежать від вихідного файлу та його структури даних. Крім того, дедуплікація підходить лише для некодованих даних. Спеціально уникається надмірностей у системах шифрування, що робить розпізнавання образів неможливим.
Дедуплікація відбувається або в цільовому місці зберігання, або у джерелі.
Дедуплікація джерела
Якщо надлишкові дані вже видалено перед передачею в цільовий простір зберігання, це називається дедуплікацією джерела. У цьому випадку машина дедуплікації, наприклад, інтегрована в програма резервного копіювання. Надлишкова інформація безпосередньо видаляється із системи даних джерела даних. Для цього програма резервного копіювання регулярно сканує нещодавно створені блоки даних і порівнює їх із уже існуючими резервними копіями серверів. Якщо він виявить надлишковий блок файлів, він виключить його із наступної резервної копії. Якщо файл змінено, програма резервного копіювання передає лише ті зміни.
Очевидною перевагою методу дедуплікації з точки зору безпеки даних є те, що нова інформація, що передається на сервер резервного копіювання, зменшує пропускну здатність, а також ємність цільового простору зберігання. На відміну від цільового методу дедуплікації, дедуплікація джерела передбачає додаткові інвестиційні програми та ресурси резервного копіювання. Тому він не підходить для всіх сценаріїв використання.
Дедуплікація цілі
Зменшення даних здійснюється поза вихідними даними за допомогою цільового методу дедуплікації. Машина дедуплікації може бути будь-якою інтегрований у матеріальну дошку або як як самостійний пристрій. В обох випадках цільова дедуплікація зменшує необхідну ємність пам'яті і, на відміну від дедуплікації джерела, не впливає на обсяг даних, що передаються з вихідної системи в цільовий простір для зберігання через локальну мережу або WIFI при увімкненні. 'Резервна копія. Залежно від обраної цільової структури дедуплікації, ми розрізняємо посаду-дедуплікація обробки і вбудована дедуплікація.
Стиснення даних
За допомогою стиснення даних файли передаються в альтернативне представлення, яке є більш ефективним, ніж початкове. Мета цього кодування - зменшити не тільки необхідну пам’ять, але й час передачі. Ми розрізняємо два підходи посилення кодування:
- Стиснення, зумовлене надмірністю: під час стиснення без втрат, щоб зменшити надмірність даних, дані можуть бути декомпресовані без втрат після стиснення. Таким чином, вхідні та вихідні дані ідентичні. Таке стиснення можливе лише за умови, що дані містять надлишкову інформацію.
- Стиснення зосереджене на недоречності: при стисненні з втратами видаляється незначна інформація для стиснення файлу. Це передбачає у всіх випадках втрату даних. Вихідні дані можна відновити лише приблизно. Дані, які вважаються недоречними, є суб’єктивними. Під час стиснення звуку через MP3, наприклад, частотні схеми, які люди вважають непомітними, видаляються.
Хоча стиснення відбувається без втрат в системах зберігання даних, втрата даних відбувається в інших областях, таких як передача зображення, відео чи аудіо, при зменшенні розміру такого файлу.
Стиснення вимагає стільки обчислень, скільки розпакування файлів. Але така кількість обчислень залежить від використовуваного методу стиснення. Хоча декілька методів розроблено, щоб зробити вихідні дані максимально компактними, інші методи зменшують обчислювальний час, необхідний для зменшення даних. Вибір методу стиснення завжди ґрунтується на вимогах відповідної галузі застосування.
Для прямої передачі відео або аудіозапису рекомендується використовувати процес, який сприяє стисненню та швидкому відновленню даних. Порівняно, у цьому випадку також прийнятним є менший коефіцієнт посилення кодування без втрати даних. Дані, що надаються великій кількості користувачів через Файловий сервер, можуть трактуватися по-різному: стиснення має зайняти більше часу і, отже, використовувати більш ефективний алгоритм стиснення, що дозволяє кодувати з високим коефіцієнтом посилення без втрати якості.
Стиснення даних без втрат
Хоча алгоритм дедуплікації шукає різні файли в подібних витягах даних і замінює їх перехресними посиланнями на відповідний розділ, існують процеси, які працюють на стиснення даних без втрат з так званими поданнями. Це складається із заміни розділів, які повторюються кілька разів у межах одного файлу, на значно коротший подання. Ось ілюстрація такого випадку з наступним прикладом:
Вихідний текст: ABCDEABCEEABCEE
Кодування: ABC = 1; ЕЕ = 2
Стислий текст: 1DE1212
Вихідний текст довжиною 15 символів можна зменшити до 7 символів шляхом стиснення. Тому коефіцієнт посилення кодування становить понад 50 відсотків. Передумовами цього є те, що система декодування знає як методи кодування, так і способи декодування.
Більшість процесів стиснення без втрат використовують повторення символів або комбінації символів у файлі. Кодування слів та Lempel-Ziv (LZ77) - популярні процеси стиснення на основі повторення.
- Кодування слів: цей процес стиснення в основному підходить для текстових файлів. Його основний принцип - заміна слів короткими поданнями. Для цього першим кроком є створення списку та присвоєння кожному слову у файлі значення. Таким чином, цілі тексти можуть бути перетворені в цифрові коди.
Вихідний текст: чай або кава
Кодування: Чай = 1; або = 2, кава = 3
Стислий текст: 123
Оскільки за допомогою цього процесу також потрібно зберігати список слів, кодування слів особливо ефективно для текстів, що містять багато повторень.
- Процес Лемпеля-Жива: цей процес також заснований на методі, заснованому на словнику, який дозволяє стискати послідовності символів за принципом надмірності. Алгоритм стиснення використовує для цього вміст, представлений у словниках. Посилання на серію однакових символів представлено значенням із трьох частин, що дозволяє визначити положення та довжину частини з повтореннями. Примирення здійснюється на етапі дослідження та на етапі презентації. Якщо збігу не знайдено, ми отримаємо значення triple (0, 0, X), X - відповідний символ. Наступна схема є прикладом кодування LZ77 для слова BANANE:
Символи або послідовності символів на етапі презентації порівнюються з символами (зі словника) на етапі пошуку. Рядок 4 відповідає заміні символів ANE через триплет (2, 2, E). Це звучить так:
2 = замінити поточну послідовність символів на послідовність символів, вже прочитану в позиції номер два етапу пошуку (A)
2 = заміна складається з двох знаків (A та N)
E = перший символ після заміни - E
Оскільки більшість даних можна ефективно стиснути за допомогою процесу LZ77, наступники цього алгоритму, такі як LZSS, зараз широко використовуються і використовуються, серед іншого, для форматів файлів Zip, PNG або PDF.
Окрім методів кодування без втрат на основі повторень, існують методи, засновані на частоті або довжині, але також кодування Хаффмана.
- Кодування на основі довжини: за допомогою цього методу послідовні надмірності знаходяться у видошукачі. Схематичне зображення ізольованої лінії чорно-білого графіка дозволяє нам краще зрозуміти це.
Вихідні дані: WWWWWSSSSWWSSWWWWWWSSSSSSWWW
Чітке зменшення даних для запису можливо, якщо повторювані символи можна охарактеризувати як значення крутного моменту від кількості повторень.
Стислий файл: 5W4S2W2S6W6S3W
Кодування на основі довжини реалізовується під час стиснення зображень, але втрачає ефективність, чим більше кольорів є для кодування. Хоча чорно-білі ескізи можуть бути представлені двома кольорами, для 8-бітних сірих зображень вже потрібно 256 відтінків сірого. Імовірність того, що більше двох послідовних пікселів представляють одне і те ж значення кольору, явно зменшується при складних зображеннях з дрібним кольоровим градієнтом. Оскільки в цьому прикладі кодування ґрунтується на двозначних парах значень, тут вже відбувається посилення кодування, якщо щонайменше три однакові символи слідують один за одним. Модифікована форма кодування на основі довжини є частиною дуже популярного процесу стиснення JPEG.