Data lake rispetto a data warehouse: architettura, compromessi e quando utilizzarli entrambi

Data Pipeline

Stripe Data Pipeline invia tutti i dati e i report aggiornati di Stripe a Snowflake o Amazon Redshift in pochi clic.

Ulteriori informazioni 
  1. Introduzione
  2. Che cos’è un data lake?
  3. Che cos’è un data warehouse?
  4. Quali sono le differenze chiave tra un data lake e un data warehouse?
    1. Struttura
    2. Prestazioni delle query
    3. Tipi di dati
    4. Governance e affidabilità
    5. Profilo di costo
  5. In che modo le organizations utilizzano i data lake e i data warehouse insieme?
  6. Come scegliere tra un data lake e un data warehouse?
    1. Team di business intelligence (BI) e reporting
    2. Team di data science e machine learning
    3. Team di ingegneri che acquisiscono dati su larga scala
    4. Carichi di lavoro misti
  7. Come si inserisce un fornitore di servizi di pagamento nell’architettura del data lake o del data warehouse?
  8. In che modo Stripe Data Pipeline può esserti utile

I data lake e i data warehouse risolvono problemi diversi. I lake archiviano a basso costo i dati grezzi nel loro formato nativo e i warehouse forniscono rapidamente i dati curati. Il modo in cui li si utilizza singolarmente o insieme influisce su ciò che il team di analisi può fare e la portata dei dati moderni rende questa scelta ancora più consequenziale. Nel 2024 sono stati creati, acquisiti, copiati o consumati 402,89 milioni di terabyte di dati ogni giorno, per un totale di circa 147 zettabyte all'anno.

Di seguito confronteremo i data lake e i data warehouse, spiegheremo in cosa differiscono in termini di schema, costo, prestazioni e governance e come abbinare l'architettura giusta ai carichi di lavoro.

In evidenza

  • I data lake utilizzano uno schema-on-read per archiviare i dati grezzi in modo flessibile, mentre i data warehouse utilizzano uno schema-on-write per offrire prestazioni di esecuzione delle query rapide e coerenti per la business intelligence (BI) e il reporting.

  • I team di dati maturi in genere utilizzano entrambi i sistemi in un'architettura a livelli, con i dati grezzi che finiscono in un lake e i dati curati che confluiscono in un warehouse per l'analisi.

  • L'approccio legacy ai dati di pagamento che consiste nel creare una pipeline personale tende a essere fragile poiché le modifiche allo schema dell'API possono interrompere le pipeline.

Che cos'è un data lake?

Un data lake è un repository centralizzato che archivia i dati nel loro formato nativo e non elaborato. Ciò include dati strutturati (tabelle), dati semi-strutturati come log JSON (JavaScript Object Notation) e dati non strutturati (testo, immagini, video).

L'ideale che definisce un data lake è lo schema-on-read. I dati arrivano esattamente come vengono prodotti e la struttura viene applicata in un secondo momento, al momento dell'interrogazione, quando qualcuno conosce la domanda a cui sta cercando di rispondere. Questa flessibilità rende i lake particolarmente adatti all'acquisizione su larga scala e all'analisi esplorativa. È possibile archiviare praticamente qualsiasi cosa senza decidere in anticipo come modellarla.

Che cos'è un data warehouse?

Un data warehouse è un sistema di analisi strutturato progettato per interrogazioni rapide e coerenti.

Prima che i dati finiscano in un warehouse, vengono in genere puliti, trasformati e modellati in schemi ben definiti ottimizzati per l'analisi. Questo approccio è noto come schema-on-write: la struttura e le definizioni vengono determinate prima dell'archiviazione dei dati. Il risultato è un ambiente curato in cui gli analisti possono eseguire query, creare dashboard e calcolare metriche senza preoccuparsi di formati incoerenti o di un contesto mancante.

Mentre un data lake privilegia la flessibilità, un data warehouse privilegia l'affidabilità e le prestazioni per l'analisi.

Quali sono le differenze chiave tra un data lake e un data warehouse?

Le differenze pratiche tra lake e warehouse vanno ben oltre il luogo in cui sono salvati i dati. Anche la loro struttura, chi può utilizzarli e quanto costa eseguire query sono distinzioni chiave.

Struttura

I data lake salvano dati grezzi e applicano la struttura solo quando vengono eseguite le query. Questa flessibilità consente molteplici interpretazioni dello stesso set di dati. I data warehouse impongono la struttura quando i dati vengono scritti, in modo che tutti coloro che eseguono query sugli ordini vedano lo stesso schema e le stesse definizioni.

