Big Data: i termini da conoscere

Big Data

Il termine Big Data si riferisce ad una raccolta di dati (data set) “così estesa in termini di volume, velocità e varietà da richiedere tecnologie e metodi analitici specifici per l’estrazione di valore (Wikipedia). Negli ultimi anni l’attenzione delle grandi aziende per i Big Data è aumentato esponenzialmente per via delle potenzialità offerte dagli strumenti sviluppati per l’analisi di generosi data set (nell’ordine dei miliardi di terabyte), in grado di estrapolare, rispetto a set più contenuti, valore  aggiunto per il proprio business (informazioni, trend etc.).

Il mondo dei Big Data, come ogni ecosistema che si rispetti, è una realtà complessa ed articolata, in continuo mutamento, e per destreggiarsi al meglio al suo interno è opportuno conoscere il significato di una serie di specifici termini. Nel post di oggi riporteremo proprio una selezione di parole (effettuata dall’advisor ed IT strategic consultant Sudhi Seshachala) che di frequente fanno capolino in discussioni inerenti i Big Data. Buona lettura.

  • Algoritmi. Si tratta di formule matematiche e di analisi che includono inoltre processi di statistica per l’analisi dei dati. Gli algoritmi sono implementati nei software al fine di analizzare, processare i dati in entrata (input data) e produrre risultati (output).
  • Analitica. Termine che riassume l’iter con il quale si giunge ad una serie di conclusioni sulla base di quanto estrapolato dall’analisi di dati grezzi (raw data). Grazie all’analitica numeri e dati senza alcun senso possono essere trasformati in qualcosa di utile (il valore aggiunto del quale si parlava in apertura).
  • Avro. Un sistema di serializzazione dei dati che consente di codificare lo schema dei file Hadoop. E’ particolarmente adatto all’analisi dei dati.
  • Biometrica. Utilizzo dell’analitica e di tecnologie varie per l’identificazione di una o più persone attraverso le loro caratteristiche fisiche: il riconoscimento delle impronte digitali, riconoscimento facciale o dell’iride etc. sono un perfetto esempio.
  • Cascading. E’ un livello avanzato di astrazione per Hadoop in grado di facilitare la realizzazione di lavori complessi in vari linguaggi che opera su JVM (Java Virtual Machine), Scala, Ruby ed altri.
  • Cassandra. Una nota soluzione database management system open source supervisionata direttamente dalla Apache Software Foundation e pensata per gestire considerevoli flussi di dati distribuiti su più server.
  • Chukwa. Un sotto-progetto di Hadoop pensato per le analisi su larga scala e la raccolta dei log. Si appoggia all’Hadoop distributed filesystem ed a MapReduce offrendo inoltre una serie di flessibili e potenti strumenti per analizzare i risultati ottenuti dalla raccolta dati.
  • Clojure. Un linguaggio di programmazione in LISP che utilizza JVM (Java Virtual Machine). E’ particolarmente adatto per il processamento dei dati in parallelo.
  • Cloud. Tecnologia che mette a disposizione risorse scalabile ed on-demand estrapolate dagli hardware cluster sottostanti. Il cloud consentono di abbassare notevolmente i costi operativi e semplificare l’attività lavorativa.
  • Complex Event Processing. L’analisi ed il monitoraggio di attività attraverso il sistema di un’organizzazione e l’intervento in tempo reale su queste ultime – se necessario.
  • DaaS. I servizi Database as a Service offrono funzioanalità database simili a quelle dei RDMBS (MySQL, SQL, Oracle) mediante una piattaforma self-service scalabile, flessibile ed on-demand.
  • Database. Una raccolta sistematizzata di dati che può comprendere schemi, classifiche, tabelle. Può essere affiancato da un DBMS (Database Management System, es: Access), un software che semplifica l’analisi e la consultazione dei dati presenti.
  • Data Lake. Un enorme magazzino di dati grezzi in attesa di essere analizzati/processati.
  • Data Mining. Termine che può variare di significato in base al contesto. Per i non addetti ai lavori assume quello di analisi automatica di dabase di una una certa grandezza. Per gli analisti si riferisce invece all’insieme di metodologie di statistica e machine learning adottate nel database.
  • Data Scientist. Un esperto che estrapola informazioni utili dai dati. In questa categoria rientrano solitamente figure lavorative che posseggono abilità inerenti l’informatica, l’analitica, la matematica, la statistica, la comunicazione e visualizzazione dei dati, le strategie di business.
  • Dark Data. L’insieme di informazioni archiviate e gestite da un’azienda ma non utilizzate – sono quindi in attesa di essere studiate. Diverse compagnie dispongono inconsapevolmente di un elevato quantitativo di dark data.
  • Drill. Un sistema distribuito open source che facilità l’esecuzione di analisi interattive su data set di grandi dimensioni.
  • Grid Computing. L’esecuzione di funzioni computazionali mediante l’impiego di risorse provenienti da vari sistemi distribuiti. I sistemi inseriti in una rete grid computing possono adottare un differente design rispetto agli altri e possono anche trovarsi in una differente location. Il grid computing entra solitamente in gioco con file di grandi dimensioni.
  • Hadoop. Software open source che opera processando ed archiviando file/dati. E’ anche noto per l’ottima gestione in parallelo dei workload. In ambito enterprise è adoperato per consultare, salvare ed analizzare enormi quantità di dati.
  • Hadoop User Experience (Hue). Interfaccia open source pensata per facilitare l’utilizzo di Hadoop. 
  • Hama. Progetto di alto livello supervisionato da Apache e basato sul sistema computazionale Bulk Synchronous Parallel. E’ impiegato per calcoli scientifici estremamente complessi come grafici, matrici ed algoritmi di rete.
  • Hana. Strumento computazionale hardware/software realizzato da SAP e destinato a transazioni di alto volume ed analisi in tempo reale.
  • Hive. Framework per l’archiviazione dei dati basato su Hadoop e sviluppato da Facebook. Consente di scrivere le query in HiveQL, un linguaggio simile ad SQL che viene trasformato in MapReduce. Si rivela molto versatile perchè consente ai programmatori SQL che non conoscono MapReduce di avvalersi di utili data warehouses.
  • Impala. Soluzione che offre rapide ed interattive query SQL ai dati Apache Hadoop archiviati in HBase o HDFS utilizzando la medesima sintassi SQL, interfaccia e metadati di Apache Hive.
  • Internet of Thing (IoT). Termine che indica una specifica tipologia di oggetti in grado di inviare e ricevere dati. Si tratta in sintesi di una rete di oggetti (sensori, elettrodomestici, sensori etc.) in grado di connettersi alla Rete e creare un flusso considerevole di dati. L’abilità di interpretare ed analizzare tali dati può rivelarsi molto utile per creare una nuova serie di servizi “intelligenti” per il futuro (ad esempio un sensore potrebbe rilevare l’arrivo di un temporale e chiudere delle imposta lasciate inavvertitamente aperte).
  • Machine Learning. Un efficace metodo per l’analisi dei dati che si appoggia ad algoritmi, modelli dinamici in grado di migliorare l’abilità del sistema stesso mano a mano che si procede nelle operazioni di analisi. La capacità computazionale delle macchine è così adoperata dall’uomo per dare vita ad una sorta di sistema in grado di processare autonomamente le informazioni ed individuare nessi/analogie. In relazione al machine learning non è difficile sentire parlare di network neurali ed IA (intelligenze artificiali).
  • MapReduce. Un modello per programmare, generare e processare ingenti quantità di dati. In sintesi MapReduce opera in due passaggi: nel primo i dataset più preziosi sono frammentati e ridotti in una serie di bit (tuples); nel secondo questi ultimi subiscono un ulteriore processo di frammentazione.
  • Mashup. Un metodo per unificare differenti data set in una singola applicazione al fine di migliorare i risultati ottenuti.
  • NoSQL. E’ un DMBS (database management system) che, a differenza dei classi sistemi database relazionali, non utilizza le tabelle. NoSQL è  pensato per recuperare, archiviare e gestire data set di importanti dimensioni.
  • Oozie. E’ un sistema per gestire al meglio l’attività lavorativa (workflow). Consente agli utenti di definire una serie di lavori che potranno essere scritti in vari linguaggi (Hive, MapReduce, Pig).
  • Pig. Un linguaggio basato su Hadoop e sviluppato da Yahoo. E’ molto semplice da imparare e da interpretare.
  • R. Ambiente e linguaggio per la visualizzazione dei dati e la computazione statistica. E’ simile al linguaggio S.
  • SaaS. Il Software as a Service è un modello di business che consente ai provider di mettere a disposizione di potenziali clienti varie applicazioni (ospitate nella propria piattaforma) via Internet. I servizi dei provider SaaS sono disponibili solitamente nel cloud.
  • Spark. Una struttura computazionale open source utilizzata per l’analitica interattiva ed il machine learning. Spark è stato inizialmente sviluppato dall’Università della California e successivamente donata all’Apache Foundation.
  • Sqoop: uno strumento per lo spostamento dei dati da Hadoop ad altre soluzioni di archiviazione dati o database relazionali.
  • Storm: sistema computazionale distribuito in tempo reale gratuito ed open source. Facilita la processazione di dati non strutturati mediante processamento istantaneo – si appoggia ad Hadoop per le operazioni di batch processing.
  • Thrift. Una struttura software per lo sviluppo di servizi che si appoggiano a più linguaggi. L’engine che genera il codice è in grado di realizzare servizi in grado di lavorare egregiamente con Java, C++, Python, Ruby, PHP, Erlang, Haskell, Perl, and C#.