Data di aggiornamento: 11 ottobre 2024
Collaboratori: Jim Holdsworth, Matthew Kosinski
Un data warehouse è un sistema che aggrega i dati da più fonti in uno storage dei dati unico, centrale e coerente. I data warehouse aiutano a preparare i dati per iniziative di analytics dei dati, business intelligence (BI), data mining, apprendimento automatico (ML) e intelligenza artificiale (AI).
Un sistema di data warehouse di livello aziendale consente a un'organizzazione di eseguire analytics potenti su grandi quantità di dati (nell'ordine di petabyte e oltre) in modi che un database standard non è in grado di eguagliare. I dati possono essere strutturati, semi-strutturati o non strutturati. I dati possono essere inseriti in un warehouse da più database, tra cui la gestione della relazione con il cliente (CRM), l'inventario, i punti di vendita (POS) e i sistemi di gestione delle supply chain.
I sistemi di data warehousing, a volte chiamati sistemi Enterprise Data Warehouse (EDW), supportano le attività di business intelligence da oltre tre decenni. Le loro funzioni si concentrano sull'estrazione di dati da altre fonti, sulla pulizia e preparazione dei dati e sul caricamento e la manutenzione dei dati, spesso in un database relazionale.
Tradizionalmente, un data warehouse era ospitato on-premise, spesso su un computer mainframe. Oggi, numerosi data warehouse sono ospitati nel cloud e forniti come cloud service.
I data warehouse sono nati negli anni '80 per ottimizzare l'analytics dei dati rendendo disponibili i dati transazionali in un formato coerente. Con la crescita della potenza delle applicazioni aziendali e l'esplosione di nuove fonti di dati, tra cui il World Wide Web, i social e l'Internet of Things (IoT), è cresciuta la necessità di uno storage più ampio e di un'analisi più rapida.
Con l'evoluzione dei data warehouse a supporto di volumi maggiori e dati più granulari, sempre più team all'interno delle organizzazioni hanno richiesto l'accesso diretto ai dati per le funzioni di analytics self-service.
Numerose organizzazioni si sono rese conto che i propri data warehouse legacy non erano in grado di gestire questi nuovi enormi workload. E dal momento che numerosi data warehouse memorizzavano solo dati strutturati, la ricchezza dell'analisi poteva essere limitata. In risposta, si sono evolute alternative più flessibili, tra cui data warehouse e data lakehouse cloud-native. (Per maggiori informazioni, vedi "Data lakehouse e data warehouse a confronto").
Per elaborare i dati in modo rapido ed efficiente, i data warehouse utilizzano spesso un'architettura a tre livelli.
Questo livello è il luogo in cui i dati fluiscono da fonti di dati eterogenee in un server di data warehouse, in cui vengono memorizzati. I dati vengono spostati attraverso un processo noto come estrazione, trasformazione, caricamento (ETL) o talvolta un processo noto come estrazione, caricamento, trasformazione (ELT). Questi processi vengono eseguiti in modi diversi, ma entrambi utilizzano l'automazione per spostare i dati in un warehouse e prepararli per l'uso nell'analytics.
Questo livello è tradizionalmente costruito attorno a un motore di analytics, il più delle volte un sistema di elaborazione analitica online (OLAP), progettato per fornire analytics rapide e velocità di query. In questo livello è possibile utilizzare tre tipi di modelli OLAP:
Il tipo di modello OLAP utilizzato dipende dal tipo di sistema di database in uso.
Questo livello include un'interfaccia utente front-end o uno strumento di reporting, che consente agli utenti di condurre analisi dei dati ad hoc sui propri dati aziendali. La business intelligence self-service presenta molteplici usi, come la generazione di report basati su dati storici, l'individuazione di nuove opportunità o dei colli di bottiglia nei processi.
La maggior parte dei data warehouse utilizza sistemi OLAP per supportare l'analytics. Il software OLAP esegue analisi multidimensionali ad alta velocità su grandi volumi di dati provenienti da uno storage dei dati unificato e centralizzato, come un data warehouse.
Un dato aziendale spesso ha più dimensioni. Ad esempio, le cifre delle vendite potrebbero includere diverse dimensioni relative alla sede (regione, paese e negozio), al tempo (anno, mese, settimana e giorno) o al prodotto (marchio, tipo).
In un database relazionale tradizionale, i dati sono organizzati in tabelle a righe e colonne che possono rappresentare solo due di queste dimensioni alla volta: una dimensione nella riga e una dimensione nella colonna. Questo può rendere complessa l'analisi.
Tuttavia, i sistemi OLAP consentono agli utenti di analizzare i dati lungo più dimensioni contemporaneamente, consentendo un'elaborazione più rapida e un'analisi più approfondita. Gli impieghi più comuni di OLAP includono app di business intelligence e data mining, calcoli analitici complessi, scenari predittivi, budgeting e forecasting.
L'OLAP è distinto dall'elaborazione transazionale online oppure OLTP. I sistemi OLTP tengono traccia di un gran numero di transazioni, da parte di un gran numero di utenti, in tempo reale. La differenza fondamentale tra OLTP e OLAP è che i sistemi OLTP sono progettati principalmente per acquisire dati, mentre i sistemi OLAP analizzano i dati che sono già stati acquisiti.
I sistemi OLTP utilizzano spesso database relazionali per registrare transazioni quali:
Sebbene i data warehouse in genere non coinvolgano sistemi OLTP, i dati registrati nei database dai sistemi OLTP in genere vengono inviati al warehouse, dove un sistema OLAP consente l'analisi.
Gli schemi di database definiscono il modo in cui i dati sono organizzati all'interno di un database o di un data warehouse. Esistono due tipi principali di strutture di schemi utilizzate nei data warehouse: lo schema a stella e lo schema a fiocco di neve.
Gli schemi a stella o a fiocco di neve sono entrambi modelli di dati dimensionali progettati per ottimizzare la velocità di recupero dei dati. I modelli dimensionali aumentano la ridondanza per facilitare l'individuazione delle informazioni per la segnalazione e il recupero. Questa modellazione viene in genere utilizzata nei sistemi OLAP.
Questo schema è costituito da una tabella dei fatti (che contiene elementi misurabili come i prodotti venduti e gli importi delle vendite monetarie) unita a tabelle delle dimensioni (ovvero informazioni di riferimento che mostrano come i fatti possono essere raggruppati e organizzati, come le date di vendita e il settore di vendita).
In un diagramma, la tabella dei fatti può sembrare al centro di un modello a stella. Lo schema a stella è considerato il tipo di schema più semplice e comune e i suoi utenti beneficiano della sua maggiore velocità durante l'esecuzione delle query.
Lo schema a fiocco di neve non è così diffuso, ma è un'altra struttura organizzativa utilizzata nei data warehouse. In questo caso, la tabella dei fatti è connessa a diverse tabelle di dimensioni normalizzate che contengono dati descrittivi sui fatti presenti nella tabella dei fatti centrale. Queste tabelle delle dimensioni hanno anche tabelle per bambini.
Questo modello più complesso e ramificato può assomigliare a un fiocco di neve. Gli utenti di uno schema a fiocco di neve traggono vantaggio dai bassi livelli di ridondanza dei dati, ma questo si traduce in un rallentamento delle prestazioni delle query.
La maggior parte dei data warehouse sono costruiti attorno a un sistema di database relazionale, on-premise o nel cloud, dove i dati vengono memorizzati ed elaborati. Un data warehouse tipico ha componenti come:
Il livello dati o database centrale è il cuore del data warehouse ed è supportato da tutti gli altri componenti. I dati possono essere input provenienti da applicazioni aziendali, elenchi di e-mail, siti Web o qualsiasi altro database relazionale. I dati sono fisicamente memorizzati su un server o su un insieme di server.
Il livello dati può partizionare segmenti di dati in modo che gli utenti possano accedere solo ai dati di cui hanno bisogno. Ad esempio, il team di vendita normalmente non avrebbe accesso ai dati del team HR e viceversa.
Di solito, i data warehouse hanno capacità integrate di sicurezza dei dati e governance dei dati, pertanto le organizzazioni non devono eseguire molte personalizzazioni di data engineering per includere queste funzioni. Le organizzazioni potrebbero dover aggiornare i principi di governance dei dati e le misure di sicurezza nel tempo man mano che nuovi dati provenienti da diverse fonti vengono aggiunti al magazzino.
Gli strumenti di accesso si connettono a un data warehouse per fornire un front end intuitivo per l'utente business. Questo può includere dashboard, strumenti di visualizzazione dei dati e reporting che consentono agli analisti di dati e agli utenti business di interagire con i dati ed estrarre insight. Esempi di questi strumenti includono Tableau, Looker e Qlik.
Gli strumenti ETL aiutano a spostare i dati da una sorgente dati al data warehouse. I dati vengono prima "estratti" dalla propria fonte, quindi spostati in un'area di sosta dove vengono puliti e preparati (o "trasformati"), e poi "caricati" in un magazzino.
Gli strumenti ETL convertono i dati in un formato coerente in modo che possano essere analizzati e interrogati in modo efficiente quando si trovano all'interno del warehouse. Ad esempio, i dati potrebbero essere estratti da più database di clienti e poi trasformati in un formato comune, in modo che tutti i record dei clienti abbiano gli stessi campi.
Uno strumento di framework per il trattamento dei dati, come Apache Spark, può aiutare a gestire la trattamento dei dati.
Dal momento che un data warehouse memorizza principalmente dati strutturati, i dati in genere vengono trasformati prima di essere memorizzati nel warehouse. Sebbene alcuni warehouse possano invece utilizzare un processo di estrazione, caricamento, trasformazione (ELT), che carica i dati nel warehouse prima di trasformarli, questo processo viene utilizzato più comunemente per i data lake, che non richiedono formati di dati standardizzati. (Per maggiori informazioni, vedi "Data lake e data warehouse a confronto".)
I metadati sono dati sui dati. Fondamentalmente, descrivono i dati memorizzati in un sistema per renderli ricercabili. I metadati includono caratteristiche come autori, date o posizioni degli articoli, date di creazione e dimensioni dei file. I metadati e il relativo sistema di gestione aiutano a organizzare i dati e a renderli utilizzabili per analytics.
Alcuni data warehouse forniscono una sandbox isolata dai dati in tempo reale. Può essere utilizzata come ambiente di test, che contiene una copia dei dati di produzione e gli strumenti di analisi e visualizzazione pertinenti. Gli analisti dei dati e i data scientist possono sperimentare nuove tecniche analitiche nella sandbox senza influire sulle operazioni del data warehouse per gli altri utenti.
Un livello di connettività per le application programming interfaces (API) può aiutare il warehouse a estrarre dati da fonti organizzative e fornire l'accesso a strumenti di visualizzazione e analytics.
I termini data warehouse, database, data lake, data mart e data lakehouse vengono talvolta utilizzati in modo intercambiabile. Sebbene questi sistemi siano simili, esistono differenze importanti.
Un database è come un archivio progettato principalmente per query rapide ed elaborazione delle transazioni, ma non per analytics. Un database solitamente ha funzione di storage dei dati mirato per un'applicazione specifica, mentre un data warehouse memorizza dati provenienti da un numero qualsiasi di applicazioni in un'organizzazione.
Un database si concentra sull'acquisizione di dati in tempo reale, mentre un data warehouse ha un ambito più ampio, che include la raccolta di dati correnti e talvolta attuali per l'analytics predittiva, l'apprendimento automatico e altre analisi avanzate.
Un data lake è una soluzione di storage per enormi quantità di dati non elaborati senza schemi predefiniti. I data lake contengono spesso dati non strutturati e dati semi-strutturati come documenti, video, log sull'Internet of Things (IoT) e post sui social. Sono generalmente costruiti su piattaforme di big data come Apache Hadoop.
I data lake sono progettati principalmente per offrire storage a basso costo per grandi quantità di dati. Per mantenere bassi i costi di storage, in genere non trasformano i dati oppure ottimizzano i dati per l'analytics, come nel caso di un warehouse.
Un data mart è un tipo di data warehouse che contiene dati specifici per una particolare linea di business o reparto aziendale, piuttosto che per l'intera impresa.
Dal momento che i data mart contengono un sottoinsieme più ridotto di dati, consentono a un reparto o a un'unità di business di scoprire insight più mirati in minor tempo rispetto a quando si utilizza l'insieme più ampio di dati del data warehouse.
Ad esempio, un team di marketing potrebbe utilizzare un data mart per definire i dati demografici target ideali, mentre un team di prodotto potrebbe utilizzarne uno per analizzare i modelli di inventario.
Un data lakehouse è una piattaforma dati che unisce aspetti dei data warehouse e dei data lake, ovvero la flessibilità di un lake e le alte prestazioni di un warehouse, in un'unica soluzione di gestione dei dati. I data lakehouse potrebbero anche aggiungere funzionalità quali metadati condivisi, motori SQL (Structured Query Language) distribuiti e controlli di sicurezza e governance integrati.
L'avvento delle tecnologie open source e il desiderio di ridurre la duplicazione dei dati e le complesse pipeline ETL hanno portato allo sviluppo del data lakehouse. Combinando le funzioni principali di lake e warehouse in un'unica soluzione dati, i lakehouse possono contribuire ad accelerare il trattamento dei dati e supportare workload di apprendimento automatico, data science e AI.
Un data warehouse basato su cloud è progettato per funzionare nel cloud. Viene spesso offerto alle organizzazioni come servizio di data storage gestito in cui l'infrastruttura del data warehouse è gestita dall'azienda del cloud. L'organizzazione non ha bisogno di fare un investimento iniziale in hardware o software, né ha bisogno di gestire il proprio sistema. I servizi cloud spesso offrono anche prezzi flessibili.
I data warehouse basati su cloud sono diventati più popolari man mano che un maggior numero di organizzazioni utilizza i servizi di cloud computing e cerca di ridurre la propria impronta di data center on-premise.
Un'azienda può acquistare una licenza di data warehouse e quindi implementare il warehouse come propria infrastruttura on-premise. Sebbene sia una soluzione generalmente più costosa di un servizio di data warehouse su cloud, potrebbe essere una buona scelta per enti governativi, istituti finanziari o altre organizzazioni che desiderano un maggiore controllo sui propri dati o devono rispettare rigorosi standard di privacy dei dati.
Un'appliance di data warehouse è un bundle preintegrato di hardware e software, che di solito include unità di elaborazione centrali (CPU), storage, sistema operativo e software di data warehouse, che un'azienda può collegare alla propria rete e iniziare a utilizzare immediatamente.
In termini di costi iniziali, velocità di implementazione, facilità di scalabilità e controllo della gestione dei dati, un'appliance per data warehouse si colloca in genere tra le implementazioni on-premise e cloud.
Un data warehouse può rendere disponibili insight e informazioni ai team di un'organizzazione con un self-service rapido, consentendo molteplici casi d'uso.
I data warehouse possono supportare diverse applicazioni di AI e di apprendimento automatico. I data scientist possono analizzare i dati storici per sviluppare algoritmi predittivi. Possono insegnare alle applicazioni di apprendimento automatico a individuare i modelli, come ad esempio le attività sospette del conto che potrebbero indicare una frode. Possono utilizzare i dati warehouse puliti e convalidati per costruire modelli AI proprietari o mettere a punto i modelli esistenti per soddisfare meglio le loro esigenze aziendali specifiche.
Un data warehouse di livello aziendale può consentire a migliaia di utenti di accedere ed eseguire simultaneamente strumenti di analytics. Dal momento che i dati vengono memorizzati separatamente dai database operativi e in un formato più efficiente, gli utenti possono eseguire le proprie query di business intelligence self-service senza rallentare altri sistemi chiave.
I data warehouse possono aiutare a consolidare i dati in silo attraverso pipeline ETL che automatizzano la pulizia e l'integrazione. Questo consente di velocizzare le query e l'elaborazione e consente a un maggior numero di utenti di accedere ai dati.
Un data warehouse di livello aziendale potrebbe includere anche il supporto per formati open source, come Apache Iceberg, Parquet e CSV, che consentono un'ulteriore condivisione dei dati in tutta l'azienda.
I data warehouse possono anche servire usi specifici del settore, come ad esempio:
Un data warehouse combina flussi di dati provenienti da storage dei dati eterogenei, il che rende più facile per le organizzazioni analizzare questi dati. Di conseguenza, le organizzazioni possono scoprire informazioni preziose, aumentare le prestazioni, migliorare le operazioni e, in ultima analisi, ottenere un vantaggio competitivo.
Più specificamente, i benefici di un data warehouse possono includere:
Un data warehouse può centralizzare i dati provenienti da varie fonti dati, come i sistemi transazionali, i database operativi e i flat file. Quindi pulisce questi dati operativi, elimina i duplicati e li standardizza per creare una singola fonte affidabile che offre all'organizzazione una visione completa e affidabile dei dati aziendali.
Se i dati sono bloccati in fonti eterogenee, potrebbero limitare la capacità dei responsabili delle decisioni di trarre insight e definire strategie aziendali con sicurezza. Un data warehouse con un repository centrale consente agli utenti business di attingere a tutti i dati pertinenti di un'organizzazione per prendere decisioni aziendali.
Eseguendo report sui dati storici, un data warehouse può aiutare a stabilire quali sistemi e processi funzionano e quali devono essere migliorati.
I data warehouse consentono di scoprire e creare report su temi, tendenze e aggregazioni. I professionisti dei dati e i dirigenti aziendali possono utilizzare questi insight per prendere decisioni più informate basate su prove concrete praticamente in ogni area dell'organizzazione, dai processi aziendali alla gestione finanziaria e alla gestione dell'inventario.
Durante l'implementazione di soluzioni di data warehouse, le organizzazioni potrebbero dover affrontare determinate sfide per ottenere prestazioni elevate. Queste possono includere:
Con data warehouse di terabyte e petabyte ormai all'ordine del giorno, le operazioni ad alte prestazioni richiedono un caricamento eccellente, uno storage efficiente e potenti motori di database che soddisfino le richieste di iperefficienza.
A un data warehouse potrebbe essere richiesto di gestire enormi volumi di dati strutturati e non strutturati provenienti da numerose fonti. Tutti questi dati devono essere puliti e convalidati prima di poter essere utilizzati. Solide politiche e pratiche di governance dei dati possono aiutare a garantire una singola fonte affidabile per tutti gli utenti.
Con i dati aziendali memorizzati in ambienti eterogenei, sia per regolamentazione sia per esigenze aziendali, i data warehouse oggi richiedono spesso storage ibrido e multicloud, con flusso, acquisizione e analisi dei dati che si spostano su sistemi diversi. Le organizzazioni potrebbero aver bisogno di membri del team IT di grande esperienza per aiutare a implementare e mantenere questi sistemi complessi.
Dal momento che l'AI e l'apprendimento automatico diventano componenti sempre più critici della strategia aziendale, le organizzazioni hanno bisogno di data warehouse in grado di supportare questi workload.
Idealmente, un data warehouse dovrebbe essere in grado di raccogliere, pulire, organizzare e analizzare i dati in modo che siano pronti per l'AI, oltre a facilitare il flusso di dati verso le applicazioni di AI e apprendimento automatico. Tuttavia, non tutti i data warehouse sono costruiti per l'AI, il che può rendere difficile l'utilizzo dei dati organizzativi per i workload dell'AI.
I data warehouse sono configurati e ottimizzati per analytics dei dati, il che significa che in genere non sono ideali per memorizzare elevate quantità di dati. Con l'aumento della quantità di dati in un warehouse, aumentano anche il costo e la complessità dello storage. Possono sorgere anche problemi di latenza.
Un data lakehouse può essere un'opzione per alcune organizzazioni, a seconda delle loro architetture di dati uniche, in quanto può fornire funzionalità di storage e analytics più economiche e flessibili.
Le soluzioni di data warehouse IBM offrono prestazioni e flessibilità per supportare dati strutturati e non strutturati per workload di analytics, tra cui il machine learning.
Cloud data warehousing progettato per alimentare l'analytics operativa, la BI e gli insight basati sull'AI.
Fai lavorare i tuoi dati , ovunque si trovino, con il data lakehouse aperto e ibrido per l'AI e l'analytics.
Scopri i criteri che le organizzazioni dovrebbero considerare quando scelgono un data warehouse aziendale.
I data lakehouse puntano a risolvere le principali sfide sia nei data warehouse che nei data lake per fornire alle organizzazioni una soluzione di gestione dei dati più efficace.
Una guida per i leader dei dati mirata a creare un'organizzazione basata sui dati per ottenere vantaggi a livello aziendale.