analisi dei dati

Graph database: ecco i vantaggi e perché usarli in azienda

Le aziende stanno sempre più adottando i graph database per gestire grandi quantità di dati interconnessi, come quelli provenienti dalle reti sociali, dalle transazioni, dai pagamenti digitali e per ottenere maggiori informazioni sui loro clienti e sulle loro operazioni. I vantaggi concreti

Pubblicato il 30 Mar 2023

Yuri Simione

Sales Director, Ultipa, Inc.

business analytics

I Graph Database rappresentano una tecnologia emergente che sta guadagnando sempre più terreno nel mondo della gestione e dell’analisi dei dati. Questa tecnologia si basa sulla rappresentazione dei dati attraverso grafi, ovvero insiemi di nodi e relazioni tra essi, un modello che offre un modo potente per analizzare, ricercare e anche visualizzare grandi quantità di dati in modo intuitivo.

Proviamo allora a illustrare perché ogni startup o ogni media e grande impresa dovrebbe considerare anche l’utilizzo di un graph database.

What is a Graph Database?

What is a Graph Database?

Guarda questo video su YouTube

Il mercato dei graph database

L’uso dei Graph Database sta crescendo vorticosamente nel mondo e la crescita continuerà anche nei prossimi anni. Molti esperti concordano sul fatto che i graph database possano offrire vantaggi significativi rispetto ad altre tecnologie, come i database relazionali, in particolare per applicazioni che richiedono un alto grado di connettività tra i dati. Secondo Gartner, il mercato dei graph database è destinato a crescere a un tasso di crescita annuale composto del 28.1% fino al 2025, raggiungendo un valore di fatturato stimato di circa 3.2 miliardi di dollari [1].

Sebbene l’implementazione di un database a grafo possa richiedere delle competenze oggi più difficili da trovare rispetto a quelle necessarie per gestire database relazionali, i benefici offerti dai graph database possano superare i costi e i rischi aggiuntivi rispetto dell’utilizzo di una tecnologia molto più consolidata. Molti fornitori di servizi cloud e gli stessi fornitori di graph database stanno offrendo sempre più soluzioni di Graph-as-a-Service (tanto per non privarci di un nuovo sostantivo, inglese o italiano che sia!), semplificando l’implementazione e la gestione di questi database.

Sempre Gartner afferma che il graph database costituisce la base della moderna gestione e dell’analisi dei dati, con la capacità di migliorare la collaborazione tra utenti, i modelli di apprendimento automatico e la spiegabilità dei risultati prodotti dagli algoritmi di Intelligenza Artificiale. Entro il 2025, le tecnologie legate ai graph database saranno utilizzate nell’80% delle innovazioni in materia di dati e analisi, rispetto al 10% del 2021. Non a caso, il 50% delle richieste di consulenza dei clienti di Gartner riguardo all’argomento dell’IA comporta una discussione sull’uso dei graph database [2].

Le aziende stanno sempre più adottando i graph database per gestire grandi quantità di dati interconnessi, come quelli provenienti dalle reti sociali, dalle transazioni, dai pagamenti digitali e per ottenere maggiori informazioni sui loro clienti e sulle loro operazioni.

Il settore dei graph database sta assistendo all’ingresso di nuovi player, tra cui molte startup che offrono soluzioni innovative e flessibili, sfidando i fornitori storici del mercato.

Il Graph Database favorisce la nascita di unicorni: ecco le opportunità che l’Italia non coglie

Gli utilizzatori dei graph database provengono da diverse industrie, tra cui finanza, logistica, sanità e trasporti, e si prevede che il mercato si espanderà ulteriormente man mano che sempre più settori inizieranno a adottare questa tecnologia.

In molti casi i graph database si prestano a implementare applicazioni veramente innovative, soluzioni che unicamente questo modello di database permette di implementare. Ad esempio, la startup californiana Ultipa, a partire dall’omonimo graph database, ha realizzato una soluzione liquidity risk management, utilizzata da banche e istituzioni finanziarie per gestire il rischio di liquidità, ovvero il rischio di non essere in grado di soddisfare le esigenze di liquidità a breve termine, in modo efficiente e tempestivo. Questa soluzione, grazie a Ultipa Graph, un potente graph database, permette di calcolare, in tempo reale, il Liquidity Coverage Ratio (LCR), un indicatore prudenziale che misura la capacità di una banca di far fronte a potenziali crisi di liquidità nel breve termine attraverso un adeguato livello di attività liquide.

