Concetti di data warehouse
Cos'è un data warehouse?
Un data warehouse è un repository centralizzato di informazioni che possono essere analizzate per prendere decisioni più informate. I dati affluiscono nel data warehouse da sistemi transazionali, database relazionali e altre fonti, normalmente a cadenza regolare. Analisti aziendali, ingegneri di dati, data scientist e responsabili decisionali accedono ai dati tramite strumenti di business intelligence (BI), client SQL e altre applicazioni di analisi.
I dati e la relativa analisi sono diventati fattori critici per garantire la competitività delle aziende. Report, pannelli di controllo e strumenti di analisi sono indispensabili per estrarre informazioni approfondite dai dati, monitorare le prestazioni aziendali e supportare il decision making. I data warehouse alimentano questi report, pannelli di controllo e strumenti di analisi archiviando i dati in modo efficiente per ridurre al minimo l'input e l'output (I/O) dei dati e fornire rapidamente risultati di query a centinaia e migliaia di utenti contemporaneamente.
In che modo è strutturato un data warehouse?
L’architettura di un data warehouse si basa sui livelli. Il livello superiore è il client di front-end che presenta i risultati tramite strumenti di reporting, analisi e data mining. Il livello centrale consiste nel motore di analisi utilizzato per accedere e analizzare i dati. Il livello inferiore dell'architettura è il server del database, dove vengono caricati e archiviati i dati. I dati vengono archiviati in due diversi modi: 1) i dati a cui si accede frequentemente vengono archiviati in una memoria molto veloce (come le unità SSD) e 2) i dati a cui si accede raramente vengono archiviati in un archivio di oggetti economico, come Amazon S3. Il data warehouse si assicurerà automaticamente che i dati a cui si accede frequentemente vengano spostati nella memoria "veloce" in modo da ottimizzare la velocità delle query.
Come funziona un data warehouse?
Un data warehouse può contenere più database. All’interno di ciascun database, i dati sono organizzati in tabelle e colonne. All’interno di ogni colonna è possibile inserire una descrizione dei dati, ad esempio integer, data field o string. Le tabelle possono essere invece organizzate in schemi, che possono essere concepiti come fossero cartelle. Quando i dati vengono acquisiti, vengono memorizzati in varie tabelle descritte dallo schema. Gli strumenti di query utilizzano lo schema per determinare a quali tabelle di dati accedere e analizzare.
Quali sono i vantaggi dell'uso di un data warehouse?
Tra i vantaggi di un data warehouse vi sono:
- Migliori processi decisionali
- Consolidamento di dati da più fonti
- Analisi storica dei dati
- Qualità, coerenza e precisione dei dati
- Separazione dell'elaborazione analitica dai database transazionali, migliorando le prestazioni di entrambi i sistemi
In che modo i data warehouse, i database e i data lake funzionano insieme?
In genere, le aziende per archiviare e analizzare i dati utilizzano una combinazione di database, data lake e data warehouse. L’architettura lake house di Amazon Redshift facilita una tale integrazione.
Con l'aumentare del volume e della varietà di dati, risulta molto utile seguire uno o più schemi comuni per lavorare con i dati attraverso il database, il data lake e il data warehouse:

Immagine (sopra): Trasferire i dati in un database o in un datalake, preparare i dati, spostare i dati selezionati in un data warehouse, quindi creare un report.