Prestazioni delle query

I warehouse sono creati per l'analisi interattiva. Le query su tabelle di grandi dimensioni in sistemi come Snowflake o BigQuery possono restituire risultati in pochi secondi. L'esecuzione di query su file grezzi nell'archiviazione del lake può essere più lenta e costosa, a meno che non si sia investito in ottimizzazioni come l'archiviazione a colonne, il partizionamento e la compattazione.

Tipi di dati

I warehouse eccellono con dati strutturati e relazionali utilizzati in report e dashboard. I data lake sono più flessibili: possono salvare log grezzi, JSON nidificati, set di dati di machine learning, immagini e altri formati non relazionali.

Governance e affidabilità

I dati del warehouse di solito passano attraverso pipeline di convalida e trasformazione, che li rendono adatti per la reportistica dell'attività. I dati in un lake sono spesso grezzi ed esplorativi, quindi di solito è necessaria un'ulteriore elaborazione prima che possano supportare metriche di produzione.

Profilo di costo

I data lake sono molto più economici per l'archiviazione di grandi volumi di dati grezzi o a cui si accede raramente. I warehouse costano di più per terabyte, ma forniscono prestazioni delle query più veloci e un supporto migliore per carichi di lavoro di analisi ad alta concorrenza.

In che modo le organizations utilizzano i data lake e i data warehouse insieme?

Le piattaforme mature tendono a utilizzare entrambi i sistemi, ciascuno dei quali gestisce la parte della pipeline per cui è più adatto. In genere, un data lake funge da zona di atterraggio per i dati grezzi, mentre il warehouse fornisce set di dati curati e pronti per l'analisi agli analisti e agli strumenti aziendali.

Un modello comune è l'architettura medallion, che include:

  • Bronze: dati grezzi acquisiti

  • Silver: set di dati puliti e deduplicati

  • Gold: tabelle aggregate, pronte per l'attività, utilizzate per la reportistica

In molte implementazioni, i dati bronze e silver risiedono nell'archiviazione del lake, mentre i set di dati gold vengono forniti da un warehouse.

Lo svantaggio di questa architettura a livelli è la sua difficoltà. I dati vengono duplicati tra i sistemi, le pipeline li spostano e li trasformano e i team devono gestire la governance e i controlli degli accessi in più posizioni. Le organizations stanno semplificando questo aspetto sperimentando architetture lakehouse basate su tecnologie come Delta Lake, Apache Iceberg o Hudi. Questi sistemi aggiungono funzionalità tradizionalmente associate ai warehouse, come le transazioni ACID (atomicità, coerenza, isolamento e durabilità) e l'applicazione dello schema, che indirizzano all'archiviazione del lake.

Ciò consente ai team di utilizzare un'unica piattaforma anziché due. Il suo funzionamento dipenderà dalla complessità delle query e dalla maturità del team che la gestisce.

Come scegliere tra un data lake e un data warehouse?

La risposta corretta dipende da chi utilizza i dati e da ciò di cui ha bisogno. In genere, le organizzazioni hanno più team con requisiti diversi.

Ecco gli elementi da considerare:

Team di business intelligence (BI) e reporting

Se i consumatori principali sono analisti che creano dashboard in strumenti come Looker, Tableau o Metabase, un data warehouse è solitamente la base migliore. Questi strumenti dipendono da schemi coerenti, metriche affidabili e risposte rapide alle query.

Team di data science e machine learning

I modelli di formazione spesso richiedono set di dati non elaborati e ad alto volume, come flussi di eventi, testo, log comportamentali o altri formati complessi. I data lake offrono la flessibilità necessaria per archiviare ed esplorare i dati prima che vengano modellati in tabelle strutturate.

Team di ingegneri che acquisiscono dati su larga scala

Quando i sistemi generano miliardi di eventi al giorno, un data lake è solitamente la prima destinazione più pratica. È più economico, gestisce bene gli schemi in evoluzione e non richiede che i sistemi a monte si conformino a un modello di dati predefinito.

Carichi di lavoro misti

Le organizzazioni tendono a combinare le due cose: un lake per l'acquisizione e l'archiviazione di dati grezzi, un warehouse per servire set di dati curati e un livello di trasformazione che li collega. In questo tipo di configurazione, la domanda è dove si inserisce ciascun sistema nella pipeline dei dati complessiva.

