Home / Blog /

Big Data: cosa sono e perché studiarli?

di Giuseppe Maggi

Anche tu, scommetto, avrai sentito parlare di Big Data (se non lo hai ancora fatto ti consiglio di dare uno sguardo al nostro screencast Big Data: cosa sono e perchè studiarli). Tutti stanno guardando con interesse a questo fantastico mondo ricco delle migliori opportunità lavorative. Ma esattamente cosa sono i Big Data? E’ possibile studiarli senza essere un genio dei computer?
Sono qui per spiegartelo e ti anticipo subito il concetto che voglio dimostrarti: i Big Data sono una grandissima opportunità, una tecnologia necessaria per chiunque e che aiuta già da anni il progresso della nostra Società. Puoi diventarne esperto senza essere uno scienziato perché, con il giusto percorso, si possono studiare e sfruttare benissimo nella propria carriera professionale.
Cerchiamo di capirci qualcosa insieme.

Quando si parla di Big Data?

Parliamo di Big Data quando ci riferiamo a contesti in cui vengono accumulati ad altissima velocità grandissimi volumi di dati, contraddistinti da assoluta varietà. Volume, velocità, varietà: tre parole che iniziano con la lettera V e che sono presenti in ogni definizione di Big Data, terminologia così diffusa da aver generato la cosiddetta “legge delle 3V”.
Più in generale le tecnologie per gestire i Big Data si sono affermate in maniera rapidissima soprattutto nel secondo decennio di questo secolo e sono state sponsorizzate in particolar modo da chi di dati ne possiede davvero molti: Google, Amazon, Yahoo e molti altri provider di questo livello.
Un aspetto molto importante da ricordare è che con tali tecnologie non sempre ci si occupa di problemi nuovi ma spesso si svolgono elaborazioni tradizionali (pensa anche a somme, medie, statistiche, etc.) che non possono più essere svolte con i metodi di sempre in quanto i dati accumulati sono ormai davvero troppi. Si dice che “i Big Data iniziano dove finisce la RAM” nel senso che i tipici strumenti che si sono occupati di analisi dati come database, strutture dati dei linguaggi di programmazione, etc. facevano largo uso di memoria RAM e ciò ha reso non più gestibili i nuovi scenari con grandi moli di dati da manipolare.
Un dubbio potrebbe sorgere a questo punto: qual è l’origine di tutti questi dati?

» VUOI SAPERNE DI PIU’? VAI AI NOSTRI CORSI BIG DATA «

Chi genera i Big Data?

Queste grandi quantità di dati sono generate per lo più da tre entità: l’essere umano, le applicazioni ed i sensori. Per quanto riguarda il primo elemento non c’è molto da dire: se questi Data sono diventati così Big in buona parte è “colpa” nostra. Con l’avvento di Social Network e tecnologia mobile che porta la connessione Internet nelle nostre tasche in ogni momento non facciamo altro che generare dati molto variegati come testo, foto, video e caricarli sul Cloud. Inoltre ci sono le applicazioni. Molte di esse accumulano dati su server e questi vanno ad incrementare il grande bacino dei Big Data. I dati generati da un’applicazione possono essere primari, ossia costituenti lo scopo per cui l’applicazione esiste, o collaterali tipicamente log, metriche e statistiche di funzionamento del software che sono accumulati per fornire spunti ai loro sviluppatori. E poi c’è un’altra grandissima sorgente costituita dai sensori. Si tratta di piccolissimi dispositivi elettronici posizionati in apparecchi che servono per lo più ad effettuare rilevazioni fisiche. Non generano informazioni complesse, tipicamente si tratta di misurazioni, ma il loro scopo molto spesso è quello di rilevare dati da inviare ai server che li accumulano. Per fare qualche esempio i nostri smartphone e tablet sono pienissimi di sensori: servono ad acquisire posizione, movimento, temperatura, orientamento e molto altro e costituiscono buona parte del funzionamento del dispositivo. Altri sensori sono spesso collocati in varchi elettronici, porte automatizzate, elettrodomestici destinati al commercio come i frigoriferi che contengono bevande nei bar e molto altro.

Quindi i fattori che hanno portato all’accumulazione di così tanti dati sono tecnologici da un lato (diffusione di mobile, Cloud, sensori, etc.) ma anche comportamentali come la sempre maggiore affezione dell’utente al commercio elettronico e alla condivisione di contenuti.

VUOI DIVENTARE UN ESPERTO DI BIG DATA?

Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂

