Basi di dati, informazione, conoscenza

(di Giorgio Giacinto)
04/07/24

Da quando l'uomo ha iniziato a rendere sistematica la conoscenza ha avuto la necessità di classificare e definire la realtà circostante. Per farlo ha introdotto metodi quantitativi per descrivere tutto ciò che lo circonda.

Una base di dati è uno strumento informatico che ha lo scopo di rendere facile ed efficiente non solo memorizzare le descrizioni di realtà di interesse, ma soprattutto recuperare i dati in modo correlato in modo da estrarre informazione.

Facciamo un esempio semplice. I prodotti in vendita in un supermercato potrebbero essere descritti da marca, nome commerciale, descrizione e prezzo. Un cliente abituale può avere una “carta fedeltà” cui sono associati alcuni dati anagrafici, la composizione del nucleo familiare, titolo di studio. Ciascuno scontrino del supermercato mette in relazione il cliente con i prodotti acquistati in una certa data e ora. Questi sono i dati.

Ma quale informazione possiamo estrarre? Ad es., qual è il giorno della settimana in cui si vende maggior quantità di birra, o la tipologia di alimenti acquistati da nuclei familiari in cui almeno un componente ha un titolo di studio di tipo universitario.

Maggiori sono i dettagli che memorizziamo per una data realtà, maggiori sono le possibilità di interrogare il sistema per estrarre informazioni preziose. In lingua inglese il verbo usato per esprimere il concetto di interrogare il sistema è query che in realtà ha radice latina, il verbo quaero (chiedere per ottenere qualcosa). Il segreto per creare una base di dati che potenzialmente possa essere utilizzata per un ampio ventaglio di interrogazioni ê quello di rappresentare i dati descrittivi di una realtà in forma atomica e non aggregata.

Nell’esempio precedente la descrizione del prodotto non è un buon metodo se all'interno inseriamo dettagli come ad es. il peso di un prodotto o il numero di confezioni impacchettate assieme. I dati non esplicitamente catalogati rendono molto complessa la loro elaborazione perché richiedono una interpretazione del contenuto.

Per rendere intuitiva la catalogazione dei dati, si utilizza il costrutto della tabella, in cui per righe si rappresenta una entità di interesse (ad es., un prodotto in vendita, un paziente, ecc.) e per colonne le sue caratteristiche (ad es., marca, nome del prodotto, prezzo, ecc.). Una tabella può anche rappresentare relazioni fra diverse entità. Ad esempio, se devo rappresentare la relazione di proprietà di un veicolo, mi sarà sufficiente una tabella in cui ciascuna riga riporti il codice fiscale del proprietario e la targa del veicolo, cioè le due caratteristiche che mi permettono di identificare univocamente proprietario e veicolo.

Quello finora descritto è il modello relazionale dei dati proposto da Edgar Codd (IBM1) che a tutt'oggi rappresenta lo standard per la rappresentazione dei dati, anche grazie alla semplicità del linguaggio sviluppato per interrogare il sistema (SQL, a volte indicato come acronimo di Structured Query Language, anche se in realtà si tratta del nome dato allo standard del linguaggio per differenziarlo dal nome commerciale usato da IBM, SEQUEL).

La disponibilità di un grande quantitativo di informazioni di dettaglio memorizzate in una base di dati relazionale consente di estrarre informazioni utili al monitoraggio, gestione e programmazione strategica di una organizzazione. Ad esempio, l’aggregazione dei singoli scontrini di un esercizio commerciale, o delle valutazioni di profitto di uno studente, consentono di studiare l’andamento complessivo rispettivamente delle vendite (per fasce orarie della giornata, per tipologia di cliente, ecc.) o delle carriere degli studenti (risultati degli esami universitari per semestre, per corso di studio, ecc.). Queste operazioni vengono effettuate nei Data Warehouse, archivi dove i dati vengono memorizzati in forma aggregata. Gli strumenti di analisi dei dati che si utilizzano in un data warehouse prendono il nome di Business Intelligence e includono diverse tecniche statistiche e di machine learning. Nel passato si è utilizzato il termine Data Mining a indicare che i dati sono una miniera da cui estrarre valore.

