Deduplikace dat - Data deduplication

V práci na počítači , deduplikace dat je technika k odstranění duplicitních kopií opakování dat. Úspěšná implementace této techniky může zlepšit využití úložiště, což může zase snížit kapitálové výdaje snížením celkového množství paměťových médií potřebných ke splnění potřeb úložné kapacity. Lze jej také použít na přenosy síťových dat, aby se snížil počet bajtů, které je třeba odeslat.

Proces deduplikace vyžaduje srovnání datových 'bloků' (také známých jako 'bajtové vzory'), což jsou jedinečné, souvislé bloky dat. Tyto bloky jsou identifikovány a uloženy během procesu analýzy a porovnávány s jinými bloky v rámci stávajících dat. Kdykoli dojde k shodě, nadbytečný kus je nahrazen malým odkazem, který ukazuje na uložený kus. Vzhledem k tomu, že stejný bajtový vzorec se může vyskytnout desítky, stovky nebo dokonce tisíckrát (frekvence shody závisí na velikosti bloku), lze množství dat, která je třeba uložit nebo přenést, výrazně snížit.

Související technikou je úložiště s jednou instancí (data) , které nahrazuje více kopií obsahu na úrovni celého souboru jedinou sdílenou kopií. To se liší od moderních přístupů k deduplikaci dat, které mohou fungovat na úrovni segmentů nebo subbloků.

Deduplikace se liší od algoritmů komprese dat, jako jsou LZ77 a LZ78 . Zatímco kompresní algoritmy identifikují nadbytečná data v jednotlivých souborech a kódují tato nadbytečná data efektivněji, cílem deduplikace je kontrolovat velké objemy dat a identifikovat velké části - například celé soubory nebo velké části souborů -, které jsou totožné, a nahradit je se sdílenou kopií.

Princip fungování

Typický e -mailový systém může například obsahovat 100 instancí stejné přílohy 1 MB ( megabajtu ). Při každém zálohování e -mailové platformy se uloží všech 100 instancí přílohy, což vyžaduje 100 MB úložného prostoru. Při deduplikaci dat je ve skutečnosti uložena pouze jedna instance přílohy; následující instance jsou odkazovány zpět na uloženou kopii pro poměr deduplikace zhruba 100 ku 1. Deduplikace je často spárována s kompresí dat pro další uložení úložiště: Deduplikace se nejprve používá k odstranění velkých kusů opakujících se dat a komprese se poté používá k efektivní zakódovat každý z uložených kusů.

V počítačovém kódu se deduplikace provádí například uložením informací do proměnných , aby nemusely být vypisovány jednotlivě, ale mohly být změněny všechny najednou na centrálně odkazovaném místě. Příkladem jsou třídy CSS a pojmenované odkazy v MediaWiki .

Výhody

Deduplikace dat na základě úložiště snižuje množství úložiště potřebného pro danou sadu souborů. Je nejúčinnější v aplikacích, kde je na jednom disku uloženo mnoho kopií velmi podobných nebo dokonce identických dat. V případě zálohování dat, která jsou rutinně prováděna za účelem ochrany před ztrátou dat, zůstává většina dat v dané záloze beze změny oproti předchozí záloze. Běžné záložní systémy se toho snaží využít tak, že vynechají (nebo pevně propojí ) soubory, které se nezměnily, nebo neukládají rozdíly mezi soubory. Žádný přístup však nezachycuje veškeré propouštění. Pevné propojení nepomáhá u velkých souborů, které se změnily pouze v malých ohledech, například u e-mailové databáze; rozdíly nacházejí pouze nadbytečnost v sousedních verzích jednoho souboru (zvažte sekci, která byla odstraněna a později znovu přidána, nebo obrázek loga obsažený v mnoha dokumentech).

Deduplikace dat v síti se používá ke snížení počtu bajtů, které je třeba přenášet mezi koncovými body, což může snížit velikost požadované šířky pásma. Další informace najdete v části Optimalizace WAN . Virtuální servery a virtuální desktopy těží z deduplikace, protože umožňuje nominálně oddělené systémové soubory pro každý virtuální počítač sloučit do jednoho úložného prostoru. Současně, pokud daný virtuální počítač přizpůsobí soubor, deduplikace nezmění soubory na jiných virtuálních počítačích - něco, co alternativy jako pevné odkazy nebo sdílené disky nenabízejí. Podobně je vylepšeno zálohování nebo vytváření duplicitních kopií virtuálních prostředí.

Klasifikace

Postproces versus in-line deduplikace

Deduplikace může nastat „in-line“, jak data proudí, nebo „post-process“ po jejich zápisu.

S deduplikací po procesu jsou nová data nejprve uložena na paměťové zařízení a poté proces v pozdější době bude analyzovat data hledající duplikaci. Výhodou je, že před ukládáním dat není nutné čekat na dokončení výpočtů hash a vyhledávání, čímž zajistíte, že nedojde ke snížení výkonu úložiště. Implementace nabízející operace založené na zásadách mohou uživatelům poskytnout možnost odložit optimalizaci na „aktivní“ soubory nebo zpracovat soubory podle typu a umístění. Jednou potenciální nevýhodou je, že duplicitní data mohou být zbytečně krátkodobě ukládána, což může být problematické, pokud se systém blíží plné kapacitě.

