L’analisi dei dati come la conosciamo oggi ha le sue radici nella statistica e nell’informatica.

Si tratta di una disciplina che nasce già negli anni 60 quando inizia a fare capolino la consapevolezza che la focalizzazione si spostava da un approccio matematico a un approccio scientifico, di tipo empirico, che aveva come oggetto i dati.

Questa genesi determina uno stretto legame tra tecnologie informatiche e la data analisi o in un senso più ampio ciò che oggi chiamiamo Data Science.

Negli ultimi decenni, a partire dagli anni 80, la diffusione dei computer e di Internet hanno determinato una rapida evoluzione negli strumenti per produrre e analizzare i dati.

In questo contesto i database relazionali si sono affermati come una tecnologia chiave per la conservazione e interrogazione dei dati.

I database relazionali o RDBMS (Relational Database Management System) sono una specifica classe di programmi per la gestione di basi di dati, fondata sull’organizzazione dei dati stessi in tabelle strutturate in colonne (campi) e righe (record).

Queste tabelle sono caratterizzate da una struttura rigida (schema) e da una serie di relazioni con altre tabelle, che consentono di collegare un record in una tabella con uno o più record in un’altra tabella.

Ad esempio: i record dei dati anagrafici del dipendente X, presente in una tabella che contiene le anagrafiche di tutti i dipendenti, viene collegato, usando il codice dipendente, con tutti i record delle sue buste paga conservate in una tabella distinta, in cui sono presenti le buste paga di tutti i dipendenti.

I database relazionali si basano sull’algebra relazionale e condividono una “lingua franca”, che consente di esprimere in modo standard la definizione delle tabelle e delle loro relazioni, le operazioni di estrazione e le analisi dati sotto forma di “comandi” chiamati query.

Questa lingua franca è il linguaggio SQL (Structured Query Language) che è diventato uno standard ANSI (American National Standards Institute) già nel 1986.

Il linguaggio SQL e i DWH

Fino agli anni 90 i cosiddetti database SQL (o RDBMS) sono divenuti, salvo qualche eccezione, lo standard de facto per la gestione dei dati in tutti i settori.

Sulla base della tecnologia relazionale sono stati sviluppati database ottimizzati per la gestione delle transazioni nei sistemi OLTP (Online transaction processing) o per l’analisi dei dati e la business intelligence nei sistemi OLAP (Online analytical processing).

In particolare, l’avvento dei Data Warehouse (DWH) ha consentito alle aziende di raccogliere in un unico database (ottimizzato per operazioni OLAP), i dati provenienti da diversi sistemi aziendali.

I DWH sono progettati definendo uno schema di tabelle, ottimizzato per le analisi da effettuare a favore del business, e richiedono una profonda conoscenza preliminare della struttura di tali dati e degli obiettivi dell’analisi.

Tali dati sono tipicamente estratti dai sistemi di origine (spesso database relazionali) mediante processi di estrazione, trasformazione e caricamento (Extraction Transformation and Load – ETL) che consentono di adattarli allo schema relazionale del DWH.

Per un certo periodo analisi dati è stata identificata da molte aziende con la business intelligence e la realizzazione di Data Warehouse, usati per mettere a fattore comune le informazioni prodotte dai diversi sistemi aziendali che erano spesso concepiti come silos isolati.

Con l’avvento dei Big Data e con lo sviluppo di applicazioni web e mobile sempre più dinamiche e veloci, il ruolo dei RDBMS è entrato in crisi.

I RDBMS non erano più in grado di supportare la conservazione e l’analisi dei big data caratterizzati da enorme Velocità, Volumi e Varietà (le cosiddette tre V).

Anche sul fronte delle transazioni i RDBMS sono entrati in crisi, perché la loro velocità in scrittura dei dati non era sufficiente a supportare le esigenze di sistemi online con milioni di utenti.

Questi vincoli erano legati alle architetture software dei RDBMS, progettate per scalare verticalmente aggiungendo memoria e potenza di calcolo a una singola macchina, e vincolate dall’esigenza di garantire l’integrità delle strutture relazionali.

Contemporaneamente il ruolo della data science è diventato sempre più importante in campo business con l’emergere di nuove forme di competizione basate sull’uso estensivo dell’analisi dati per supportare le decisioni.

Da qui l’esplosione nell’uso di tecniche avanzate di analisi dati, basate sul Machine Learning e sull’intelligenza artificiale, anche in ambito business.

La combinazione di questi due fenomeni ha portato a una serie di cambiamenti profondi degli approcci e strumenti adottati negli ultimi anni per supportare l’analisi dei dati in ambito aziendale.

Hadoop e cloud computing

Sono emerse delle tecnologie in grado di affrontare la sfida dei big data e di supportare i data scientist nell’utilizzo di tecniche evolute di analisi superando i limiti e le barriere imposte dalle precedenti tecnologie RDBMS e Data Warehouse.