Come si inserisce un fornitore di servizi di pagamento nell'architettura del data lake o del data warehouse?

L'approccio legacy ai dati di pagamento consiste nel creare una pipeline personale utilizzando un'API (Application Programming Interface) per gestire l'impaginazione e i limiti di frequenza, scrivere i risultati nello storage e mantenere l'integrazione a tempo indeterminato.

Funziona, ma è fragile. Le modifiche allo schema dell'API possono interrompere le pipeline, i backfill storici richiedono una logica aggiuntiva e i dati di pagamento includono informazioni finanziarie sensibili. Ciò significa che instradarli attraverso fornitori terzi di estrazione, trasformazione e caricamento (ETL) crea un'esposizione in termini di sicurezza che molti team di finanza e conformità non apprezzano.

La Stripe Data Pipeline affronta direttamente queste sfide. Connettore nativo creato e gestito da Stripe, è disponibile per gli utenti Stripe esistenti e funziona sincronizzando i dati Stripe (transazioni, clienti, abbonamenti, bonifici) direttamente in un data warehouse o in una destinazione di archiviazione cloud.

Rispetto ai connettori di terze parti, l'approccio nativo presenta alcuni vantaggi:

  • Completezza dei dati: Stripe Data Pipeline include dati storici del tuo account, report finanziari predefiniti e set di dati curati che i connettori di terze parti spesso non espongono o richiedono una configurazione personalizzata per essere visualizzati.

  • Affidabilità su larga scala: Poiché la pipeline è gestita da Stripe stessa, tiene traccia automaticamente delle modifiche alle API, gestisce l'evoluzione degli schemi e tiene conto dei casi limite nel modello di dati di Stripe che i connettori esterni a volte non rilevano.

  • Esposizione alla sicurezza ridotta: I dati delle transazioni finanziarie si spostano tra Stripe e la destinazione di archiviazione senza passare attraverso l'infrastruttura di un fornitore intermedio, il che semplifica la postura di sicurezza dei dati.

In che modo Stripe Data Pipeline può esserti utile

Stripe Data Pipeline ti consente di eseguire la stessa analisi nel tuo data warehouse combinando i dati Stripe con altri dati aziendali. Sia Stripe Data Pipeline che Stripe Sigma sono alimentati dagli stessi dati Stripe sottostanti, ma Data Pipeline semplifica la visualizzazione di tali dati in combinazione con altri set di dati.

Stripe Data Pipeline può aiutarti a:

  • Sincronizzare direttamente nel warehouse
    I dati si spostano in Amazon Redshift, Snowflake o Amazon S3 senza passare attraverso un connettore di terze parti, il che mantiene i dati finanziari sensibili fuori da un'infrastruttura aggiuntiva del fornitore.

  • Stabilire un'unica fonte di verità
    Centralizza i dati Stripe in un unico posto per accelerare la chiusura finanziaria, identificare i metodi di pagamento principali, migliorare i modelli di intelligenza artificiale e altro ancora.

  • Prepararsi con la modalità no-code
    La connessione viene configurata nella Dashboard, senza alcun codice. Configura Stripe Data Pipeline in pochi minuti e ricevi automaticamente i dati e i report Stripe nella destinazione di archiviazione dei dati su base continuativa.

Scopri di più su come Stripe Data Pipeline può aiutarti a sbloccare i tuoi dati aziendali.

I contenuti di questo articolo hanno uno scopo puramente informativo e formativo e non devono essere intesi come consulenza legale o fiscale. Stripe non garantisce l'accuratezza, la completezza, l'adeguatezza o l'attualità delle informazioni contenute nell'articolo. Per assistenza sulla tua situazione specifica, rivolgiti a un avvocato o a un commercialista competente e abilitato all'esercizio della professione nella tua giurisdizione.

Altri articoli

  • Sì è verificato un problema. Riprova o contatta l'assistenza di Stripe.

Tutto pronto per iniziare?

Crea un account e inizia ad accettare pagamenti senza la necessità di stipulare contratti o di comunicare le tue coordinate bancarie. In alternativa, contattaci per progettare un pacchetto personalizzato per la tua attività.

Data Pipeline

Stripe Data Pipeline consente di inviare tutti i dati e i report aggiornati di Stripe al tuo data warehouse in pochi clic.

Documentazione di Data Pipeline

Comprendi la tua attività con i dati di Stripe.