Ingegneria dei dati Una guida ispirata alla Formula 1 per principianti

Ingengneria dei dati Una guida ispirata alla Formula 1 per principianti

Un glossario con casi d’uso per i principianti in Data Engineering

Un felice Data Engineer al lavoro

Sei un rookie in Data Engineering interessato a saperne di più sulle moderne infrastrutture dati? Scommetto di sì, questo articolo è per te!

In questa guida Data Engineering incontra la Formula 1. Ma, lo renderemo semplice.

Introduzione

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 l’hai capito”. Comunque, non prestavo sufficiente attenzione durante le lezioni universitarie e oggi ti guiderò attraverso i livelli di dati utilizzando – indovina un po’ – un esempio.

Scenario aziendale e architettura dei dati

Immagina questo: l’anno prossimo, una nuova squadra in griglia, Red Thunder Racing, ci chiamerà (sì, io e te) per configurare la loro nuova infrastruttura dati.

Nella Formula 1 odierna, i dati sono al centro, molto più di quanto non fossero 20 o 30 anni fa. Le squadre di corse stanno migliorando le prestazioni con un approccio fenomenale basato sui dati, apportando miglioramenti millisecondo dopo millisecondo.

Progetto a un livello molto elevato

Non si tratta solo del tempo sul giro; la Formula 1 è un’attività multimiliardaria. Aumentare l’engagement dei fan non è solo per divertimento; rendere lo sport più attraente non è solo per il divertimento dei piloti. Queste attività generano ricavi. Un’infrastruttura dati robusta è indispensabile per competere nel business della F1.

Costruiremo un’architettura dati per supportare la nostra squadra di corse a partire dai tre livelli canonici: Data Lake, Data Warehouse e Data Mart.

Data Lake

Un Data Lake fungerà da repository per dati grezzi e non strutturati generati da varie fonti nell’ecosistema della Formula 1: dati di telemetria dalle auto (ad esempio, pressione dei pneumatici al secondo, velocità, consumo di carburante), configurazioni del pilota, tempi sul giro, condizioni meteorologiche, feed dei social media, biglietti, fan registrati agli eventi di marketing, acquisti di merchandise, …

Tutti i tipi di dati possono essere archiviati nel nostro Data Lake consolidato: non strutturati (audio, video, immagini), semistrutturati (JSON, XML) e strutturati (CSV, Parquet, AVRO).

Data Lake & Integrazione dei dati

Affronteremo la nostra prima sfida mentre integriamo e consolidiamo tutto in un unico luogo. Creeremo job in batch per estrarre record dagli strumenti di marketing e tratteremo anche i dati di telemetria in streaming in tempo reale (e assicurati che ci saranno requisiti di latenza molto bassi).

