Questo sito utilizza cookie per raccogliere informazioni sull'utilizzo. Cliccando su questo banner o navigando il sito, acconsenti all'uso dei cookie. Leggi la nostra cookie policy.OK

I metodi di deduplicazione dei dati

pittogramma Zerouno

Storage

I metodi di deduplicazione dei dati

16 Giu 2009

di redazione TechTarget

Con la crescente esigenza di storage, è diventato essenziale ridurre al minimo lo spazio occupato dalle informazioni. A confronto gli approcci block-level e byte-level.

Lo scopo della deduplicazione dei dati è quello di identificare i dati duplicati, eliminare le ridondanze e ridurre di conseguenza il trasferimento globale di dati e la capacità di memorizzazione.

Per raggiungere lo scopo ci sono varie metodologie.

In questo articolo ci focalizziamo in particolare sui metodi byte-level e block-level, osservando da subito che deduplicazione byte-level fornisce un controllo più granulare dei dati rispetto all’approccio block-level, garantendo una maggiore precisione, ma spesso per poter essere eseguita richiede una più approfondita conoscenza del flusso di backup.


Approcci block-level
La deduplicazione block-level segmenta i flussi di dati in blocchi, effettuando un’ispezione di tali blocchi al fine di stabilire se sono già stati incontrati in precedenza (tipicamente attraverso la creazione di una firma digitale o come identificatore unico tramite un algoritmo di hash per ogni blocco). Se il blocco è unico, viene scritto su disco e il suo identificativo univoco viene memorizzato in un indice, altrimenti viene memorizzato solo un puntatore al blocco originale.

In questo modo, piuttosto che memorizzare un nuovo blocco, i blocchi ripetuti vengono sostituiti con puntatori che hanno dimensioni decisamente inferiori e quindi viene risparmiato spazio di archiviazione.

La critiche solitamente mosse all’approccio di tipo block-level sono:

  1. l’uso di un algoritmo di hash per calcolare l’ID univoco che comporta il rischio di generare un falso positivo
  2. la memorizzazione di ID univoci all’interno di un indice può rallentare il processo di ispezione con l’aumentare delle dimensioni di tale indice perché viene richiesto l’intervento dell’I/O dell’hard disk (a meno che la dimensione dell’indice non sia tenuta sotto controllo e la comparazione dei dati non avvenga in memoria).

Le collisioni di hash potrebbero generare un falso positivo quando si utilizza un algoritmo hash-based per la determinazione dei duplicati. Algoritmi di hash, come MD5 e SHA-1, generano un numero univoco per il blocco dei dati in esame. Non è infrequente che le collisioni di hash comportino una corruzione dei dati, ma è decisamente poco probabile si generi una collisione di hash.

 

Approccio byte-level

Un altro approccio alla deduplicazione è quello basato sull’analisi a livello di byte dei flussi di dati. Il confronto byte per byte di nuovi flussi di dati rispetto a quelli memorizzati in precedenza può fornire un più elevato livello di accuratezza.

I dispositivi di deduplicazione che utilizzano questo metodo hanno un elemento in comune: può accadere che il flusso di dati di backup in arrivo sia stato visto in precedenza, perciò viene riesaminato per vedere se corrisponde a dati simili ricevuti in passato.

Prodotti che forniscono un approccio byte-level sono in genere “coscienti del contenuto”, questo significa che il vendor ha svolto un reverse engineering del flusso di dati dell’applicazione di backup al fine di capire come recuperare informazioni quali nome del file, tipo di file, data/ora e così via. Questo metodo riduce la quantità di calcoli necessari per stabilire un verso univoco dei dati duplicati.

L’inconveniente? Questo approccio in genere necessita di una procedura di post processo, effettuata su dati di backup una volta che il backup stesso è stato completato. Il backup, quindi, avviene sfruttando al massimo le prestazioni dell’hard disk, ma ha bisogno di una certa quantità di cache del disco per eseguire il processo di deduplicazione. È anche probabile che il processo di deduplicazione sia limitato a un flusso di backup da un unico set di backup e non sia applicato “globalmente” a tutti i set di backup.

Una volta che il processo di deduplicazione è stato completato, viene recuperato spazio sul disco eliminando i dati duplicati. Prima che la richiesta di spazio sia effettuata, può essere effettuato un controllo di integrità in modo da garantire che i dati deduplicati coincidano con i dati originali. L’ultimo backup completo può anche essere conservato in modo che il recupero non dipenda dalla ricostruzione dei dati deduplicati, consentendo così un rapido recovery.

 

Qual è l’approccio migliore?

Sia il metodo block-level sia quello byte-level offrono il vantaggio di ottimizzare la capacità di storage. Prima di scegliere un approccio o l’altro, è però necessario stabilire quando, dove e come i processi dovrebbero essere riesaminati in funzione del vostro ambiente di backup e delle sue specifiche necessità. Il vostro processo di controllo dovrebbe anche fare riferimento alle esperienze di organizzazioni con caratteristiche ed esigenze simili alle vostre.

*analista presso Enterprise Strategy Group su tematiche di protezione dei dati

redazione TechTarget

Articolo 1 di 5