La gestione dei dati è una parte importante per alimentare l'analisi aziendale e creare esperienze cliente eccezionali. Probabilmente hai già sentito parlare di data lake e data warehouse, ma è difficile sapere quale sia quello più adatto al tuo progetto. Questi due sistemi gestiscono i dati in modi diversi. Un data lake è come un grande pool di dati non elaborati in cui non si definisce subito lo scopo. Un data warehouse è più simile a una biblioteca di dati organizzati e filtrati, pronti per attività specifiche. Conoscere le differenze ti aiuta a scegliere lo strumento giusto per le tue esigenze di dati.
La differenza principale tra questi due sistemi è il modo in cui gestiscono la struttura e l'utilizzo dei dati. Un data lake è per i dati non elaborati e non strutturati, mentre un data warehouse è per i dati strutturati ed elaborati.
Funzionalità | Data lake | Data warehouse |
Tipo di dati | Tutti i dati (non elaborati, strutturati, non strutturati) | Dati strutturati elaborati |
Purpose | Non ancora definito | Definito e specifico |
Utenti | Data scientist, data engineer | Data analyst, analisti di business intelligence |
Accessibilità | Altamente flessibile, facile da modificare | Più difficili da cambiare, più rigidi |
Elaborazione | Schema-on-read (definito quando viene utilizzato) | Schema-on-write (definito prima del salvataggio) |
Vantaggi |
|
|
Funzionalità
Data lake
Data warehouse
Tipo di dati
Tutti i dati (non elaborati, strutturati, non strutturati)
Dati strutturati elaborati
Purpose
Non ancora definito
Definito e specifico
Utenti
Data scientist, data engineer
Data analyst, analisti di business intelligence
Accessibilità
Altamente flessibile, facile da modificare
Più difficili da cambiare, più rigidi
Elaborazione
Schema-on-read (definito quando viene utilizzato)
Schema-on-write (definito prima del salvataggio)
Vantaggi
Immagina di dover creare un gioco mobile. Vuoi monitorare ogni singolo clic sui pulsanti di ogni utente. Non sai ancora quali clic sono importanti per il tuo prossimo aggiornamento. Puoi inviare tutti questi eventi JSON non elaborati direttamente in un data lake. In seguito, i tuoi data scientist possono eseguire uno script per trovare pattern in questi dati non elaborati.
Un altro esempio sono i sensori IoT. Se hai migliaia di sensori che inviano dati di temperatura ogni secondo, puoi scaricare questi dati non elaborati in un lake. Avrai una cronologia completa di tutto ciò che è successo senza doverti preoccupare di formattarla prima.
Pensa a un'azienda di vendita al dettaglio che deve tenere traccia delle proprie vendite. Ogni notte, il sistema prende tutti gli ordini del giorno, pulisce gli indirizzi, calcola le tasse e li salva in un data warehouse. Un responsabile può quindi eseguire un report per vedere esattamente quante camicie blu sono state vendute a Chicago. I dati sono ordinati, puliti e pronti per un grafico.
Una banca potrebbe anche utilizzare un data warehouse per tenere traccia dei conti. Devono conoscere il saldo esatto di ogni cliente in qualsiasi momento. Non vogliono log non elaborati, ma una tabella strutturata che mostri chiaramente ogni transazione.
I data scientist spesso devono creare un modello di AI in grado di individuare le prenotazioni fraudolente in tempo reale. Poiché i dati provengono da molti luoghi, come i log dei siti web, gli eventi delle app per dispositivi mobili e i partner di terze parti, un data lake è la soluzione migliore per addestrare i modelli di AI.
Inizia configurando una pipeline per inviare ogni singolo evento non elaborato a Cloud Storage. Ciò include file JSON disordinati dal sito web e log binari dall'app mobile. Non devi ancora preoccuparti della formattazione dei dati perché Cloud Storage è progettato per questo tipo di scala.
Per rendere i dati utili al modello di AI, devi pulirli. Puoi utilizzare Google Cloud Service for Apache Spark per eseguire un job Apache Spark serverless. Ciò consente di trasformare milioni di log non elaborati in un formato strutturato senza dover gestire server o cluster.
Ora che i dati sono pronti, puoi inserirli in uno strumento di machine learning. Poiché i dati non elaborati originali sono ancora nel lake, puoi sempre tornare indietro e osservare i dettagli "nascosti" che potrebbero aiutarti a migliorare ulteriormente il modello.
Utilizzando un data lake, puoi archiviare tutto a basso costo ed elaborare solo ciò che è necessario quando è il momento di creare il modello.
Ora esaminiamo un caso d'uso di data science per i retailer. Puoi prevedere quanti cappotti invernali venderà l'azienda il mese prossimo e, poiché i dati di vendita sono già puliti e archiviati in un database, è consigliabile utilizzare un data warehouse per questa attività.
Inizia con BigQuery, che funge da data warehouse centrale dell'azienda. I dati di vendita sono già organizzati in tabelle ordinate con colonne per date, prezzi e ID prodotto. Poiché i dati sono già strutturati, non devi perdere tempo a pulirli.
Scrivi una query SQL per visualizzare le vendite invernali degli ultimi cinque anni. Anche se ci sono miliardi di righe di dati, BigQuery trova la risposta in pochi secondi. Questa velocità ti consente di provare idee diverse e perfezionare rapidamente la previsione.
Una volta pronta la previsione, puoi utilizzare uno strumento integrato per creare una dashboard. Il team di marketing può ora vedere esattamente quanti cappotti deve ordinare. Poiché BigQuery è serverless, l'azienda paga solo le query che esegui, mantenendo bassi i costi.
Per questo caso d'uso, il data warehouse è lo strumento migliore perché fornisce risposte rapide e affidabili a domande aziendali specifiche utilizzando dati già in un formato utilizzabile.
La scelta tra un data lake e un data warehouse dipende da ciò che stai cercando di costruire. Se hai molti dati non elaborati e vuoi esplorarli con il codice, inizia con un data lake. Se hai domande aziendali specifiche e vuoi report rapidi e affidabili, un data warehouse è probabilmente la scelta migliore. Molte aziende enterprise utilizzano entrambe le soluzioni per ottenere il meglio da ciascuna.
Inizia a creare su Google Cloud con 300 $ di crediti senza costi e oltre 20 prodotti sempre senza costi.