Sei un principiante dell’ingegneria dei dati interessato a saperne di più sulle moderne infrastrutture di dati? Scommetto di sì, questo articolo fa per te!
In questa guida L’ingegneria dei dati incontra la Formula 1. Ma lo manterremo semplice.
Credo fermamente che il modo migliore per descrivere un concetto sia tramite esempi, anche se alcuni dei miei professori universitari dicevano: “Se hai bisogno di un esempio per spiegarlo, significa che non hai capito”.
Ad ogni modo, non ho prestato abbastanza attenzione durante le lezioni universitarie e oggi ti guiderò attraverso i livelli di dati utilizzando… indovina un po — un esempio.
Immagina questo: l’anno prossimo, una nuova squadra sulla griglia, Corsa del Tuono Rosso, ci chiameranno (sì, io e te) per impostare la loro nuova infrastruttura dati.
Nella Formula 1 di oggi, i dati sono al centro, molto più di quanto lo fossero 20 o 30 anni fa. I team di corse stanno migliorando le prestazioni con un fenomenale approccio basato sui dati, apportando miglioramenti millisecondo dopo millisecondo.
Non si tratta solo del tempo sul giro; La Formula 1 è un business multimiliardario. Aumentare il coinvolgimento dei fan non è solo per divertimento; rendere lo sport più attraente non è solo un divertimento per i conducenti. Queste attività generano ricavi.
Una solida infrastruttura di dati è a indispensabile per competere nel business della F1.
Costruiremo un’architettura dati per supportare il nostro racing team a partire dal tre strati canonici: Data Lake, data warehouse, E DataMart.
Lago dati
Un data Lake fungerebbe da archivio per dati grezzi e non strutturati generati da varie fonti all’interno dell’ecosistema della Formula 1: dati di telemetria delle vetture (ad es. pressione degli pneumatici al secondo, velocità, consumo di carburante), configurazioni dei piloti, tempi sul giro, condizioni meteorologiche, feed dei social media, biglietteria, fan registrati a eventi di marketing, acquisti di merchandise, …
Tutti i tipi di dati possono essere archiviati nel nostro data lake consolidato: non strutturato (audio, video, immagini), semistrutturato (JSON, XML) e strutturato (CSV, Parquet, AVRO).
Affronteremo la nostra prima sfida mentre integriamo e consolidiamo tutto in un unico posto. Creeremo processi batch estraendo record dagli strumenti di marketing e ci occuperemo anche dei dati di telemetria in streaming in tempo reale (e, certo, ci saranno requisiti di latenza molto bassi).
Avremo un lungo elenco di sistemi da integrare e ognuno supporterà un protocollo o un’interfaccia diversa: Kafka Streaming, SFTP, MQTT, REST API e altro ancora.
Non saremo soli in questa raccolta di dati; per fortuna, ci sono strumenti di integrazione dei dati disponibili sul mercato che possono essere adottati per configurare e mantenere le pipeline di immissione in un unico posto (es. in ordine alfabetico: Fivetran, Hevo, Informatica, Segment, Stitch, Talend, …).
Invece di fare affidamento su centinaia di script Python pianificati su crontab
o avere processi personalizzati che gestiscono lo streaming di dati dagli argomenti Kafka, questi strumenti ci aiuteranno a semplificare, automatizzare e orchestrare tutti questi processi.
Magazzino dati
Dopo alcune settimane di definizione di tutti i flussi di dati che dobbiamo integrare, ora stiamo inserendo una notevole varietà di dati nel nostro data Lake. È ora di passare al livello successivo.
Il data warehouse viene utilizzato per pulire, strutturare e archiviare i dati elaborati dal data Lake, fornendo un ambiente strutturato e ad alte prestazioni per l’analisi e il reporting.
In questa fase, non si tratta di importare dati e ci concentreremo sempre di più sui casi d’uso aziendali. Dovremmo considerare come i dati verranno utilizzati dai nostri colleghi offrendo set di dati strutturati, regolarmente aggiornati, su:
- Prestazioni dell’auto: i dati di telemetria vengono puliti, normalizzati e integrati per fornire una visualizzazione unificata.
- Revisione della strategia e delle tendenze: i dati delle gare passate vengono utilizzati per identificare tendenze, prestazioni dei piloti e comprendere l’impatto di strategie specifiche.
- KPI della squadra: tempi di pit-stop, temperatura gomme prima del pit-stop, controllo del budget sugli sviluppi della vettura.
Avremo numerose pipeline dedicate alla trasformazione e alla normalizzazione dei dati.
Come per l’integrazione dei dati, sul mercato sono disponibili numerosi prodotti per semplificare e gestire in modo efficiente le pipeline di dati. Questi strumenti possono semplificare i nostri processi relativi ai dati, riducendo i costi operativi e aumentando l’efficacia degli sviluppi (es. in ordine alfabetico: Apache Airflow, Azure Data Factory, DBT, Google DataForm, …).
Data mart
Esiste una linea sottile tra Data Warehouse e Data Mart.
Non dimentichiamo che stiamo lavorando Corsa del Tuono Rossouna grande azienda, con migliaia di dipendenti impegnati in ambiti diversi.
I dati devono essere accessibili e adattati ai requisiti specifici delle unità aziendali. I modelli di dati sono costruiti in base alle esigenze aziendali.
I data mart sono sottoinsiemi specializzati di data warehouse incentrati su funzioni aziendali specifiche.
- Mercato delle prestazioni automobilistiche: Il team RnD analizza i dati relativi all’efficienza del motore, all’aerodinamica e all’affidabilità. Gli ingegneri utilizzeranno questo data mart per ottimizzare la configurazione dell’auto per diversi circuiti di gara o per eseguire simulazioni per comprendere la migliore configurazione dell’auto in base alle condizioni meteorologiche.
- Mercato del coinvolgimento dei fan: Il team di marketing analizza i dati dei social media, i sondaggi sui fan e le valutazioni degli spettatori per comprendere le preferenze dei fan. Il team di marketing utilizza questi dati per eseguire strategie di marketing su misura, sviluppo di prodotti e migliorare la propria conoscenza di Fan360.
- Analisi contabile Mart: Anche il team finanziario ha bisogno di dati (molti numeri, credo!). Ora più che mai, i team da corsa devono fare i conti con restrizioni di budget e regolamenti. È importante tenere traccia delle allocazioni di budget, dei ricavi e delle panoramiche dei costi in generale.
Inoltre, spesso è necessario garantire che i dati sensibili rimangano accessibili solo ai team autorizzati. Ad esempio, il team di ricerca e sviluppo potrebbe richiedere l’accesso esclusivo alle informazioni di telemetria e necessitare che i dati possano essere analizzati utilizzando un modello di dati specifico. Tuttavia, potrebbero non essere autorizzati (o interessati) ad accedere ai report finanziari.
La nostra architettura di dati a più livelli consentirà Corsa del Tuono Rosso per sfruttare la potenza dei dati per l’ottimizzazione delle prestazioni dell’auto, il processo decisionale strategico, una campagna di marketing potenziata… e altro ancora!
Questo è tutto?
Assolutamente no! Abbiamo appena scalfito la superficie di un’architettura dati. Probabilmente ci sono altre centinaia di punti di integrazione che dovremmo considerare, del resto non siamo andati oltre il semplice citare dati trasformazione E modellazione dei dati.
Non abbiamo coperto il Scienza dei dati dominio, che probabilmente merita un articolo a parte, lo stesso per governance dei dati, osservabilità dei dati, la sicurezza dei datie altro ancora.
Ma ehi, come si suol dire, “Roma non è stata costruita in un giorno”. Abbiamo già molto da fare per oggi, inclusa la prima bozza della nostra architettura dati (sotto).
L’ingegneria dei dati è un regno magico, con una miriade di libri ad esso dedicati.
Durante tutto il percorso, gli ingegneri dei dati si impegneranno con strumenti di integrazione illimitati e diverse piattaforme dati che mirano a coprire uno o più dei livelli sopra menzionati (es. in ordine alfabetico: AWS Redshift, Azure Synapse, Databricks, Google BigQuery, Snowflake, …)strumenti di business intelligence (es. Looker, PowerBI, Tableau, ThoughtSpot, …) e strumenti per pipeline di dati.
Il nostro viaggio nell’ingegneria dei dati su Corsa del Tuono Rosso è appena iniziato e dovremmo lasciare ampio spazio alla flessibilità nel nostro toolkit!
I livelli dati possono essere spesso combinati insieme, a volte in un’unica piattaforma. Le piattaforme e gli strumenti dati stanno alzando il livello e riducendo le lacune giorno dopo giorno rilasciando nuove funzionalità. La concorrenza è intensa in questo mercato.
- Hai sempre bisogno di avere un data Lake? Dipende.
- Hai sempre bisogno di archiviare i dati il prima possibile (ovvero streaming ed elaborazione in tempo reale)? Dipendequal è il requisito di aggiornamento dei dati da parte degli utenti aziendali?
- Hai sempre bisogno di affidarti a strumenti di terze parti per la gestione delle pipeline di dati? Dipende!
<Placeholder for any other question you might have>
? Dipende!
Se avete domande o suggerimenti, non esitate a contattarmi su LinkedIn. Prometto che risponderò con qualcosa di diverso da: Dipende!
Le opinioni espresse in questo articolo sono esclusivamente mie e non riflettono le opinioni del mio datore di lavoro. Se non diversamente specificato, tutte le immagini sono dell’autore.
La storia, tutti i nomi e gli incidenti descritti in questo articolo sono fittizi. Non è intesa né dovrebbe essere dedotta alcuna identificazione con luoghi, edifici e prodotti reali.
Fonte: towardsdatascience.com