Con l’aumento della consapevolezza sui vantaggi dei graph database, come la capacità di rilevare relazioni nascoste nei dati, la scalabilità e la velocità delle query, si prevede che il mercato dei graph database continuerà a crescere e a innovare, offrendo sempre più soluzioni su misura per le esigenze dei clienti.

Database a Grafo vs Database Relazionali: chi vince?

I database a grafo risultano spesso anche mille volte più performanti del più veloce database relazionale. Ci sono tipologie interrogazioni a cui i graph database rispondono in pochi millisecondi o secondi e a cui i database relazionali non riescono proprio a fornire una risposta. Ironicamente, i database relazionali soffrono nel fornire risposte in cui sono coinvolte le relazioni tra record. Le relazioni, nel database relazionale, sono solo memorizzate in maniera implicita e sta allo sviluppatore estrarre i dati in relazione, eseguendo le operazioni di join tra tabelle: solo durante l’esecuzione dell’interrogazione, le relazioni emergono in maniera esplicita. Al contrario, nel database a grafo le relazioni sono esplicite e sono rappresentate dagli archi che connettono due nodi in relazione.

Ci sono chiaramente molti ambiti in cui il modello relazionale surclassa i database a grafo. È facile intuire che in tutte le interrogazioni in cui non ci sono dati in relazione o in cui non è strettamente necessario eseguire pesanti operazioni di join, il database relazionale è vincente. I database relazionali risultano più efficaci e performanti quando questi sono utilizzati principalmente per memorizzare le transazioni e solo raramente per eseguire delle interrogazioni sui dati. I clienti comunque iniziano ad apprezzare il modello a grafo e, in nuovi progetti, non di rado, preferiscono l’utilizzo di questo in sostituzione al modello relazionale: questa scelta è effettuata non sempre per motivi solo di performance quanto anche per una maggiore libertà che i database a grafo offrono nella definizione e nella gestione del modello dati.

Non ci aspettiamo che in futuro i database grafici sostituiranno completamente i database relazionali. Martin Fowler è un noto esperto di architettura software e autore di diversi libri sullo sviluppo software. In un suo famoso articolo del 2011, Fowler ha descritto la Polyglot Persistence come una strategia di progettazione che prevede l’utilizzo di diversi tipi di database per soddisfare le esigenze specifiche di un’applicazione.

In sostanza, la Polyglot Persistence prevede l’utilizzo di più modelli di database, ognuno specializzato in un tipo specifico di dati o query, invece di utilizzare un unico database per l’intera applicazione. Ciò consente di utilizzare il database migliore per ogni specifico caso d’uso, migliorando l’efficienza e la flessibilità dell’applicazione.

Fowler ha sottolineato che la Polyglot Persistence può richiedere una maggiore complessità di sviluppo e gestione dei dati, ma che i benefici possono superare i costi aggiuntivi. Ha anche suggerito che la Polyglot Persistence può essere particolarmente utile in applicazioni di grandi dimensioni o distribuite, dove è necessario gestire grandi quantità di dati in modo efficiente. L’articolo di Fowler è perfetto per confermare come in futuro non ci sarà un unico modello di database vincente: già oggi e ancor più in futuro, il Direttore dei Sistemi Informativi si trova e si troverà a gestire un flusso di informazioni sempre più complesso e che sarà memorizzato in database relazionali, in base dati orientati al documento come MongoDB e CouchBase, in Key-Value Store come Redis, in database colonnari come Apache Cassandra e in database a grafo come Neo4j, Ultipa, Dgraph e altri.

Graph database e IA

I graph database e l’Intelligenza Artificiale (IA) sono due tecnologie che si integrano in modo complementare e sinergico. Infatti, i graph database forniscono una rappresentazione grafica dei dati e delle relazioni tra essi, che può essere utilizzata per allenare i modelli di Machine Learning (ML) e di Deep Learning (DL) utilizzati in IA.