Alternativně lze výpočty hašení deduplikace provádět přímo: synchronizovány při vstupu dat do cílového zařízení. Pokud úložný systém identifikuje blok, který již uložil, uloží se místo celého nového bloku pouze odkaz na stávající blok.

Výhodou in-line deduplikace oproti deduplikaci po procesu je, že vyžaduje méně úložiště a síťový provoz, protože duplicitní data se nikdy neukládají ani nepřenášejí. Na negativní straně mohou být výpočty hash výpočetně nákladné, čímž se sníží propustnost úložiště. Někteří prodejci s in-line deduplikací však předvedli zařízení, které je schopné provádět in-line deduplikace za vysoké ceny.

O metodách deduplikace po procesu a in-line se často velmi diskutuje.

Datové formáty

SNIA Dictionary identifikuje dvě metody:

  • content -agnostic data deduplication - metoda deduplikace dat, která nevyžaduje povědomí o konkrétních formátech dat aplikace.
  • content -aware data deduplication - metoda deduplikace dat, která využívá znalosti konkrétních datových formátů aplikace.

Deduplikace zdroje versus cíl

Další způsob klasifikace metod deduplikace dat je podle toho, kde k nim dochází. Deduplikace vyskytující se blízko místa, kde se vytvářejí data, se označuje jako „deduplikace zdroje“. Pokud k tomu dojde poblíž místa, kde jsou data uložena, nazývá se to „cílová deduplikace“.

Deduplikace zdroje zajišťuje deduplikaci dat na zdroji dat. K tomu obvykle dochází přímo v systému souborů. Systém souborů bude pravidelně skenovat nové soubory vytvářející hashe a porovnávat je s hashy stávajících souborů. Když jsou nalezeny soubory se stejným hashem, kopie souboru je odstraněna a nový soubor ukazuje na starý soubor. Na rozdíl od pevných odkazů jsou však duplicitní soubory považovány za samostatné entity a pokud je jeden z duplikovaných souborů později upraven, vytvoří se pomocí systému nazývaného kopírování při zápisu kopie tohoto změněného souboru nebo bloku. Proces deduplikace je transparentní pro uživatele a záložní aplikace. Zálohování deduplikovaného systému souborů často způsobí duplikaci a zálohy budou větší než zdrojová data.

Deduplikaci zdroje lze pro operace kopírování explicitně deklarovat, protože není třeba počítat, aby bylo znát, že kopírovaná data potřebují deduplikaci. To vede k nové formě „propojování“ v souborových systémech nazývaných reflink (Linux) nebo clonefile (MacOS), kde se provádí jeden nebo více inodů (položky s informacemi o souborech) za účelem sdílení některých nebo všech jejich dat. Je pojmenován analogicky k pevným odkazům , které fungují na úrovni inodů, a symbolickým odkazům, které fungují na úrovni názvu souboru. Jednotlivé položky mají chování při kopírování bez zápisu, tj. Změna jedné kopie později neovlivní ostatní kopie. Tuto operaci podporuje také Microsoft ReFS .

Cílová deduplikace je proces odstraňování duplikátů, když v tomto místě nebyla generována data. Příkladem by byl server připojený k SAN/NAS, SAN/NAS by byl cíl pro server (deduplikace cíle). Server si není vědom žádné deduplikace, server je také bodem generování dat. Druhým příkladem by bylo zálohování. Obecně se bude jednat o záložní úložiště, jako je úložiště dat nebo virtuální pásková knihovna .

Deduplikační metody

Jedna z nejběžnějších forem implementace deduplikace dat funguje tak, že porovnává bloky dat a zjišťuje duplikáty. Aby se to stalo, každému bloku dat je přiřazena identifikace vypočítaná softwarem, obvykle pomocí kryptografických hashovacích funkcí. V mnoha implementacích se vychází z předpokladu, že pokud je identifikace identická, jsou data identická, i když to kvůli principu pigeonhole nemůže být ve všech případech pravdivé ; jiné implementace nepředpokládají, že dva bloky dat se stejným identifikátorem jsou totožné, ale ve skutečnosti ověřují, že data se stejnou identifikací jsou identická. Pokud software buď předpokládá, že daná identifikace již existuje v oboru názvů deduplikace, nebo ve skutečnosti ověří identitu dvou bloků dat v závislosti na implementaci, nahradí tento duplicitní kus odkazem.

Jakmile jsou data deduplikována, při zpětném čtení souboru, kdykoli je nalezen odkaz, systém jednoduše nahradí tento odkaz odkazovaným datovým blokem. Proces deduplikace má být transparentní pro koncové uživatele a aplikace.

