Spesso si assiste a un salto apparentemente improvviso nell'utilizzo e nei relativi progressi tecnologici, semplicemente perché ciò che prima era irrealizzabile ora è pratico. L'aumento delle applicazioni dei Big Data segue da vicino la diffusione del cloud computing. Concentriamoci su cosa sono i Big Data, perché sono importanti oggi e come si sono evoluti insieme ai database NoSQL. Quando parliamo di Big Data, abbiamo a che fare con enormi quantità di informazioni che possiamo esaminare, o analizzare, per trovare qualcosa di rilevante.
I Big Data presentano tipicamente tre caratteristiche, ciascuna contrassegnata dalle 3 V.
- Volume- Abbiamo molti dati.
- Velocità- I nostri dati arrivano velocemente.
- Varietà- I nostri dati si presentano in molte forme diverse.
Vediamo come ottenere così tanti dati, i tipi di dati e il valore che possiamo ricavarne.
Tracciare le conclusioni
Abbiamo bisogno di grandi insiemi di dati per trovare modelli sottostanti, perché piccoli insiemi di dati non sono affidabili nel rappresentare il mondo reale. Immaginate di fare un sondaggio su 10 persone: otto di loro hanno un telefono Android, due un iPhone. Con questo piccolo campione, si potrebbe estrapolare che Apple ha solo una quota di mercato del 20%. Questa non è una buona rappresentazione del mondo reale.
È inoltre importante ottenere informazioni da più dati demografici e località. Un sondaggio su 10 persone di Philadelphia, in Pennsylvania, non ci dice molto sul mondo, sugli Stati Uniti o sullo stato della Pennsylvania nel suo complesso. In breve, per ottenere dati validi e affidabili ne occorrono molti. Più ampio è lo studio, più possiamo suddividerlo e trarre conclusioni.
Aumentiamo il nostro sondaggio da 10 a 100 e registriamo anche l'età dei partecipanti. Ora stiamo raccogliendo più dati da un campione più ampio. Ora, diciamo che i risultati mostrano che 40 persone hanno un telefono Android e 60 un iPhone. Si tratta ancora di un campione molto piccolo, ma possiamo notare che un aumento di 10 volte dei partecipanti ha portato a una variazione significativa di 80 punti nei nostri risultati. Ma questo considerando solo un campo di dati del nostro set. Poiché abbiamo registrato l'età dei partecipanti e la scelta del telefono, potremmo scoprire che i gruppi di età compresa tra 10 e 20 anni o tra 21 e 30 hanno un rapporto molto diverso.
È tutta una questione di algoritmi
I Big Data ci permettono di elaborare grandi volumi di dati che arrivano velocemente e in una varietà di formati. Da questi dati, siamo in grado di trovare modelli sottostanti che ci permettono di creare modelli accurati che riflettono il mondo reale. Perché è importante? Modelli accurati ci permettono di fare previsioni e di sviluppare o migliorare algoritmi.
L'esempio più comune di Big Data al lavoro nella nostra vita quotidiana è qualcosa di semplice e talvolta controverso: i motori di raccomandazione. "Se ti piace X, probabilmente ti piacerà anche Y!". Questo è certamente utile dal punto di vista del marketing e della pubblicità, ma non è l'unico caso di utilizzo. I Big Data e gli algoritmi sono alla base di tutto, dalle auto a guida autonoma al rilevamento precoce delle malattie.
Nel nostro breve esempio di raccolta dati, ci siamo fermati a 100 persone, ma se si vogliono davvero dei buoni dati, occorrono migliaia o milioni di fonti con una grande quantità di attributi diversi. Questo non si qualificherebbe comunque come "Big Data", anche se ampliassimo la dimensione del campione e impostassimo un rapido ingest dei risultati. Mancherebbe una delle tre V, la varietà, da cui proviene la maggior parte dei nostri dati.
Varietà di dati
Possiamo classificare il tipo di dati raccolti in tre categorie fondamentali: Strutturati, semi-strutturati e non strutturati. I dati strutturati sono simili al sondaggio di cui sopra. Abbiamo uno schema predefinito e i nostri dati si inseriscono in una struttura rigida. Questo tipo di dati è perfetto per i database RDBMS che utilizzano SQL, poiché sono progettati per lavorare con righe e colonne. Al di fuori dei database SQL, i dati strutturati includono tipicamente file csv e fogli di calcolo.