In particolare si sono affermati nuovi approcci alla raccolta e gestione dei dati, più adatti a trattare i big data rispetto ai precedenti.

Tra questi rivestono particolare importanza i cosiddetti data lake, archivi di dati basati inizialmente su Hadoop (framework open source per i big data) e successivamente, sempre più spesso, su servizi di cloud computing pronti per l’uso. 

I data lake consentono di contenere i costi ribaltano l’approccio dei Data Warehouse e prevedono di poter caricare e analizzare qualsiasi tipo di dato nella sua forma grezza anche nel caso di dati non strutturati (es. Immagini, pdf, documenti testuali, email, etc..) o semi  strutturati (es. Json, XML).

Lo schema che nei RDBMS è un vincolo alla memorizzazione dei dati (schema on write) viene applicato, nei data lake, durante la lettura del dato (schema on read).

La velocità di acquisizione e di processamento dei dati può crescere grazie alla separazione tra la componente di storage (memorizzazione) e quella computazionale, che può aumentare all’occorrenza mediante scalabilità orizzontale, aggiungendo cioè nuove macchine in un cluster di calcolo piuttosto che aumentando le risorse di una singola macchina molto potente.

Sono stati poi sviluppati nuovi tipi di database, basati su logiche diverse dai RDBMS, e chiamati genericamente NoSQL (“Non basati sul SQL”). 

In questo campo molto vasto abbiamo ad esempio:

  • i database documentali come MongoDB che ottimizza le operazioni di scrittura e lettura di singoli oggetti (documenti);
  • i database colonnari, come Cassandra, che memorizzano i dati in colonne invece che in righe per ottimizzare le operazioni colonnari (es. media, max, min, etc..) su grandi quantità di dati;
  • i graph database, come Neo4j, che organizzano i dati come grafi e consentono di ottimizzare query basate su algoritmi di analisi di rete.

Questi sistemi rilassano alcuni dei vincoli dei RDBMS e cambiano la logica di memorizzazione dei dati per ottimizzarla rispetto a specifici scenari d’uso.

Linguaggi di programmazione e data viz

Dal punto di vista computazionale abbiamo assistito all’affermarsi di framework di calcolo big data come Spark, linguaggi di programmazione per la Data Science quali Python ed R che hanno affiancato linguaggi ormai consolidati in ambito enterprise come Java (che ha “gemmato” il linguaggio Scala alla base di Spark stesso). 

Dal punto di vista della visualizzazione ed esplorazione dei dati si sono affermati software di data analysis e data visualization, come Tableau o Qlik, che semplificano l’accesso ai dati dalle più svariate fonti e forniscono interfacce utente interattive per la costruzione di dashboard e storytelling sui dati senza competenze di programmazione.

Tutti questi strumenti hanno consentito uno sviluppo rapido di progetti di Data Science e big data nelle aziende ma hanno anche comportato l’emergere di nuovi problemi:

  • Le soluzioni software per la gestione della data governance su data lake, sono più complesse e meno mature rispetto a quelle disponibili sui RDBMS;
  • L’esigenza di maggiore libertà e flessibilità nell’accesso ai dati genera un proliferare di soluzioni in “self service” che aggiungono ulteriore complessità;
  • Non esiste più un unico modo per fare le cose ma convivono in un’azienda soluzioni alternative e “in competizione” tra loro;
  • La cultura aziendale non sempre è al passo con la velocità delle innovazioni tecnologiche e con le loro implicazioni sul business;
  • Il confine tra dati interni ed esterni all’azienda è spesso sottile e richiede maggior controllo e consapevolezza e nuovi strumenti;
  • La gestione della data privacy è più complessa e contemporaneamente espone a gravi rischi sotto il profilo economico, legale e di immagine;
  • Sono emerse nuove figure professionali (data scientist e data engineer) ancora difficili da acquisire e da formare.

 

In questo scenario così ricco di opportunità ma anche di rischi, le aziende dovrebbero adottare un approccio globale per affrontare le nuove sfide puntando a:

  • promuovere una cultura aziendale data driven,
  • promuovere una cultura aziendale aperta e collaborativa,
  • mettere i dati al centro del proprio processo di digital transformation,
  • sviluppare processi organizzativi adeguati,
  • istituire (e formare) figure organizzative specializzate nella data governance,
  • acquisire nuove figure professionali tecniche specializzate nell’analisi dati (data scientist, data engineer),
  • acquisire tecnologie e strumenti adeguati.

Si tratta di un percorso nel quale la tecnologia è solo uno dei fattori. 

In questo percorso Linkalab aiuta i propri clienti dando loro supporto all’impostazione o revisione della data governance, fornendo servizi di data engineering per lo sviluppo rapido di data lake su cloud computing e mediante l’introduzione della Data Science con un approccio agile.

Allo stesso tempo supporta lo sviluppo della cultura aziendale cono attività di formazione e mentoring su data governance, data engineering e Data Science.

 


Richiedi una consulenza