Immagine (sopra): Trasferire i dati in un data warehouse, analizzare i dati, quindi condividerli in modo da utilizzare con altri servizi di analisi e machine learning.
Un data warehouse è specificamente progettato per l'analisi dei dati che prevede la lettura di grandi quantità di dati per la comprensione di rapporti e trend tra i dati stessi. Un database viene utilizzato per acquisire e archiviare i dati, come la registrazione dei dettagli di una transazione.
A differenza di un data warehouse, un data lake è un repository centralizzato per tutti i dati, compresi quelli strutturati, quelli semi-strutturati e quelli non strutturati. Un data warehouse richiede che i dati siano organizzati in formato tabella, che è dove entra in gioco lo schema. Questo formato è necessario perché sia possibile utilizzare SQL per interrogare i dati. Non tutte le applicazioni però richiedono i dati in formato tabella. Alcune applicazioni, come ad esempio l’analisi di Big Data, la ricerca del testo completa e il machine learning, possono accedere ai dati anche se questi sono semi-strutturati o completamente non strutturati.
Confronto tra data warehouse e data lake
Caratteristiche | Data warehouse | Data lake |
---|---|---|
Dati | Dati relazionali da sistemi transazionali, database operativi e applicazioni aziendali |
Tutti i dati, compresi quelli strutturati, semi-strutturati e non strutturati |
Schema | Spesso progettato prima dell'implementazione del data warehouse ma può anche essere scritto al momento dell'analisi (schema su scrittura o schema su lettura) |
Scritto al momento dell'analisi (schema su lettura) |
Prezzo/prestazioni |
Risultati delle query più rapidi utilizzando uno storage locale |
I risultati delle query diventano più veloci utilizzando l'archiviazione a basso costo e il disaccoppiamento dei processi di elaborazione e archiviazione |
Qualità dei dati |
Dati estremamente curati che fungono da versione veritiera centrale |
Qualsiasi dato curato e non (ad es. dati grezzi) |
Utenti | Analisti aziendali, data scientist e sviluppatori di dati |
Analisti aziendali (che utilizzano dati curati), data scientist, sviluppatori di dati, ingegneri di dati e data architect |
Analisi | Reporting in batch, BI e visualizzazioni |
Machine learning, analisi esplorativa, rilevamento di dati, streaming, analisi operativa, Big Data e profilazione |
Confronto tra data warehouse e database
Caratteristiche | Data warehouse | Database transazionale |
---|---|---|
Carichi di lavoro consigliati |
Analisi, reporting, Big Data |
Elaborazione di transazioni |
Origine dati | Dati raccolti e normalizzati da numerose origini | Dati acquisiti così come sono da un'unica origine, come un sistema transazionale |
Acquisizione di dati |
Scrittura in massa di operazioni, normalmente in un programma di batch predefinito |
Ottimizzato per operazioni di scrittura continue in base alla disponibilità di nuovi dati per potenziare il throughput transazionale |
Normalizzazione dei dati |
Schemi non normalizzati, come Star o Snowflake |
Schemi statici, altamente normalizzati |
Storage dei dati | Ottimizzato per la semplicità di accesso e prestazioni di query ad alta velocità utilizzando lo storage a colonne |
Ottimizzato per le operazioni di scrittura a throughput elevato in un blocco fisico orientato a una sola riga |
Accesso ai dati | Ottimizzato per ridurre al minimo operazioni I/O e potenziare il throughput di dati |
Volumi elevati di operazioni di lettura di piccole dimensioni |
Come si confronta un data mart con un data warehouse?
Un data mart è un data warehouse che assolve alle esigenze di uno specifico team o unità aziendale, come finanza, marketing o vendite. È più piccolo, più concentrato e può contenere riepiloghi dei dati che servono al meglio la relativa comunità di utenti. Un data mart può anche essere una parte di un data warehouse.
Confronto tra data warehouse e data mart
Caratteristiche | Data warehouse | Data mart |
---|---|---|
Ambito | Centralizzato, più materie integrate tra loro |
Decentralizzato, materia specifica |
Utenti | A livello dell'intera organizzazione |
Un'unica comunità o reparto |
Origine dati |
Molte origini |
Una o poche origini o una porzione di dati già raccolti in un data warehouse |
Dimensioni |
Grandi, pari ad esempio a centinaia di gigabyte o petabyte |
Piccole, generalmente fino a decine di gigabyte |
Progettazione | Top-down |
Bottom-up |
Dettagli dei dat | Dati completi e dettagliati |
Può contenere dati riassunti |
In che modo è possibile distribuire un data warehouse su AWS?
AWS consente di sfruttare tutti i vantaggi dell'elaborazione on demand, ad esempio l'accesso a storage e capacità di elaborazione praticamente illimitati, con la possibilità di ricalibrare il sistema in base ai volumi di dati raccolti, memorizzati e interrogati, pagando solo per le risorse allocate. AWS offre inoltre un'ampia gamma di servizi gestiti che si integrano l'uno con l'altro in modo fluido, consentendo di distribuire rapidamente soluzioni di analisi end-to-end e data warehousing complete.
La seguente illustrazione mostra i passaggi chiave di un processo di analisi end-to-end, chiamato anche stack. AWS offre una varietà di servizi gestiti a ogni fase.

Immagine (sopra): AWS offre una varietà di prodotti e servizi a ogni fase del processo di analisi.
Amazon Redshift è il nostro servizio di data warehouse rapido, completamente gestito e a costi ridotti. Offre un data warehousing su scala petabyte e analisi data lake su scala exabyte in un unico servizio, per il quale paghi solo ciò che usi.
Fasi successive
- Segui questa guida dettagliata e distribuisci un data warehouse Amazon Redshift »
- Inizia subito con la prova gratuita di 2 mesi »