Mi è capitato molte volte di chiacchierare con i clienti, magari davanti alla macchina del caffè, e scoprire che spesso sottovalutano questo argomento!

Molti non si chiedono cosa succede all’interno dei loro storage e questo può portare ad avere una visione distorta delle esigenze e quindi a tutta una serie di conseguenze spiacevoli: maggior spesa per l’infrastruttura (sia in termini di TCA che di TCO), performance non all’altezza della situazione, maggiori difficoltà di gestione, utenti non sempre soddisfatti!

L’obiettivo di questo articolo è quello di dare una visione un po più chiara di quello che succede alla vita di un dato/informazione dal momento della sua creazione in avanti. Principalmente mi riferisco a dati non strutturati, come ad esempio i file, ma alcune di queste considerazioni sono facilmente replicabili per i DB (o anche per l’object storage).

Certo, non tutte le aziende sono uguali e non tutti i processi aziendali sono replicabili alla stessa maniera ma, dopo aver letto questo articolo, sono sicuro che molti di voi riconosceranno facilmente quello che succede nella propria azienda e potranno quindi valutare se hanno un problema e come affrontarlo! La base di quello che scriverò parte dai dati pubblicati in una ricerca fatta da una università americana un paio di anni fa ma che poi ho mediato con quello che vedo e misuro nelle aziende che frequento.

un file = tanti file

Quando creo un nuovo file, anche un semplice documento di Word, scateno una serie operazioni che creano tanti file! File temporanei, file di backup automatico, copie di lavoro, ecc, ecc. I software moderni sono molto complessi e ricchi di funzionalità e spesso non ci si rende conto di cosa può accadere dietro operazioni anche banali.

alcuni dati hanno una vita cortissima

Già, molto spesso, la maggior parte dei dati che creo ha una vita molto breve, basti pensare al file di backup temporaneo che ho menzionato sopra, questo file vive per il tempo che è aperto l’applicativo: nel momento in cui salvo definitivamente i miei dati e chiudo l’applicazione questo viene cancellato. Alcuni di questi dati vivono (e hanno una validità) per una manciata di secondi, in alcuni casi meno, però possono creare una attività intensa sullo storage!

la maggior parte dei dati vive più di 24 ore

Molto di quello che creiamo ha una vita che dura più di un giorno. Questo significa che il mio storage non è uno storage temporaneo ma deve essere consistente nel tempo, magari con un sistema di backup realizzato in modo da dare agli utenti la possibilità di essere autonomi per l’eventuale ripristino dei loro dati “vivi”.

solo il 15% dei file cancellati ha più di 24 ore

La frase può sembrare un po complicata ma ma la spiegazione è semplice. La maggior parte dei file che vengono cancellati hanno una vita inferiore alle 24 ore, di tutti quelli che rimangono solo il 15% verrà veramente cancellato. In pratica, se un file non lo cancello subito, è molto probabile che non lo eliminerò più! Quanto sopra significa anche che la crescita del nostro storage è continua e non si fermerà mai. La maggior parte dei dati che creiamo hanno una vita lunga e, sempre più spesso, lunga sta a significare “eterna” (la graduale sparizione degli archivi cartacei sta inducendo gli utenti e le aziende a salvare tutto o quasi).

le prime ore di vita di un file sono le più intense!

Quando creo un nuovo file (documento) ed inizio a editarlo è molto probabile che nelle prime ore scriverò molto, lo modificherò spesso e lo salverò di frequente. Poi, l’attività calerà sempre di più. Quindi posso essere ragionevolmente sicuro che per l’attività iniziale è importante una prestazione in scrittura ed anche in lettura elevata ma anche che, con il tempo, la prestazione pura diventa molto meno importante.

e dopo le prime 24 ore?

le statistiche ci consegnano dei numeri decisamente interessanti:

  • 65% dei file vengono ri-aperti solo una volta!
  • 94% dei file vengono ri-aperti meno di 5 volte!

I numeri potrebbero essere leggermente diversi da azienda ad azienda ma sono sicuro che sono confrontabili. Quello che è chiaro è che creiamo tanti dati e li riutilizziamo pochissimo, sicuramente è vero anche che molti di questi dati sono molto simili fra loro! Questi numeri sono inquietanti se parlo di un utente ma pensiamoli moltiplicati per migliaia all’interno delle aziende, allora si che inizierò a farmi un’idea del problema.

più dell’80% dei dati sono fermi

l’80% è una misurazione vecchia e, aggiungerei, conservativa, il dato reale è sicuramente più alto ed è in costante aumento. Mano a mano che creiamo nuovi documenti, li creiamo (mediamente) sempre più grandi e questi poi “decantano” velocemente in uno stato di quiete eterna occupando comunque spazio costoso e di qualità sul nostro storage.

la maggior parte dei dati condivisi sono acceduti da un solo client

Anche se utilizziamo uno storage condiviso in rete, la maggior parte dei dati che creiamo è per uso personale! E’ quello che succede a tutti. Quanti contenuti manteniamo sui server aziendali (o NAS) che interessano solo a noi? E quanti documenti creiamo ogni giorno che poi verranno condivisi? la risposte sono sempre quelle, in quasi tutte le aziende e portano univocamente nella stessa direzione: lo storage condiviso viene usato quasi esclusivamente come un repository di dati personali! (tanto che spesso per scambiare documenti capita di vedere un uso distorto della mail – ma questo è un altro discorso). Alcune volte, se non fosse per altri motivi, uno potrebbe domandarsi perché usare uno storage di rete.