VAI AI CORSI SUI BIG DATA

Quali tecnologie esistono per Big Data?

A questo punto un po’ di premessa l’abbiamo fatta. Abbiamo acquisito qualche nozione su cosa sono i Big Data e quali sono i fattori che hanno determinato questa situazione ma se vuoi diventarne un esperto hai bisogno di qualche indirizzamento un po’ più pratico.

Le tecnologie di cui sentirai sicuramente parlare nell’ambito dei Big Data sono Hadoop e Spark. Il primo è uno strumento nato nel 2005 per gestire moltissimi dati accumulati su cluster e analizzarli mediante l’algoritmo MapReduce. Cerchiamo di fare chiarezza. Con il termine “cluster” intendiamo una rete di computer finalizzata ad un medesimo scopo. Esistono cluster in cui tanti nodi (i singoli computer) gestiscono un database o un server web o altro ancora: nel caso di Hadoop tutti i nodi servono a gestire la moltitudine di dati che vengono immagazzinati e organizzati in un file system che prende il nome di HDFS (Hadoop Distributed File System). Lo scopo di tanta accumulazione è l’elaborazione di tutti questi dati e, rifuggendo le tecniche tradizionali, in Hadoop si è scelto l’algoritmo MapReduce (scopri di più con il nostro screencast MapReduce: algoritmo base per Big Data) un modo per far “scorrere” i dati tra una funzione di Map che li cataloga associando ad ogni dato un’etichetta (detta chiave) ed una di Reduce che li sintetizza estraendo un risultato in base al nostro scopo. Man mano che il problema si fa complicato possiamo creare più task MapReduce concatenandoli tra loro per eseguire le analisi di cui abbiamo bisogno. Hadoop è diventato con il tempo molto più di questo trasformandosi in una piattaforma di integrazione aperta ad altri strumenti sviluppati appositamente per sfruttare la sua grande capacità di gestire Big Data. Ha mostrato però negli anni anche limitazioni in fatto di prestazioni e capacità di adattamento e per questo, nel 2010, è stato avviato il progetto Spark che si è conquistato presto un posto di primo piano nel settore.
Spark nasce per lavorare in cluster anch’esso ma sfruttando maggiormente memoria RAM e alcuni accorgimenti che permettono prestazioni di gran lunga superiori a quelle di Hadoop. Si consideri comunque che Hadoop e Spark non sono due mondi totalmente distinti, possono interagire se installati separatamente o essere integrati in un’unica installazione.
Arriviamo ora ad un altro punto cruciale: quali sono i linguaggi che si usano per programmare su Big Data? Questa è una domanda che incuriosisce molti, soprattutto quelli che vogliono rendersi conto se le proprie conoscenze sono adeguate e quanto possa essere difficoltoso colmare le lacune.

» VUOI SAPERNE DI PIU’? VAI AI NOSTRI CORSI BIG DATA «

Linguaggi per Big Data

Sia Hadoop sia Spark nascono su tecnologia Java (scopri il nostro corso online Fondamenti di Java) pertanto questa è una delle prime soluzioni che è stata impiegata nella programmazione su Big Data. Ma non è tutto qui, soprattutto Spark si è aperto ad una moltitudine di linguaggi di programmazione tra cui quello che è diventato una delle principali scelte al mondo in fatto di elaborazione dati: Python (corso Fondamenti di Python). Installando il pacchetto PySpark si potrà programmare in Python con tutta la flessibilità di Spark.
Altri linguaggi che possono essere impiegati con Spark sono Scala, linguaggio derivante da Java ed usato per lo sviluppo di Spark stesso, e R, proveniente dal mondo della Statistica, ma utilissimo in ogni forma di elaborazione dati.

Quanto è difficile iniziare a lavorare su Big Data?

Lavorare con Big Data non è impossibile e, anzi, può essere considerato più alla portata di altre branche dell’Informatica. Come al solito, è importante imboccare il percorso giusto, fornirsi delle basi necessarie (rudimenti di programmazione Python sono un ottimo viatico) e armarsi di sufficiente costanza. Scenari lavorativi su Big Data sono sempre più diffusi e non solo in aziende che si occupano prevalentemente di analisi dati, ma anche presso compagnie che vogliono imparare ad elaborarli in proprio per sfruttarne tutti i vantaggi derivanti.

» VUOI SAPERNE DI PIU’? VAI AI NOSTRI CORSI BIG DATA «