Database e data warehouse sono indubbiamente tra i sistemi di gestione dei dati più popolari e diffusi in ambito aziendale. Ma quali sono realmente le differenze più significative? Come vengono utilizzati e perché sono, oggi più che mai, fondamentali in un contesto IT sempre più chiamato a valorizzare i dati che le organizzazioni acquisiscono in tempo reale?
Nel corso di questo articolo cercheremo di dare una risposta ai principali interrogativi che ci si pone in merito ai database e ai data warehouse, soprattutto per comprendere il loro fondamentale ruolo all’interno delle aziende, soprattutto quando si tratta di implementare un percorso di trasformazione digitale.
Cos’è un database
Un database è una collezione di dati tra loro correlati che descrive determinati aspetti del mondo reale. Al tal proposito, vengono progettati ed implementati per raccogliere e strutturare dati relativi ad un’attività specifica. In altri termini, un database corrisponde pertanto ad raccolta di dati organizzati per l’archiviazione, l’accessibilità e il recupero dei dati stessi, da parte degli utenti e delle applicazioni da loro utilizzate.
Tra le principali caratteristiche di un database ritroviamo:
- – Pulizia dei dati, attraverso l’eliminazione dei duplicati e degli elementi ridondanti
- – Sicurezza e protezione dei dati
- – Possibilità di accedere simultaneamente ai dati da più posizioni
- – Struttura secondo la compliance ACID (Atomicity, Consistency, Isolation, Durability)
- – Isolamento tra dati e applicazioni, che rimangono due entità ben distinte tra loro
- – Database relazionale predisposto per l’utilizzo in ambienti multi-user
L’elenco, pur sommario, delle principali caratteristiche che contraddistinguono un database, lasciano facilmente intuire come si tratti di un sistema di gestione dei dati ormai indispensabile in qualsiasi contesto organizzato, per soddisfare almeno due requisiti fondamentali: l’organizzazione dei dati e il loro accesso da parte degli utenti e delle applicazioni impiegati nelle linee di business aziendali.
Vantaggi e svantaggi
Alla luce della sua definizione generica, è possibile innanzitutto sottolineare come un database consenta di accedere in maniera semplice ed efficiente ad una base di dati, soprattutto grazie al fatto di assicurare consistenza, privacy e affidabilità. Sulla base di questi presupposti, è possibile sottolineare una serie di evidenti vantaggi, che derivano dalla corretta e consapevole implementazione dei database dei sistemi IT delle organizzazioni.
Linguaggio universale
Un database rende possibile l’organizzazione e l’accesso ai dati mediante l’impiego di un linguaggio universale come SQL, che consente di creare strutture contenenti informazioni come la creazione, l’aggiornamento, la cancellazione e il recupero dei dati stessi. Un linguaggio come SQL consente di interrogare la base di dati secondo procedure standardizzate.
Indipendenza dei dati
Un database è progettato nello specifico per mantenere vari livelli di astrazione dei dati. Il livello più basso (fisico) descrive come il dato è fisicamente archiviato all’interno del sistema. Esiste inoltre un livello più alto (logico) che descrive quali dati sono archiviati e soprattutto quali sono i vincoli di integrità che devono soddisfare.
Grazie a questa struttura, un database è in grado di consentire l’accesso ai dati logici a prescindere dalla loro rappresentazione fisica, che può variare senza condizionare in alcuni modo l’accesso da parte di utenti ed applicazioni. In questo contesto di parla nello specifico di indipendenza dei dati, un concetto che si estende ad esempio alla possibilità di rendere soltanto parziale la visibilità dei dati presenti in un database, agendo nello specifico soltanto sul loro livello logico.
Accesso ai dati
I database sono sistemi di gestione progettati nello specifico per garantire un accesso ottimizzato ai dati, grazie ai sistemi di indicizzazione, sotto forma di file ausiliari che permettono di velocizzare l’accesso ai file conservati nelle unità di storage. Vengono inoltre utilizzate varie tecniche di caching, che mantengono ad esempio i dati a cui si accede più di frequente in una porzione di memoria ad accesso veloce, ai fini di non doverli ricaricare più volte dalla memoria secondaria.
Un database consente inoltre quello che in gergo viene definito l’accesso concorrente, per consentire a più utenti di accedere contemporaneamente alla medesima base di dati, sia dal punto di vista puramente tecnologico, sia affinché non si generino situazioni di incoerenza a seguito del loro utilizzo. Grazie all’accesso concorrente, più utenti possono infatti effettuare operazioni sui dati in maniera simultanea, senza che si generino situazioni anomale o malfunzionamenti derivanti, ad esempio, da una mancata sincronia tra le informazioni presenti nel database.
Ridondanza dei dati
I database consentono di controllare la ridondanza delle informazioni applicando un concetto semplice quanto efficace. Ogni dato logico dovrebbe essere memorizzato una sola volta, ai fini di eliminare una serie di copie che corrispondono ad una maggior dispendio di risorse e soprattutto alla difficoltà di gestire le modifiche che intervengono sulla medesima informazione, con il rischio di generare situazioni di incoerenza ed un generale scadimento della data quality.
Integrità dei dati
Un database consente nativamente di determinare e gestire una serie di vincoli, ai fini di mantenere l’integrità dei dati a fronte di qualsiasi processo di modifica. Ciò appare fondamentale ad esempio quando si tratta di assicurare la coerenza tra i dati strutturati, come l’associazione di un codice fiscale ad una serie di campi dati che corrispondono alla possibile descrizione di un utente in uno specifico contesto.
Privacy
Uno degli aspetti fondamentali che caratterizza la conservazione e il trattamento dei dati è costituito dalla loro riservatezza. In altri termini, i database consentono di accedere ai dati con vari sistemi di protezione, ai fini di garantirne la privacy. Questo avviene, ad esempio, grazie alla possibilità di consentire l’accesso ad una determinata tipologia di dati soltanto ad alcune categorie di utenti, definendo in maniera puntuale il loro livello di autorizzazioni.
Secondo tale logica, un dato particolarmente critico potrà essere consultato e modificato soltanto da determinati utenti e rimanere del tutto nascosto agli utenti generici. Allo stesso modo, tutti potrebbero avere un accesso in sola lettura, mentre le possibilità di modifica dei dati potrebbero rimanere riservate soltanto ad alcuni utenti.
Svantaggi e criticità dei database
Una corretta e consapevole implementazione di un database nei sistemi aziendali comporta naturalmente soprattutto una situazione di generale efficienza. Esistono tuttavia alcune criticità, che vanno necessariamente considerate.
Un database è innanzitutto un sistema che comporta costi in termini di hardware e software, che vanno valutati con estrema attenzione, in primis per accertarsi che siano in linea con i budget allocabili dall’organizzazione.
I database sono inoltre sistemi naturalmente complessi, che richiedono specifiche competenze ai fini di essere utilizzati in maniera propria ed efficace. Occorre pertanto verificare di disporre di tali competenze e formare di conseguenza il personale addetto.
I database non sono nativamente progettati per consentire l’analisi diretta dei dati, per cui non supportano elaborazioni particolarmente complesse. Ciò potrebbe causare, oltre ad evidenti problemi di performance, una serie di incompatibilità per quanto riguarda i formati richiesti da particolari applicazioni.
Per ovviare a questi problemi, è necessario avvalersi della consulenza di specialisti dei dati dotati di una comprovata esperienza negli ambienti aziendali.
Cos’è un data warehouse
Il data warehouse è un sistema di gestione che contiene dati provenienti da una o più fonti. È progettato per integrare i dati transazionali provenienti da fonti eterogenee, analizzarli e creare report / insight utili a supportare le attività di business. In altri termini, rispetto al semplice database, il data warehouse nasce per facilitare l’analisi dei dati all’interno di un contesto aziendale, ai fini di supportare i processi decisionali.
Un data warehouse è generalmente contraddistinto dalle seguenti caratteristiche:
- – Subject oriented, con dati organizzati secondo un tema specifico, ai fini di facilitarne la contestualizzazione nei vari ambiti applicativi.
- – Non volatile, i dati esistenti non vengono cancellati quando vengono inseriti nuovi dati all’interno del sistema di gestione.
- – A lungo termine, i dati sono organizzati secondo una prospettiva di utilizzo anche molto dilatata nel tempo, a differenza di quanto avviene in altri ambiti operativi, che mirano soprattutto ad ottenere il maggior livello di efficienza nel breve periodo.
- – Predisposto all’analisi, grazie a processi come ETL (extract, transform and load) che consentono di acquisire e preparare il dato ai fini di garantirne la maggior qualità possibile.
Vantaggi e svantaggi
Quando si intende implementare un data warehouse nei sistemi informativi di un’azienda, generalmente il primo obiettivo che si intende soddisfare coincide nel fare ordine, consolidando i dati provenienti da molteplici fonti, ai fini di ottenere vantaggi sia dal punto di vista strategico che dal punto di vista operativo.
Ciò vale praticamente in tutti i contesti in cui si prevede l’analisi dei dati, nell’ambito delle organizzazioni dotate di una cultura data-driven. Il data warehouse consente inoltre di ottenere una serie di specifici vantaggi.
Analisi dei dati storici e dei dati correnti
Il data warehouse è nativamente progettato per archiviare ed organizzare i dati provenienti da varie fonti per renderli disponibili alle applicazioni analitiche. In altri termini, un consapevole impiego di un data warehouse consente una visibilità sul dato storico e sul dato corrente per effettuare analisi descrittive e predittive anche molto dettagliate.
Tale aspetto, combinato con le potenzialità delle applicazioni del machine learning utilizzate nell’ambito della business intelligence e della business analytics, consente alle aziende di estrarre un importante valore informativo dai dati di cui dispone.
Cloud, Big Data & Analytics
I data warehouse sono sistemi disponibili anche in cloud, con la possibilità di avvalersi di applicazioni analitiche basate sull’intelligenza artificiale e altre tecnologie in grado di correlare le variabili descritte dai dati, anche in presenza di grandi numeriche.
La scalabilità delle risorse tipica del cloud consente infatti di affrontare con successo anche carichi di lavoro molto importanti nell’analisi dei dati, superando i tradizionali limiti computazionali dei data center locali, senza doversi preoccupare dell’acquisto iniziale e del mantenimento dell’hardware e del software necessario per sostenere le operazioni previste.
Data quality
L’implementazione sulla base del processo ETL (extract, transform and load) consente ai data warehouse di disporre di un’elevato livello di data quality, quale naturale conseguenza di una preparazione accorta e mirata in funzione degli utilizzi previsti nelle attività di analisi dei dati.
Ottimizzazione delle query e supporto decisionale
L’obiettivo dei data warehouse risiede pertanto nel garantire una efficace analisi dei dati, per generare informazioni utili al supporto decisionale in tutte le attività implementate in azienda.
I data warehouse sono progettati nello specifico per mettere a disposizione una serie di dati strutturati ai fini di effettuare query veloci e precise anche in presenza di una grande quantità di dati.
Da questo approccio operativo deriva una elevata disponibilità di report e insight in tempo reale, supportati dalla facilità divulgativa che i moderni software di data visualization consentono di ottenere persino ai non addetti ai lavori, per via di interfacce unificate sempre più semplici da utilizzare
Svantaggi e criticità dei data warehouse
A fronte di evidenti vantaggi, è necessario considerare come l’implementazione di un data warehouse comporti alcune possibili criticità, che vanno esaminate ed affrontate con estrema attenzione.
In primo luogo, un punto di forza dei data warehouse è dato dalla capacità di acquisire dati provenienti da varie fonti, ma questo processo appare particolarmente dispendioso, sia in termini di tempi che di costi. La prima cosa da fare è pertanto quella di valutare se le operazioni di business comportino effettivamente l’adozione di basi di dati così eterogenee al punto da giustificare l’implementazione di un data warehouse, o se sia più conveniente gestire i dati con altre modalità.
La principale criticità in merito ai data warehouse è in ogni caso legata alla complessità della loro manutenzione. Anche se i moderni strumenti ETL godono di un elevato livello di automatizzazione, la preparazione dei dati e il loro caricamento sul sistema continua a costituire un aspetto particolarmente gravoso in termini di tempi e di costi, oltre che per quanto concerne le competenze necessarie per garantire un elevato livello di data quality, evitando bias ed incoerenze negli utilizzi analitici.
Un data warehouse costituisce uno strumento di formidabile efficacia nel contesto di una data governance in grado di generare un effettivo valore aggiunto nei processi di business. Tuttavia, richiede sforzi e competenze di un certo livello, che possono essere in parte agevolati dall’impiego di soluzioni in cloud come DWaaS (Data Warehouse as a Service), che pur agevolando lo sforzo dal punto di vista della manutenzione, costringono ad un’attenzione più elevata in termini di data governance, oltre ad essere potenziale causa di problemi di latenza.
Il DWaaS costituisce ad oggi un’alternativa molto interessante quando si tratta di voler spingere il più possibile sul fronte dell’innovazione e della disponibilità di tecnologie emergenti, come i tool basati sull’intelligenza artificiale per effettuare processi analitici che richiedono un notevole sforzo computazionale.
Come e quale scegliere
Database e data warehouse sono sistemi di gestione dei dati differenti, concepiti e progettati per rispondere ad esigenze ed applicazioni ben distinte. Vediamo in sintesi le principali differenze tra database e data warehouse, alla luce delle implicite considerazioni da fare quando si tratta di valutare l’implementazione in un contesto aziendale.
- – I database sono basati su OLTP (online transaction process), mentre i data warehouse sono basati su soluzioni OLAP (online analytical processing). Da ciò consegue che i database hanno una natura tecnologica che li porta a descrivere le transazioni dei dati, mentre i data warehouse sono orientati nello specifico a supportare i processi analitici.
- – I database possono facilmente gestire un elevato numero di accessi / utente in maniera simultanea, mentre i data warehouse offrono le migliori performance con un numero di accessi limitato, come nel caso di alcune applicazioni analitiche.
- – I database sono progettati nello specifico per rispondere a transazioni brevi ed atomizzate di dati, mentre i data warehouse sono concepiti per operazioni lunghe, come quelle richieste dalle elaborazioni analitiche a qualsiasi livello di complessità.
- – I database sono concepiti per una disponibilità di tipo 24/7 nell’ottica di garantire la più elevata continuità di business derivante all’accesso ai dati da parte di utenti ed applicazioni. I data warehouse prevedono una disponibilità on demand e sono molto meno influenzati dall’insorgere di possibili downtime e interruzioni di servizio.
- – I database sono per natura agili e ottimizzati nello specifico per rispondere alle operazioni CRUD (create, read, update e delete), mentre i data warehouse sono ottimizzati per query più complesse, anche se meno frequenti, che richiedono archivi di dati di grandi dimensioni e tempi di elaborazione lunghi.
- – I database sono ottimizzati per eliminare la ridondanza tra i dati, mentre i data warehouse vantano di sistemi di controllo più complessi sul versionamento dei file, che prevedono flussi di lavoro con una netta prevalenza di attività in sola lettura rispetto ai processi di modifica.
- – I database si interfacciano soprattutto per rendere disponibili le informazioni più recenti ed aggiornate, mentre i data warehouse godono di uno storico dei dati più approfondito, ai fini di supportare i processi analitici.
Alla luce di queste considerazioni, database e data warehouse si presentano come sistemi di gestione dei dati assolutamente complementari nel risolvere un parco di esigenze applicativo molto ampio, in svariati ambiti di business, a patto di avvalersi delle competenze necessarie per analizzare i requisiti e rispondere con soluzioni adeguate sia per quanto riguarda i metodi che le tecnologie da implementare nei processi aziendali.
È evidente come l’adozione di database e data warehouse sia giustificato soltanto oltre un certo livello di complessità, anche per quanto comportano in termini da data governance. Quando ci si ritrova in un contesto applicativo semplice e stabile nel tempo, in cui non è previsto l’accesso simultaneo ai dati da parte di più utenti, è altrimenti possibile implementare una pipeline di lavoro basata sui file ordinari, automatizzando ad esempio le sole procedure di accesso ai dati.
Per quanto riguarda gli ambienti di lavoro, appare oggi opportuno valutare anche le alternative garantite dall’offerta in cloud, in conformità con tutti gli aspetti relativi al trattamento e alla conservazione dei dati, sia dal punto di vista contrattuale, sia per quanto concerne le normative vigenti (GDPR).
Categoria: ANALYTICS

Big Data Analytics: cos’è e perché è importante
Quando si parla di big data analytics ci si riferisce, solitamente, all’analisi avanzata di grandi volumi di dati. Prendere decisioni… Leggi tutto

Data Management: cos’è e perché è necessario in azienda
Oggi più che mai i dati digitali rappresentano un vero e proprio asset, un capitale, un importante fattore economico per… Leggi tutto

Data lake vs data warehouse: le differenze e quale scegliere
Nell’era del digitale le organizzazioni collezionano dati provenienti da varie sorgenti, con una quantità ed una varietà che vanno ben… Leggi tutto