I dati sono sempre stati importanti, ma adesso, soprattutto con l’avvento dei big data, stanno acquistando una rilevanza sempre crescente. Prima di poter essere utilizzati tuttavia, e dunque prima di passare sotto le mani del data analyst, i dati debbono essere “trattati” in modo da essere poi disponibili per l’analisi. Debbono in altre parole essere immagazzinati in un database e nel processo gli va data una certa struttura, che li renda compatibili con gli utilizzi che si vorrà farne. Attenzione: implementare materialmente il database e modellare i dati sono due cose distinte: la modellazione è un processo astratto e indipendente dalla sua concretizzazione all’interno di un DB. Possiamo dunque definire un modello di dati come la rappresentazione astratta delle strutture dati all’interno di un data base. L’atto della creazione di un modello prende il nome di “modellazione”. In buona sostanza quindi quando si crea un data model non si considerano solo gli insiemi di dati ma anche le relazioni fra loro il che consente fra le altre cose di individuare al contempo i dati necessari e quelli eventualmente mancanti. Un data model se ben fatto permette di visualizzare le informazioni con maggiore evidenza e accuratezza e di sostenere le decisioni strategiche basandosi su evidenze scientifiche e non su su ipotesi non sempre pienamente fondate. Data la sua rilevanza il data modeling sta acquistando sempre maggiore importanza e si sta rapidamente evolvendo. Vediamo insieme quali sono le ultime tendenze.
La sempre maggiore diffusione del data modeling
Come si accennava in precedenza, la quantità di dati, e la quantità di fonti da cui i dati proverranno, è destinata ad aumentare costantemente. Nel contempo, grazie alle conseguenze dell’epidemia di Sars-Cov 2, da una parte la digitalizzazione diverrà sempre più spinta, dall’altra la capacità di spesa si ridurrà. Questi due fattori insieme faranno sì che sempre più aziende si convertiranno alla modellazione dei dati, anche grazie al fatto che attualmente sul mercato esistono numerosi tool sofisticati ma di semplice uso che permettono di portare avanti questa complessa attività in modo molto più semplice e che la aprono anche a persone che di formazione non sono data scientists.
Avvento di tecniche basate sul machine learning per la modellazione dati
Negli ultimi anni l’intelligenza artificiale e in particolare il machine learning è divenuto via via più sofisticato, raggiungendo livelli prima impensabili. Il machine learning viene applicato in moltissimi ambiti della data intelligence e la modellazione dati non fa eccezione. I software di data automation e di data modeling già fanno gran parte del “lavoro duro” ma rimane comunque sempre necessario l’intervento umano. Applicando tecniche di machine learning alla modellazione di dati invece l’intervento umano riesce ad essere sempre più limitato (consistendo per esempio nel selezionare, fra i diversi modelli proposti dal tool, quello più adatto al problema in oggetto) generando un ovvio risparmio di tempo e di risorse.
Agile data modeling
Come nel management l’approccio “agile” ha sempre più soppiantato il tradizionale modo di gestire i progetti, così nella modellizzazione dei dati i concetti si sono evoluti e di conseguenza anche le richieste provenienti dalla business intelligence e dall’analisi dei dati. La filosofia agile applicata al data modeling si conforma pienamente all’approccio agile: evitare di iniziare costruendo ingombranti e dispendiosi modelli omnicomprensivi. Nella modellazione dati agile si creano modelli solo se, quando e nella misura in cui servono. Il risultato che si ottiene in questo modo è più flessibile e maggiormente in grado di adattarsi a situazioni ed anche a tipi di dati in continuo mutamento. Questo tipo di approccio trova perfetta applicazione nei database NoSql, che sono per loro natura non relazionali e particolarmente adatti a gestire dati non strutturati e in continua evoluzione.
Modellazione dati visuale e codeless
La modellazione dati è un’attività complessa per cui sono necessarie figure specializzate. Come per molti altri ambiti della programmazione anche qui si sta sviluppando una tendenza ad appoggiarsi su tool e software in grado di offrire un approccio visuale alla modellazione dati, che non richieda sporcarsi le mani con la programmazione. Fra i tool di questo tipo possiamo citare Whatagraph, Xplenty e il famosissimo Erwin.
I graph database
I database a grafo (graph databases) utilizzano un approccio topografico per registrare i dati: connettono specifici data points (che possono essere ad esempio i clienti di un’azienda, le vendite, o ogni altra cosa che si voglia registrare) e stabiliscono automaticamente relazioni fra questi sotto forma di grafo. Questi grafi, anche detti “knowledge graphs” sono particolarmente efficaci nel caso di relazioni fra dati particolarmente complesse e difficili da decifrare o di mole di dati particolarmente grande, soprattutto se usati in combinazione con tecniche di machine learning e di intelligenza artificiale e stanno prendendo sempre più piede, per esempio sono stati diffusamente utilizzati dall’azienda AstraZeneca per le sue modellazioni.