Il modello relazionale consente di memorizzare in modo efficiente i dati e di poter eseguire correlazioni di diverso tipo, ma con una lentezza di elaborazione intrinseca dovuta alla separazione delle informazioni in tabelle distinte che rende necessarie diverse operazioni di lettura dal sistema di memorizzazione per produrre il risultato. Negli ultimi 20 anni si stanno diffondendo modelli NoSQL2 (Not only SQL) specializzati per la memorizzazione di aggregati. Un esempio nel settore del commercio elettronico può chiarire il concetto. Quando cerchiamo un prodotto, e confrontiamo diverse alternative, abbiamo la possibilità di selezionare le caratteristiche desiderate. Questa è una funzionalità tipica dei modelli relazionali che memorizzano le caratteristiche dei prodotti in modo strutturato. Ad es., per un televisore possiamo selezionare la dimensione dello schermo, la risoluzione, la presenza o no di determinate porte di connessione ecc. Quando procediamo all’acquisto potremo usare un codice sconto o una offerta del giorno. Tutti questi dettagli vengono memorizzati in un unico elemento di una base di dati NoSQL che rappresenta l'equivalente dello scontrino o fattura. Sarebbe infatti oneroso memorizzare attraverso il modello relazionale lo storico delle varie versioni dei prodotti venduti, delle campagne promozionali, dei codici sconto.

In una organizzazione moderna troviamo dunque diverse basi di dati ciascuna specializzata per una finalità specifica: basi di dati relazionali per memorizzare tutti i dettagli di una determinata realtà, e basi di dati NoSQL per rappresentare aggregati facili da recuperare senza la necessità di dover ogni volta correlare informazioni. Si parla perciò spesso di memorizzazione persistente poliglotta3.

La necessità di memorizzare i dati per poi elaborarli è oggi aumentata in modo vertiginoso grazie allo sviluppo di sensori di diverso tipo che spesso indichiamo con il termine generico Internet of Things. Nella nostra vita quotidiana probabilmente usiamo un dispositivo indossabile per tenere sotto controllo alcuni parametri della nostra attività. Molti veicoli (auto, scooter, bici, ecc.) consentono la memorizzazione del percorso fatto, dell’usura di alcuni componenti. Nelle nostre case i contatori delle utenze domestiche sono smart perché comunicano, a intervalli di tempo costanti, informazioni sul consumo di energia elettrica o gas o acqua. Questi dati hanno rilevanza sia per identificare istantaneamente situazioni anomale o di pericolo, ma soprattutto sono utili quando aggregati per individuare tendenze, abitudini.

Questa abbondanza di dati, strutturati e non strutturati, gestiti con diversi modelli e tecnologie (spesso indicata con il nome di data lake), ha dato luogo negli ultimi anni alla figura professionale del data scientist, cioè dello specialista nella filiera dei dati dalla loro produzione, al loro filtraggio ripulitura e aggregazione per arrivare alle tecniche di interrogazione che permettono di estrarre informazione.

Viviamo nella cosiddetta società dell’informazione4, dove la memorizzazione, rappresentazione e correlazione fra i dati costituiscono la vera ricchezza. Non a caso nel 2006 è diventata famoso il detto che “I dati sono il nuovo petrolio”5, e più di recente che “l’intelligenza artificiale sia la nuova elettricità”6.

1https://www.ibm.com/history/edgar-codd

2https://sheinin.github.io/nosql-database.org/

3https://martinfowler.com/articles/nosqlKeyPoints.html

4https://www.manuelcastells.info/en/

5https://www.sheffield.ac.uk/cs/people/academic-visitors/clive-humby

6https://www.gsb.stanford.edu/insights/andrew-ng-why-ai-new-electricity