Komerční deduplikace se liší metodami a architekturami blokování.

  • Kouskování. V některých systémech jsou bloky definovány omezeními fyzické vrstvy (např. Velikost bloku 4KB ve WAFL ). V některých systémech se porovnávají pouze úplné soubory, což se nazývá úložiště s jednou instancí nebo SIS. Nejinteligentnější (ale na CPU náročný) způsob blokování je obecně považován za posuvný blok. V posuvném bloku je procházeno okno podél proudu souboru, aby se vyhledávaly přirozenější vnitřní hranice souborů.
  • Deduplikace zálohy klienta. Toto je proces, kde jsou výpočty hašení deduplikace původně vytvořeny na zdrojových (klientských) počítačích. Soubory, které mají stejné hashe jako soubory již v cílovém zařízení, se neodesílají, cílové zařízení pouze vytvoří příslušné interní odkazy pro odkaz na duplicitní data. Výhodou je, že se zabrání zbytečnému odesílání dat po síti, čímž se sníží zatížení provozu.
  • Primární úložiště a sekundární úložiště. Podle definice jsou primární úložné systémy navrženy pro optimální výkon, nikoli pro nejnižší možné náklady. Kritériem návrhu těchto systémů je zvýšení výkonu na úkor jiných úvah. Navíc primární úložné systémy mnohem méně tolerují jakoukoli operaci, která může negativně ovlivnit výkon. Sekundární úložné systémy také podle definice obsahují primárně duplikáty nebo sekundární kopie dat. Tyto kopie dat se obvykle nepoužívají pro skutečné výrobní operace a v důsledku toho jsou tolerantnější k určitému snížení výkonu výměnou za vyšší účinnost.

K dnešnímu dni byla deduplikace dat převážně používána u sekundárních úložných systémů. Důvody jsou dvojí. Za prvé, deduplikace dat vyžaduje režijní náklady na zjištění a odstranění duplicitních dat. V primárních úložných systémech může tato režie ovlivnit výkon. Druhým důvodem, proč je deduplikace aplikována na sekundární data, je to, že sekundární data mívají více duplicitních dat. Zvláště záložní aplikace běžně generují v průběhu času významné části duplicitních dat.

Deduplikace dat byla úspěšně nasazena s primárním úložištěm v některých případech, kdy návrh systému nevyžaduje výraznou režii nebo výkon při nárazu.

Úložiště jedné instance

Single-instance storage (SIS) je schopnost systému pořídit více kopií objektů obsahu a nahradit je jednou sdílenou kopií. Je to prostředek k odstranění duplikace dat a ke zvýšení efektivity. SIS je často implementován do souborových systémů , softwaru e-mailového serveru , zálohování dat a dalšího počítačového softwaru souvisejícího s úložištěm. Úložiště s jednou instancí je jednoduchá varianta deduplikace dat. I když deduplikace dat může fungovat na úrovni segmentů nebo podbloků, úložiště s jednou instancí funguje na úrovni objektů, což eliminuje nadbytečné kopie objektů, jako jsou celé soubory nebo e-mailové zprávy.

Nevýhody a obavy

Jedna metoda deduplikace dat závisí na použití kryptografických hashovacích funkcí k identifikaci duplicitních segmentů dat. Pokud dvě různé informace generují stejnou hodnotu hash, je to známé jako kolize . Pravděpodobnost kolize závisí hlavně na délce hash (viz narozeninový útok ). Vyvstává tedy obava, že k poškození dat může dojít, pokud dojde ke kolizi hash , a k ověření, zda existuje rozdíl v datech, se nepoužívají další způsoby ověření. In-line i post-process architektury mohou nabízet bit-for-bit validaci původních dat pro zaručenou integritu dat. Použité hašovací funkce zahrnují standardy jako SHA-1 , SHA-256 a další.

Intenzita výpočetních prostředků procesu může být nevýhodou deduplikace dat. Aby se zlepšil výkon, některé systémy využívají slabé i silné hodnoty hash. Slabé hashe se počítají mnohem rychleji, ale existuje větší riziko kolize hash. Systémy, které využívají slabé hodnoty hash, následně vypočítají silné hodnoty hash a použijí je jako určující faktor toho, zda jde ve skutečnosti o stejná data nebo ne. Všimněte si toho, že režie systému spojená s výpočtem a vyhledáváním hodnot hash je primárně funkcí pracovního postupu deduplikace. Rekonstituce souborů toto zpracování nevyžaduje a jakákoli přírůstková penalizace výkonu spojená s opětovným sestavením datových bloků pravděpodobně neovlivní výkon aplikace.

Další obavou je interakce komprese a šifrování. Cílem šifrování je odstranit jakékoli rozpoznatelné vzorce v datech. Šifrovaná data tedy nelze deduplikovat, přestože podkladová data mohou být nadbytečná.

I když to není nedostatek deduplikace dat, došlo k narušení dat, když se u velkých úložišť deduplikovaných dat používá nedostatečné zabezpečení a postupy ověřování přístupu. V některých systémech, jak je typické pro cloudové úložiště, může útočník načíst data vlastněná ostatními tím, že zná nebo uhádne hodnotu hash požadovaných dat.

Implementace

Deduplikace je implementována v některých souborových systémech, jako například v ZFS nebo Write Anywhere File Layout, a v různých modelech diskových polí . Je to služba dostupná na NTFS i ReFS na serverech Windows.

Viz také

Reference

externí odkazy