Un data warehouse è un database centrale in cui confluiscono tutti i tuoi dati (analisi, CRM, annunci, email, vendite). Invece di collegare gli strumenti uno all'altro, tutti gli strumenti inviano i dati al warehouse. Il warehouse diventa l'unica fonte di verità. Gli strumenti di report e i team attingono dal warehouse, non dai singoli strumenti. Questo elimina i silos e permette analisi complesse tra più strumenti. Questo capitolo spiega quando e come creare un data warehouse.
Cos'è e cosa fa un data warehouse
Un data warehouse è fatto di: (1) un database centrale (BigQuery e simili), (2) pipeline di dati che portano i dati dagli strumenti al warehouse, (3) schemi che organizzano i dati in modo coerente, (4) un livello di accesso in cui analisti e strumenti interrogano il warehouse.
Vantaggi: un'unica fonte di verità, interrogazioni flessibili (senza il limite dei report integrati negli strumenti), conservazione dei dati storici, costi convenienti su larga scala (meno che pagare lo spazio a ogni strumento), possibilità di analisi avanzate (apprendimento automatico, previsioni).
L'architettura di un data warehouse
Livello grezzo: copia esatta dei dati dei sistemi di origine. Nessuna trasformazione. Conserva i dati originali nel caso tu debba rielaborarli.
Livello di staging: i dati vengono puliti, deduplicati e validati. Le incoerenze vengono corrette. I dati sono coerenti ma non ancora pronti per l'analisi.
Livello di analisi: i dati vengono trasformati in tabelle pensate per l'analisi. Esempi: tabelle dei fatti (conversioni con chiavi verso le altre dimensioni), tabelle delle dimensioni (clienti, prodotti, campagne). È ciò che interrogano gli analisti.
Come impostare un data warehouse
Passo 1: scegli la piattaforma del warehouse.
BigQuery (Google): semplice, adatto alla maggior parte delle aziende, si paga in base ai GB interrogati.
Data warehouse cloud per grandi aziende: potente e costoso, adatto a grandi aziende con esigenze complesse.
Data warehouse cloud di un grande fornitore di infrastrutture: potente, più economico del precedente su larga scala.
Database open source: gratuito, adatto a volumi di dati da piccoli a medi.
Passo 2: estrai i dati dai tuoi strumenti.
Usa strumenti ETL (Extract-Transform-Load, cioè estrai, trasforma, carica). Questi strumenti si collegano ai tuoi sistemi di origine e copiano i dati nel warehouse in automatico (ogni giorno, ogni ora, in tempo reale).
Passo 3: progetta lo schema.
Definisci tabelle e relazioni: tabella dei clienti, tabella degli ordini, tabella degli articoli ordinati, tabella delle campagne. Come sono collegate? Questa struttura decide a quali domande puoi rispondere in modo efficiente.
Passo 4: imposta accessi e regole.
Chi può interrogare il warehouse? Ha accesso a tutti i dati o solo a quelli del proprio reparto? Imposta i permessi. Documenta lo schema, così gli analisti sanno cosa significano i dati. Monitora le interrogazioni per mantenere buone prestazioni.
Quando creare un data warehouse
Troppo presto: 1-2 strumenti, team di 3 persone. Il lavoro extra è troppo alto.
Il momento giusto: 5 o più strumenti, team di 5 o più persone, domande complesse su più strumenti poste con regolarità. Il costo del warehouse è giustificato dal tempo risparmiato e dalle informazioni ottenute.
Necessario: 10 o più strumenti, team di 10 o più persone, cultura basata sui dati. Il warehouse è un'infrastruttura indispensabile.
Le difficoltà nella realizzazione di un data warehouse
Complessità: i warehouse sono tecnicamente complessi. Servono ingegneri dei dati per mantenerli. Per le piccole aziende trovarli è difficile.
Qualità dei dati: se entrano dati sbagliati, escono risultati sbagliati. Dati cattivi nel warehouse = informazioni cattive. Validazione e pulizia dei dati sono fondamentali.
Costo: può essere alto (BigQuery può costare 100-1000 $ o più al mese su larga scala). Servono ottimizzazione e regole per tenere sotto controllo i costi.
Devo creare un data warehouse o usare le integrazioni di uno strumento di business intelligence?
Integrazioni di uno strumento di business intelligence: semplici, rapide da configurare (ore), poco personalizzabili. Warehouse: più lavoro per configurarlo (settimane o mesi), molto flessibile, scala bene. Con 3-4 strumenti bastano le integrazioni. Con 5 o più strumenti o analisi complesse, il warehouse vale la pena. Parti dalle integrazioni e passa al warehouse quando non bastano più.
Quanto costa un data warehouse?
BigQuery: 6,25 $ per TB interrogato (circa). Altre piattaforme: da 2 a 4 $ per unità di calcolo usata (dipende dalla dimensione del warehouse) oppure da 1 a 4 $ all'ora. I costi variano in base al volume di dati e alla complessità delle interrogazioni. Per la maggior parte delle aziende: 500-2000 $ al mese su larga scala. Aziende più piccole: 50-500 $ al mese. Metti a budget anche il lavoro di ingegneria dei dati (la parte più costosa).
Che differenza c'è tra un data warehouse e un data lake?
Warehouse: dati strutturati, puliti, ottimizzati per le interrogazioni. Lake: dati non strutturati, grezzi, conserva tutto (costa meno). I warehouse servono per le analisi. I lake servono per conservare i dati grezzi. Approccio moderno: lake + warehouse (dati grezzi nel lake, dati puliti nel warehouse). Parti dal warehouse e passa al lake se i costi di archiviazione esplodono.
Come garantisco la qualità dei dati nel mio warehouse?
Regole di validazione: cerca duplicati, valori nulli, valori fuori intervallo. Testa le pipeline di dati: il flusso corrisponde ai totali attesi? Fai controlli regolari: confronta i totali del warehouse con quelli dei sistemi di origine. Correggi le differenze. Documenta le anomalie. Affida la responsabilità della qualità dei dati a una persona o a un team.
Posso interrogare il warehouse per domande occasionali senza essere un ingegnere dei dati?
Sì, se lo schema è ben progettato e documentato. Scrivi interrogazioni SQL per rispondere alle domande. Per chi non ha basi tecniche: usa gli strumenti di business intelligence con dashboard già pronte. Per domande più occasionali: gli ingegneri dei dati o gli ingegneri di analisi scrivono le interrogazioni SQL. Inserisci un ruolo di ingegneria di analisi (che fa da ponte tra ingegneria dei dati e analisi) per rendere l'accesso più democratico.
Ogni quanto devono aggiornarsi i dati nel mio warehouse?
L'aggiornamento giornaliero è lo standard (parte di notte). Il tempo reale è possibile ma costoso. Per la maggior parte delle analisi basta l'aggiornamento giornaliero. Per le dashboard operative (pipeline di vendita) può servire l'aggiornamento orario o in tempo reale. Parti dal giornaliero e passa all'orario solo se l'attività lo richiede e puoi permettertelo.