se un file ha molteplici accessi, questi sono in lettura

Sembra strano, ma in realtà, se ci ci pensa, è sempre più spesso così. La maggior parte dei documenti condivisi da un gruppo sono spesso editati da un utente che poi li condivide, tutti gli altri non fanno che consultarli. Questo è importante perché significa che la prestazione in lettura ha una importanza molto più alta di quella in scrittura soprattuto se i gruppi di lavoro sono grandi.

riassumiamo

Il tutto si può riassumere in: Creiamo file/dati, li usiamo per poco tempo e non li possiamo (o vogliamo) più cancellare! il problema di tutto questo è palese: mantenere i dati che non vengono usati costa! e, a volte, può costare tanto quanto mantenere quelli attivi. L’esplosione di dati che stanno vedendo le aziende è irreversibile e, per certi versi, incontrollabile (il perché dell'”incontrollabile” dipende anche da fattori esterni). Fortunatamente la consapevolezza, come per tutti i mali, è già un primo passo verso la guarigione.

le soluzioni tecnologiche

Le necessità sono fondamentalmente due:

  1. il sistema di storage deve essere veloce per gestire i dati attivi,
  2. il sistema di storage deve essere molto capiente e scalabile per gestire la parte, sempre in crescita, di dati fondamentalmente fermi ed acceduti, sempre più sporadicamente, in sola lettura.

Teoricamente, un sistema di storage con queste caratteristiche esiste ma è decisamente troppo costoso. Questo è il motivo per cui l’industria ha applicato alcune tecnologie per mitigare il più possibile il fenomeno cercando di mantenere i costi ad un livello accettabile. Le principali soluzioni sono basate su:

  • automated tiered storage
  • SSD (come cache)
  • tecniche di riduzione del dato (deduplicazione e compressione)

Ognuna di queste ha dei vantaggi ma anche degli svantaggi, vediamoli in dettaglio:

automated tiered storage

L’automated tiered storage è la capacità del sistema di storage di posizionare i dati più acceduti su porzioni di disco più veloci (magari con un livelloRAID molto efficiente per le scritture, come ad esempio il R10) e di migrare i dati meno caldi su dischi più lenti e con livelli di RAID più convenienti in termini di occupazione di spazio (R5 o R6). Ormai tutti i vendor hanno implementazioni di questo tipo, alcune sono decisamente efficienti e consolidate, altre lo sono meno: molto dipende dall’architettura del sistema di storage, dalle dimensioni della pagina/blocco/chunk (ognuno ha il suo modo di chiamarle) e dagli algoritmi che monitorano e gestiscono la movimentazione dei dati.

SSD (come cache)

Alcuni vendor hanno fatto la scelta di utilizzare i dischi SSD di ultima generazione, o schede di memoria flash, come fossero una grossa cache. Al contrario dell’automated tiering, questo approccio ha un impatto minimo sull’architettura e garantisce risultati quasi sicuri anche se c’è un limite all’espandibilità massima di questa cache e, in certi casi, anche la possibilità di poterla utilizzare come memoria per la scrittura.

tecniche di riduzione del dato

La compressione e la deduplication (tecnicologia con la quale dati identici vengono indicizzati e ne vengono eliminate le copie superflue) sono un’altra via molto brillante per tentare di risolvere il problema. Le complessità nell’adozione di queste tecniche sono diverse e, al contrario delle precedenti, fanno un uso di CPU molto intenso ma i risultati possono essere eccellenti. In alcuni campi di applicazione si può arrivare ad avere un fattore di riduzione elevatissimo che significa anche un potenziale contenimento della crescita nel lungo periodo.

l’unione fa la forza

Tutti i vendor sono partiti a supportare una sola delle tecnologie spiegate sopra ma, siccome tutte hanno dei vantaggi e degli svantaggi, hanno iniziato ad implementarne anche due alla volta sullo stesso volume di dati. In molti casi, questo approccio si sta rivelando quello vincente perché può ottenere i vantaggi di entrambi le soluzioni garantendo sempre la massima performance unita alla efficenza del minor spazio occupato.

conclusioni

il problema della quantità di dati che aumenta in modo quasi incontrollabile c’è, e c’è a tutti i livelli.

Le aziende piccole spesso ignorano il problema acquistando sistemi più capienti ma, anche in questo caso, l’approccio rimane il peggiore possibile perché, se non si affronta la questione con i dovuti mezzi, la rincorsa potrebbe diventare particolarmente costosa e con risultati a dir poco deludenti.

Le aziende grandi, invece, il problema lo conoscono già e stanno cercando soluzioni per correre ai ripari, anche qui però, spesso, mi trovo ancora a parlare di prezzo di acquisto di uno storage in funzione della sua capienza piuttosto che delle reali funzionalità che mette in campo per risolvere i veri problemi.

La sfida per gestire una quantità di dati sempre crescente è solo all’inizio: prima guardavo il contenuto del mio cellulare aziendale e ho notato che solo fra foto e video ne ho 950! il mio primo cellulare con fotocamera aveva una risoluzione di 640×480 e ci stavano poche foto, ora sono 5Mpixel, posso registrare video in HD e ho 32GB di spazio da riempire…. e ogni volta che sincronizzo il telefono scarico dei GB sul server aziendale!