In particolare, i graph database sono in grado di rappresentare i dati in modo strutturato e di modellare le relazioni tra essi in modo intuitivo e naturale, grazie alla loro architettura a grafo. Questa struttura di dati, in cui le entità sono rappresentate come nodi e le relazioni come archi, è particolarmente adatta per rappresentare le conoscenze in modo organizzato e interconnesso.

Ciò significa che i graph database possono essere utilizzati per costruire ontologie, ovvero modelli di conoscenza che descrivono un dominio di interesse, in modo strutturato e semantico. Questi modelli possono poi essere utilizzati per addestrare modelli di ML e DL che sfruttano le relazioni tra le entità, e non solo le caratteristiche individuali, per fare previsioni e classificazioni.

Ad esempio, un’azienda che utilizza un graph database per rappresentare le relazioni tra i propri clienti, i prodotti che acquistano e le recensioni che lasciano, può utilizzare questi dati per addestrare un modello di IA che individua i prodotti più venduti e consigliare i prodotti correlati a ogni cliente in base ai loro interessi.

I graph database non solo possono migliorare l’addestramento dei modelli di IA, ma possono anche favorire l’implementazione della spiegabilità nell’IA, nota anche come Explainable AI (XAI).

La spiegabilità

La spiegabilità è un aspetto cruciale dell’IA, in quanto i modelli di Machine Learning spesso producono risultati difficili da interpretare e comprendere, soprattutto quando sono applicati a problemi complessi come il riconoscimento di immagini o la diagnosi medica. La spiegabilità consente di comprendere il motivo per cui un modello ha preso una determinata decisione, fornendo informazioni sui fattori che hanno influito sulla scelta.

I graph database, grazie alla loro capacità di rappresentare le relazioni tra le entità, possono essere utilizzati per creare modelli di IA che sfruttano i grafi per fornire spiegazioni sulle decisioni prese. Ad esempio, un modello di IA addestrato su un graph database che rappresenta la rete di relazioni tra i pazienti, le malattie e i sintomi può essere utilizzato per diagnosticare una malattia e fornire una spiegazione dettagliata sui fattori che hanno portato a quella diagnosi. L’utilizzo dei graph database può quindi contribuire a creare sistemi di IA più affidabili, etici e responsabili, che si basano su dati strutturati e organizzati in modo chiaro e comprensibile.

Come specificato da Jim Webber, Chief Scientist della società Neo4j, grazie ai graph database “è possibile estrarre più informazioni dai dati e costruire dei sistemi che sembrano intelligenti, senza attivare pipeline di ML”. I graph database, infatti, possono essere utilizzati per creare sistemi intelligenti anche grazie solo all’esecuzione di algoritmi su grafi.

Gli algoritmi su grafi [4] possono essere utilizzati per effettuare analisi di centralità, identificare comunità di entità, individuare pattern di comportamento e molto altro ancora. Ad esempio, un’azienda che utilizza un graph database per rappresentare i propri clienti e le loro interazioni può utilizzare le analisi di centralità per individuare i clienti più influenti, le comunità di clienti con interessi simili o i clienti con un alto grado di fedeltà, il tutto utilizzando degli algoritmi che implementano delle regole chiare, producendo dei risultati altrettanto chiari e spiegabili. Un algoritmo di graph analytics produce infatti risultati sempre spiegabili perché si basa sull’analisi delle relazioni tra le entità, che sono rappresentate in modo esplicito nel grafo. Ciò significa che ogni output dell’algoritmo può essere facilmente tracciato e compreso, poiché è basato sulle proprietà e le connessioni delle entità presenti nel grafo.

