I 3 problemi principali dei Big Data (e le relative soluzioni)
I Big Data hanno tante buone qualità, poiché sono dinamici, complessi e non strutturati. Ma soprattutto sono tantissimi. Gli esseri umani e i sensori IoT generano trilioni di gigabyte di dati l'anno. Ma non sono più i dati di una volta, sono dati moderni, che si presentano in una gamma di formati sempre più ampia e provengono da origini sempre più numerose.
Questo crea un abisso fra i sistemi di gestione dati legacy e quelli di oggi. Le dimensioni e la scalabilità, insieme alla velocità e alla complessità, stanno mettendo a dura prova i sistemi di archiviazione dei dati tradizionali. Molti sono semplicemente inadeguati, e finiscono per ostacolare le aziende che vogliono attingere al patrimonio di dati a disposizione.
A cosa si deve tutto questo? Quali sono le principali problematiche dei Big Data a cui prestare attenzione? Se state cercando di sfruttare la potenza dei big data, le vostre soluzioni di storage saranno sufficienti per superarli?
1. I Big Data sono veramente troppi per lo storage tradizionale
Forse la più ovvia delle sfide dei Big Data è la loro enorme scalabilità, che solitamente viene misurata in petabyte (1 petabyte corrisponde a 1024 terabyte o 1.048.576 gigabyte).
Per farti un'idea di quanto possono essere grandi i volumi dei Big Data, pensa che, ogni ora, gli utenti di Facebook caricano almeno 14,58 milioni di foto, insieme alle quali vengono memorizzate anche interazioni, quali "Mi piace" e commenti. Fino ad oggi, gli utenti hanno messo "Mi piace" ad almeno un trilione di post, commenti e altri dati singoli.
Ma non sono solo i colossi della tecnologia come Facebook a memorizzare e analizzare queste enormi quantità di dati. Ogni piccola azienda che attinge alle informazioni disponibili nei social media, ad esempio per scoprire cosa dice la gente del suo brand, ha bisogno di un'architettura di data storage ad alta capacità.
In teoria, i sistemi di data storage tradizionali possono gestire grandi quantità di dati, ma quando si tratta di fornire l'efficienza e gli insight di cui abbiamo bisogno, molti non riescono a stare al passo con le esigenze dei dati moderni.
Il dilemma dei database relazionali
I database SQL relazionali offrono un metodo affidabile e ampiamente collaudato per ospitare, leggere e scrivere i dati. Tuttavia, in genere questi database presentano problemi di efficienza, anche molto prima di raggiungere la capacità massima. Un database relazionale contenente grandi quantità di dati può risultare lento per diversi motivi. Ad esempio, ogni volta che si inserisce un record in un database relazionale, l'indice si aggiorna automaticamente, e, con l'aumento del numero dei record, questa operazione richiede sempre più tempo. L'inserimento, l'aggiornamento, l'eliminazione e l'esecuzione delle altre operazioni possono richiedere ancora più tempo, a seconda del numero delle relazioni con le altre tabelle.
In pratica: più dati contiene il database relazionale, più tempo richiedono le singole operazioni.
Scale-up e scale-out
Per aumentare le performance dei sistemi di data storage tradizionali, è possibile sfruttarne la scalabilità. Tuttavia, poiché i sistemi di data storage tradizionali sono centralizzati, consentono solamente lo scale-up e non lo scale-out.
Rispetto allo scale-out, lo scale-up utilizza la risorse in modo meno efficiente, perché richiede l'aggiunta di nuovi sistemi, la migrazione dei dati e la gestione del carico fra sistemi diversi. Ben presto, una tradizionale architettura di data storage comincia a proliferare e diventa impossibile da gestire correttamente.
I tentativi di utilizzare le tradizionali architetture storage per i Big Data sono inevitabilmente destinati a fallire, in parte perché non è realisticamente possibile garantire uno scale-up sufficiente a tenere il passo con i volumi di dati. Di conseguenza, l'unica opzione possibile è costituita dallo scale-out. Quando si raggiunge una determinata capacità, un'architettura storage distribuita consente di aggiungere nuovi nodi a un cluster, e questa operazione può essere ripetuta praticamente all'infinito.