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:

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 database o in un datalake, preparare i dati, spostare i dati selezionati in un data warehouse, quindi creare un report.

Trasferire i dati in un data warehouse, analizzare i dati, quindi condividerli in modo da utilizzarli con altri prodotti di AWS Analytics

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.

AWS offre una varietà di prodotti e servizi a ogni fase del processo di analisi

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