La maggior parte dei dati esistenti proviene da molte fonti diverse, dalle nostre attività quotidiane e in molti modi diversi. Post sui social media, cronologia degli acquisti, navigazione e cookie: Ogni azione può costruire un profilo di un individuo con numerosi attributi come l'età, la posizione, il sesso, lo stato civile e altro ancora. Stiamo solo grattando la superficie, ma dobbiamo concentrarci su quanto segue: le industrie raccolgono molti dati per trarre conclusioni accurate e la stragrande maggioranza di questi dati non è in formati predefiniti e strutturati. Per i Big Data, di solito lavoriamo con forme di dati semi-strutturati e non strutturati.
I log delle applicazioni o le e-mail sono esempi di dati semi-strutturati. Li chiamiamo semi-strutturati perché, pur non avendo righe e colonne rigide, esiste un modello generale di formattazione dei dati. Due dei tipi di file più comuni di dati semi-strutturati sono JSON e XML. I dati non strutturati possono essere praticamente tutto ciò che non è strutturato o semi-strutturato e, come possiamo immaginare, costituiscono la stragrande maggioranza dei nostri dati. Esempi comuni di dati non strutturati sono i post dei social media, i file audio e video, le immagini e altri documenti.

Il nostro sondaggio sulla scelta del telefono funziona ancora come dimostrazione analitica: più dati abbiamo, più accuratamente le nostre conclusioni rifletteranno il mondo reale, ma per ottenere effettivamente più dati dobbiamo avere un sistema in grado di ingerire più di semplici dati strutturati. È qui che entrano in gioco i database NoSQL.
Big Data e NoSQL
Il concetto di big data è noto fin dagli anni '80 e, come molte delle tecnologie odierne in rapida crescita, ha compiuto un importante passo avanti a metà degli anni 2000. Una pietra miliare è stata raggiunta quando Apache ha rilasciato Hadoop nel 2006. Hadoop è un framework software open source progettato per elaborare in modo affidabile grandi insiemi di dati.
Alcuni dei componenti principali sono HDFS(Hadoop Distributed File System) e YARN(Yet Another Resource Negotiator). HDFS è un file system veloce e tollerante agli errori, mentre YARN gestisce la programmazione dei lavori e la gestione delle risorse. Nella maggior parte dei casi, sopra HDFS viene eseguito HBase, un database non relazionale orientato alle colonne. HBase rientra nella definizione di NoSQL, ma è abbastanza diverso dagli altri database più diffusi da non comparire normalmente negli stessi elenchi di MongoDB o Cassandra (un altro progetto di Apache ).
HBase, in combinazione con HDFS, può memorizzare enormi quantità di dati in miliardi di righe e supporta dati sparsi. Tuttavia, non è privo di limitazioni. HBase dipende da HDFS, ha requisiti hardware elevati e non ha un linguaggio di interrogazione nativo. A differenza di Mongo e Cassandra, HBase si basa anche su un'architettura a replica primaria che può portare a un singolo punto di guasto.
Ma fin dall'inizio possiamo capire perché Big Data e NoSQL sono compatibili. Ripercorriamo le V.
- Volume- I Big Data richiedono un database enorme e un database enorme richiede una scalabilità orizzontale. I database SQL possono scalare orizzontalmente, spesso con limitazioni significative, ma è qui che i database NoSQL senza schemi eccellono.
- Velocità- I database NoSQL non hanno la consistenza e la convalida dei database SQL, ma hanno anche la velocità di scrittura di cui abbiamo bisogno per ingerire molti dati, rapidamente.
- Varietà- I Big Data richiedono un sistema in grado di gestire dati non strutturati e i database NoSQL senza schemi come MongoDB sono adatti a questo compito.
I database NoSQL non sono utilizzati esclusivamente per i Big Data, ma possiamo capire perché si sono sviluppati di pari passo. Non ci sono segni di rallentamento dei Big Data e il database NoSQL MongoDB, rilasciato per la prima volta nel 2009, è uno dei database in più rapida crescita sul mercato.
Commenti