Avremo una lunga lista 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; fortunatamente, ci sono strumenti di integrazione dati disponibili sul mercato che possono essere adottati per configurare e mantenere pipeline di ingestione in un unico luogo (ad esempio, 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 il flusso di dati dai topic di Kafka, questi strumenti ci aiuteranno a semplificare, automatizzare e orchestrare tutti questi processi.

Data Warehouse

Dopo qualche settimana di definizione di tutti i flussi di dati che dobbiamo integrare, stiamo ora acquisendo una notevole varietà di dati nel nostro data lake. È ora di passare al layer successivo.

Il data warehouse viene utilizzato per pulire, strutturare e archiviare i dati elaborati provenienti dal data lake, fornendo un ambiente strutturato ad alte prestazioni per analisi e reporting.

In questa fase, non si tratta più di acquisire dati e ci concentreremo sempre di più sui casi d’uso aziendali. Dovremmo considerare come i dati saranno utilizzati dai nostri colleghi, offrendo dataset strutturati, regolarmente aggiornati, su:

  • Prestazioni delle auto: i dati telemetrici vengono puliti, normalizzati e integrati per fornire una visione unificata.
  • Analisi di strategie e tendenze: i dati delle gare passate vengono utilizzati per identificare tendenze, prestazioni dei piloti e comprendere l’impatto di strategie specifiche.
  • Indicatori chiave di performance del team: tempi di pit stop, temperatura degli pneumatici prima del pit stop, controllo del budget sullo sviluppo dell’auto.
Data Warehouse & Data Transformation

Avereemo numerosi flussi dedicati alla trasformazione e normalizzazione dei dati. Come per l’integrazione dei dati, ci sono molti prodotti disponibili sul mercato per semplificare e gestire efficientemente i flussi di dati. Questi strumenti possono razionalizzare i nostri processi di dati, riducendo i costi operativi e aumentando l’efficacia degli sviluppi (ad esempio, in ordine alfabetico: Apache Airflow, Azure Data Factory, DBT, Google DataForm, …).

Data Marts

C’è una linea sottile tra i data warehouse e i data mart. Non dimentichiamo che stiamo lavorando per Red Thunder Racing, una grande azienda, con migliaia di dipendenti coinvolti in diverse aree. I dati devono essere accessibili e adattati alle specifiche esigenze delle unità aziendali. I modelli di dati vengono costruiti in base alle esigenze aziendali.

I data mart sono sottoinsiemi specializzati dei data warehouse che si concentrano su specifiche funzioni aziendali.

  • Data Mart per le prestazioni delle auto: il team Ricerca e Sviluppo 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 tracciati o eseguire simulazioni per comprendere la migliore configurazione dell’auto in base alle condizioni meteorologiche.
  • Data Mart per l’engagement degli appassionati: il team di marketing analizza i dati dei social media, i sondaggi tra gli appassionati e gli ascolti dei telespettatori per comprendere le preferenze dei fan. Il team di marketing utilizza questi dati per eseguire strategie di marketing personalizzate, sviluppare merchandising e migliorare la loro conoscenza di Fan360.
  • Data Mart per l’analisi contabile: anche il team finanziario ha bisogno di dati (molte cifre, credo!). Ora più che mai, le squadre di corse devono affrontare restrizioni di bilancio e regolamenti. È importante tenere traccia delle allocazioni di budget, dei ricavi e delle panoramiche dei costi in generale.
Data Mart & Data Modeling

La nostra architettura dati stratificata consentirà a Red Thunder Racing di sfruttare il potere dei dati per l’ottimizzazione delle prestazioni delle auto, la presa di decisioni strategiche, le campagne di marketing avanzate… e oltre!

È tutto?

Assolutamente no! Abbiamo appena grattato la superficie di un’architettura dati. Probabilmente ci sono altri centinaia di punti di integrazione che dovremmo considerare, inoltre non siamo andati oltre la semplice menzione di trasformazione dei dati e modellazione dei dati.

Non abbiamo affrontato affatto il dominio della Data Science, che probabilmente merita il suo articolo, lo stesso vale per la governance dei dati, l’osservabilità dei dati, la sicurezza dei dati e altro ancora.

Ma hey, come si dice, “Roma non è stata costruita in un giorno”. Abbiamo già abbastanza cose da fare oggi, tra cui la prima bozza della nostra architettura dei dati (di seguito).

Data Architecture — Overview

Conclusioni

L’Ingegneria dei Dati è un regno magico, con una miriade di libri dedicati ad essa.

Durante il viaggio, gli ingegneri dei dati si imbatteranno in strumenti di integrazione illimitati, piattaforme dati diverse che mirano a coprire uno o più degli strati sopra citati (ad esempio, in ordine alfabetico: AWS Redshift, Azure Synapse, Databricks, Google BigQuery, Snowflake, …), strumenti di business intelligence (ad esempio, Looker, PowerBI, Tableau, ThoughtSpot, …) e strumenti per i flussi di dati.

Il nostro viaggio nell’ingegneria dei dati presso Red Thunder Racing è appena iniziato e dovremmo lasciare molto spazio per la flessibilità nel nostro set di strumenti!

Strati di dati possono essere spesso combinati insieme, a volte in una singola piattaforma. Piattaforme e strumenti per i dati stanno alzando l’asticella e riducendo le lacune giorno dopo giorno, rilasciando nuove funzionalità. La competizione è intensa in questo mercato.

  • Hai sempre bisogno di avere un data lake? Dipende.
  • Hai sempre bisogno di avere i dati archiviati il più presto possibile (ovvero streaming e elaborazione in tempo reale)? Dipende, quale è il requisito di freshness dei dati da parte degli utenti aziendali?
  • Hai sempre bisogno di fare affidamento su strumenti di terze parti per la gestione dei flussi di dati? Dipende!
  • <Segnaposto per qualsiasi altra domanda che potresti avere>? Dipende!

Se hai domande o suggerimenti, non esitare a contattarmi su LinkedIn. Prometto che risponderò con qualcosa di diverso da: Dipende!

Le opinioni espresse in questo articolo sono esclusivamente le mie e non riflettono le opinioni del mio datore di lavoro. Salvo diversa indicazione, tutte le immagini sono dell’autore.

La storia, tutti i nomi e gli eventi descritti in questo articolo sono frutto di finzione. Qualsiasi riferimento a luoghi, edifici e prodotti reali è puramente casuale e non intenzionale.