Un esempio pratico è rappresentato da Google Maps, quando chiediamo a questa applicazione quanto tempo impiegheremo per tornare a casa dal nostro ufficio, valutando anche il traffico in tempo reale. Google Maps esegue un classico algoritmo su grafi, l’algoritmo denominato A* (pronunciato A Star), che fornisce il percorso di costo minimo tra due località, dove il costo può essere riferito alla distanza da percorrere o al tempo necessario, ad esempio considerando il traffico in tempo reale. Google Maps ci fornisce un tempo di percorrenza e ci fornisce un percorso che spiega perché il tempo di percorrenza sarà esattamente quello indicato (oltre a darci delle indicazioni durante la guida). Quando vediamo il risultato fornito da Google Maps, comprendiamo subito le scelte operate dall’algoritmo A* e comprendiamo il perché della scelta di farci passare per strade secondarie, sicuramente per evitare una particolare area congestionata dal traffico. I risultati dell’algoritmo A* sono sempre spiegabili. Questo perché l’algoritmo A* utilizza una funzione di valutazione che tiene conto di diverse variabili, come la distanza euclidea tra la posizione corrente e la destinazione finale, il costo del percorso finora valutato e altre stime dei costi rimanenti. In questo modo, l’algoritmo A* seleziona il percorso più efficiente, fornendo una spiegazione chiara e razionale del percorso selezionato.

Inoltre, l’algoritmo A* presenta un ulteriore vantaggio rispetto ad altri algoritmi di ricerca, come ad esempio gli algoritmi di ricerca basati su reti neurali. Infatti, l’algoritmo A* utilizza una struttura di grafo e quindi, ogni decisione presa durante l’esecuzione dell’algoritmo viene rappresentata in modo esplicito e comprensibile all’interno del grafo stesso. Ciò consente agli utenti di comprendere facilmente il processo di decision-making dell’algoritmo e di spiegare il percorso selezionato ad altre persone. L’output dell’algoritmo A* è spiegabile e comprensibile, grazie alla sua struttura basata su grafi e alla funzione di valutazione che tiene conto di variabili specifiche.

Google Maps fornisce un servizio assimilabile ad un sistema intelligente che è implementato senza andare a “disturbare” più complesse soluzioni basate su IA. In aggiunta, come visto, Maps fornisce un output sempre spiegabile.

Allo stesso modo le aziende possono utilizzare un algoritmo di analisi delle comunità per identificare i gruppi di clienti con interessi simili e il risultato prodotto dall’algoritmo sarà sempre spiegabile poiché si basa sulle relazioni tra i clienti e sulle loro connessioni all’interno del grafo. In altre parole, l’algoritmo non “inventa” nulla, ma si limita ad analizzare le informazioni presenti nel grafo e a fornire un output basato su di esse.

Conclusioni

In conclusione, i graph database rappresentano una tecnologia estremamente importante e promettente per le medie e grandi aziende che desiderano gestire e analizzare grandi quantità di dati complessi e interconnessi. Grazie alla loro capacità di rappresentare i dati in modo visuale e di esplorare le relazioni tra essi, i graph database offrono una panoramica completa del sistema informativo aziendale, che può risultare fondamentale per prendere decisioni aziendali consapevoli e informate. L’adozione dei graph database da parte delle aziende non è una questione di se, ma di quando. Per questo motivo, i CIO dovrebbero iniziare a considerare concretamente l’utilizzo di questa tecnologia, sviluppando una strategia di implementazione mirata e valutando attentamente i vantaggi e gli svantaggi della scelta. In un’epoca in cui i dati rappresentano uno dei beni più preziosi per le aziende, i graph database possono diventare uno strumento fondamentale per migliorare l’efficienza, l’agilità e l’innovazione dell’azienda stessa.

Note

  1. Market Guide for Graph Database Management Systems, 30 agosto 2022, https://www.gartner.com/en/documents/4018220
  2. Gartner Top 10 Data and Analytics Trends for 2021, 15 marzo 2021, Kasey Panetta, https://www.gartner.com/smarterwithgartner/gartner-top-10-data-and-analytics-trends-for-2021
  3. Polyglot Persistence, 16 novembre 2011, Martin Fowler, https://www.martinfowler.com/bliki/PolyglotPersistence.html
  4. Lista dei principali algoritmi su grafi, Wikipedia, versione inglese, https://en.wikipedia.org/wiki/Category:Graph_algorithms

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

EU Stories - La coesione innova l'Italia

Tutti
Social
Iniziative
Video
Analisi
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati

Articolo 1 di 2