Corso
dbt Cloud è emerso come il principale servizio gestito per la trasformazione dei dati, offrendo a team di analytics moderni workflow scalabili, affidabili e collaborativi.
Estende la potenza di dbt Core, offrendo un ambiente ospitato che automatizza i deployment, orchestra i job, gestisce le credenziali e fornisce funzioni di collaborazione per i team dati.
Questo permette alle organizzazioni di gestire trasformazioni basate su SQL in un ambiente sicuro, automatizzato e adatto al lavoro di squadra.
In questo tutorial introduttivo vedremo cos’è dbt Cloud, come configurarlo ed esempi di come può essere utilizzato.
Se sei nuovo del framework e preferisci un percorso di apprendimento strutturato, ti consiglio di iniziare con il nostro corso Introduzione a dbt.
Cos’è dbt Cloud e come funziona?
Iniziamo con una panoramica di cosa sia dbt Cloud e alcune delle sue funzionalità.
Panoramica di dbt Cloud
Alla base, dbt Cloud consente ai team di seguire l’approccio ELT (Extract, Load, Transform). A differenza dei processi ETL tradizionali, in cui le trasformazioni avvengono prima del caricamento nel data warehouse, dbt esegue le trasformazioni all’interno del warehouse sfruttandone capacità di calcolo e scalabilità.

Fonte: dbt
dbt Cloud semplifica il processo di trasformazione dei dati, in quanto:
- Fornisce un servizio gestito per trasformazioni SQL utilizzando dbt.
- Si inserisce nelle pipeline moderne spostando le trasformazioni all’interno del warehouse.
- Standardizza l’analytics engineering tramite workflow e pratiche condivise.
Concetti chiave e workflow
dbt Cloud include gli stessi concetti di dbt Core.
Tra questi troviamo:
- Modelli: file SQL che definiscono le trasformazioni.
- Fonti: definizioni delle tabelle di dati grezzi.
- Test: asserzioni sulla qualità dei dati.
- Documentazione: lineage e documentazione dei modelli generati automaticamente.
- Exposures: definiscono dipendenze downstream per BI o reportistica.
Un tipico workflow in dbt Cloud è il seguente: Sviluppa i modelli > Testa le trasformazioni > Fai commit su Git > Distribuisci tramite job di dbt Cloud > Monitora le esecuzioni su dbt Cloud.
Configurare il tuo ambiente dbt Cloud
Per spiegare come funziona dbt Cloud, vediamo un esempio pratico di come impostare un ambiente da zero.
Iniziare con dbt Cloud è semplice, perché è pensato per un onboarding rapido. Ecco i passaggi da seguire:
Creazione e configurazione dell’account
- Registrati a dbt Cloud per accedere a una prova gratuita di 14 giorni del piano starter.

- Seleziona le opzioni iniziali in base alla tua esperienza con dbt.

- Assegna un nome al progetto, ad esempio dbt-Cloud-Analytics.

- Aggiungi una nuova connessione.

- Connettiti a un data warehouse (come Snowflake, BigQuery, PostgreSQL, Redshift o Databricks) di tua scelta. Io userò un database PostgreSQL locale.

- Configura le impostazioni di connessione.

- Configura un repository Git.

Comprendere l’interfaccia utente
Una volta completate le configurazioni di base, esploriamo l’interfaccia. Ecco cosa dovresti aspettarti di vedere nell’interfaccia di dbt Cloud:

La UI di dbt Cloud organizza in modo efficiente il tuo workflow. Usando la barra di navigazione, puoi accedere alle seguenti aree chiave:
- Catalogo: mostra progetti e modelli.
- Studio: funge da interfaccia di lavoro per scrivere i file di codice.
- Dashboard: fornisce una panoramica centrale di job e attività.
- Canvas: permette la creazione di modelli tramite drag-and-drop (funzionalità Enterprise).
- Insights: offre informazioni aggiuntive sugli ambienti distribuiti.
- Orchestration: configura e pianifica le esecuzioni dbt.
Questo riunisce in un’unica interfaccia web tutte le informazioni necessarie, lo studio di coding e le impostazioni di configurazione.
Sviluppare nell’IDE di dbt Cloud
dbt Cloud offre anche un IDE nel browser progettato per l’analytics engineering con integrazione GitHub. È stato creato per creare, eseguire, testare e versionare progetti dbt direttamente dal browser.
Navigare nel Cloud IDE
L’IDE di dbt Cloud non richiede configurazioni locali, semplificando l’onboarding per gli analyst. Per accedervi, puoi fare clic sulla scheda Studio sul lato sinistro dell’interfaccia.
Si aprirà un’interfaccia semplice per scrivere, compilare ed eseguire il codice.

L’IDE di dbt Cloud ti permette di svolgere queste attività:
- Esecuzione di query in tempo reale con anteprima dei risultati.
- Autocomplete SQL e templating Jinja.
- Evidenziazione degli errori e strumenti di debug.
Integrazione con il controllo versione
Inoltre, dbt Cloud ti consente anche di integrarti con GitHub per il controllo versione.

Questa funzione ti permette di:
- Connettere dbt Cloud a GitHub, GitLab o Bitbucket.
- Gestire i branch direttamente dall’IDE.
- Eseguire commit e sincronizzare le modifiche del codice con il repository centrale.
- Snellire i workflow collaborativi con pull request e revisioni.
Creare e testare data model in dbt Cloud
Come in dbt Core, potrai anche creare e testare i data model direttamente in dbt Cloud. Vediamo alcuni modi per farlo.
Scrivere trasformazioni SQL
Quando lavori con i data model, avrai probabilmente bisogno di effettuare alcune trasformazioni. Nell’IDE di dbt Cloud possiamo scrivere istruzioni SQL all’interno di Studio.
Puoi creare un data model da trasformare in questo modo:
with source as (
select * from {{ source('raw', 'orders') }}
)
select
id as order_id,
user_id,
order_date,
status
from source
Ecco come appare l’interfaccia:

Alcune buone pratiche da tenere a mente:
- Organizza i modelli per layer (staging, intermediate, marts).
- Usa convenzioni di naming coerenti.
- Riutilizza la logica tramite macro.
Test e validazione automatizzati
Inoltre, puoi definire test in YAML per controlli automatici:
models:
- name: stg_orders
columns:
- name: order_id
tests:
- not_null
- unique
- name: status
tests:
- accepted_values:
values: ['completed', 'pending', 'cancelled']
Testare i tuoi dati rafforza la fiducia nelle trasformazioni. Questo assicura che qualsiasi job eseguirai includa test integrati per mantenere l’integrità.
Se sei un utente avanzato, puoi anche definire test personalizzati usando Jinja e SQL.
Scheduling e orchestrazione in dbt Cloud
In dbt Cloud, pianificazione dei job e orchestrazione supportano l’automazione dell’analytics. Garantiscono che le trasformazioni vengano eseguite in modo costante, puntuale e nell’ambiente corretto con il minimo intervento manuale.
Questa sezione illustra come pianificare i job, attivarli automaticamente e monitorarne le prestazioni in tempo reale.
Pianificazione dei job
All’interno dell’interfaccia di dbt Cloud puoi:
- Creare job per ambienti di sviluppo, staging o produzione.
- Configurare pianificazioni cron o trigger guidati da eventi.
- Collegare task in catena (run, test, snapshot).
Per creare una pianificazione di job in dbt Cloud:
- Vai alla scheda Orchestration, quindi Jobs nel tuo progetto.
- Fai clic su Create Job > Deploy Job e assegnagli un nome descrittivo (ad es. “Esecuzione giornaliera in produzione” o “Refresh incrementale di staging”).

- Scegli l’ambiente in cui eseguire il job — in genere sviluppo, staging o produzione.
- Aggiungi uno o più comandi, ad esempio dbt run --models stg_orders.

- Nella sezione Schedule, seleziona la sintassi cron o usa il selettore visivo dell’orario per definire quando eseguire il job (ad es. ogni notte alle 2, ogni lunedì mattina).

- Salva il job e abilita le notifiche email o Slack per aggiornamenti sullo stato delle esecuzioni.
Monitoraggio e logging in tempo reale
dbt Cloud supporta funzionalità di monitoraggio e logging per una migliore osservabilità dei dati. Questo è essenziale per risolvere i problemi e ottimizzare le prestazioni.
Ti consente di:
- Visualizzare i log delle esecuzioni direttamente nella UI.
- Esportare i log per il monitoraggio esterno.
- Inviare notifiche a Slack, email o PagerDuty.
Funzionalità avanzate di dbt Cloud
Oltre alle funzionalità principali di modellazione e orchestrazione, dbt Cloud offre caratteristiche avanzate che portano intelligenza, coerenza e automazione nei workflow di analytics moderni.
Si trovano in due aree principali: il dbt Semantic Layer e strumenti basati su AI come dbt Copilot e Fusion.
Utilizzare il dbt Semantic Layer
Il dbt Semantic Layer fornisce un livello centrale e governato in cui i team possono definire, gestire e servire metriche di business in modo coerente e sotto controllo di versione.
Aiuta a:
- Definire e gestire centralmente le metriche di business.
- Garantire coerenza tra strumenti di BI e analytics.
- Prevenire la deriva delle metriche imponendo un’unica fonte di verità.
Questo livello unificato colma il divario tra trasformazione e visualizzazione dei dati grazie alle connessioni con i più comuni strumenti di BI.
Per un esempio pratico, consulta questo tutorial su come implementare un semantic layer con dbt.
Integrare l’AI con dbt Copilot e Fusion
Una delle funzionalità più recenti, dbt Copilot, è un assistente AI integrato direttamente nell’IDE di dbt Cloud. Aiuta gli sviluppatori a scrivere, eseguire il debug e ottimizzare il codice dbt usando prompt in linguaggio naturale e suggerimenti contestuali.
Con dbt Copilot puoi:
- Generare modelli SQL o macro Jinja a partire da descrizioni in linguaggio naturale.
- Ricevere suggerimenti di completamento per comandi, test e configurazioni dbt.
- Documentare automaticamente i modelli con descrizioni e metadati generati.
- Individuare e correggere problemi comuni di sintassi o dipendenze prima di eseguire i job.
Il motore Fusion è un nuovo engine scritto in Rust per sostituire dbt Core, con molte più funzionalità.
Offre alcuni casi d’uso, come:
- Rilevare SQL errato nei tuoi modelli dbt
- Consentire l’anteprima delle CTE inline per un debug più rapido
- Tracing dei modelli all’interno del tuo progetto dbt
Sicurezza e compliance in dbt Cloud
Nei workflow di trasformazione dei dati, sicurezza e governance sono imprescindibili. Per questo dbt Cloud è costruito con controlli di sicurezza di livello enterprise per proteggere informazioni sensibili, mantenere la compliance e garantire responsabilità tra i team.
Controllo degli accessi basato sui ruoli
dbt Cloud utilizza RBAC (role-based access control) per gestire i permessi utente e limitare l’accesso ad asset critici come progetti, ambienti e credenziali.
I possibili ruoli includono:
- Developer
- Reviewer
- Admin
Per configurare il controllo degli accessi in dbt Cloud:
- Vai alla sezione Impostazioni account, quindi Utenti.
- Assegna gli utenti a ruoli predefiniti o crea ruoli personalizzati per un controllo più granulare.

- Definisci se gli utenti possono gestire ambienti e pianificazioni dei job, modificare credenziali del warehouse o token API e/o approvare deployment del codice o merge request.
- Usa permessi a livello di progetto per separare l’accesso tra più team o dipartimenti.
Audit logging e compliance
dbt Cloud include funzionalità complete di audit logging e compliance progettate per aiutare le organizzazioni a soddisfare rigorosi requisiti di data governance, in linea con standard come SOC 2, GDPR e altri.
Gli audit log permettono anche di indagare sui problemi, e il supporto SCIM migliora l’integrazione per la gestione delle identità.
Integrazione e connettività di dbt Cloud
Una delle maggiori forze di dbt Cloud è la capacità di collegarsi senza attriti all’ecosistema dati più ampio. Si integra facilmente con i principali data warehouse, API, strumenti di orchestrazione e piattaforme di monitoraggio.
Questo lo rende una buona scelta per costruire un workflow di analytics unificato e automatico, dall’ingestione alla visualizzazione. Esploriamo questi aspetti di seguito:
Connettività alle piattaforme dati
dbt Cloud supporta tutti i principali cloud data warehouse e lakehouse, consentendo ai team di eseguire le trasformazioni in modo nativo negli ambienti in cui i dati risiedono già.
Questo elimina la necessità di spostare o duplicare i dati, sfruttando invece le prestazioni e la scalabilità di ciascuna piattaforma.
Le opzioni di integrazione di dbt Cloud includono:
Puoi anche avere più opzioni di autenticazione per piattaforma, come key pair, OAuth o nome utente/password.
Integrazione con API e webhook
Per le organizzazioni che necessitano di estendibilità e automazione, dbt Cloud offre anche una potente REST API e un framework di webhook.
La dbt Cloud API consente agli sviluppatori di:
- Attivare e monitorare programmaticamente le esecuzioni dei job.
- Recuperare artefatti di esecuzione come log, file manifest o SQL compilato.
- Automatizzare i workflow di deployment integrando dbt Cloud nelle pipeline CI/CD (ad es. GitHub Actions, GitLab CI o Azure DevOps).
- Gestire utenti, ambienti e progetti su larga scala.
I webhook di dbt Cloud forniscono un’integrazione basata su eventi, consentendo ai sistemi esterni di rispondere a eventi chiave di dbt come completamento dei job, fallimenti di esecuzione o aggiornamenti di deployment.
I webhook possono essere utilizzati per:
- Inviare avvisi in tempo reale a Slack o Microsoft Teams quando i job falliscono.
- Attivare workflow di gestione degli incident.
- Inoltrare metriche di esecuzione e dati di performance ai sistemi di monitoraggio.
- Aggiornare automaticamente dashboard o cataloghi di metadati quando vengono creati nuovi modelli.
Ottimizzazione delle prestazioni in dbt Cloud
Man mano che le pipeline di dati crescono in scala e complessità, l’osservabilità diventa essenziale per mantenere affidabilità, prestazioni e fiducia.
Ma cosa offre dbt Cloud? Si riduce a due aspetti: monitoraggio delle pipeline e ottimizzazione dei modelli.
Monitorare le pipeline di trasformazione dati
Ogni esecuzione di job è registrata, tracciata e visualizzata all’interno della piattaforma, permettendoti di comprendere lo stato end-to-end delle trasformazioni.
Ad esempio, nella dashboard Run History, dbt Cloud mostra informazioni dettagliate come:
- Durata dell’esecuzione: tempo totale impiegato dal job, suddiviso per modello e step.
- Tracciamento dello stato: indicatori in tempo reale che mostrano se un’esecuzione è in coda, in corso, completata o fallita.
- Log di esecuzione: log dettagliati con query SQL, timestamp e conteggi di righe.
dbt Cloud si integra facilmente anche con strumenti di monitoraggio dei dati come Datadog.
Ottimizzare le prestazioni dei modelli
Grandi trasformazioni monolitiche sono difficili da mantenere e ottimizzare. dbt promuove lo sviluppo modulare, in cui la logica complessa viene suddivisa in modelli più piccoli e riutilizzabili, ciascuno con un compito mirato.
Per ottimizzare le prestazioni, puoi seguire queste buone pratiche:
- Usare le Common Table Expressions (CTE) con parsimonia e rifattorizzare la logica ripetuta in modelli di staging.
- Implementare convenzioni di naming (
stg_,int_,fct_,dim_) per chiarire lo scopo del modello. - Eseguire regolarmente
dbt depsedbt docs generateper convalidare dipendenze e documentazione.
Puoi anche usare materializzazioni incrementali per ridurre i costi di calcolo, come mostrato nel seguente esempio.
{{ config(materialized='incremental') }}
select *
from {{ source('raw', 'events') }}
{% if is_incremental() %}
where event_timestamp > (select max(event_timestamp) from {{ this }})
{% endif %}
Usare dbt Mesh per la collaborazione multi-progetto
Poiché i team dati necessitano di una maggiore condivisione dei dati all’interno di un’organizzazione, dovrai anche considerare le opzioni di collaborazione offerte da dbt Cloud.
Gestire ambienti multi-progetto
dbt Mesh abilita una collaborazione scalabile nelle grandi organizzazioni tramite una governance centralizzata dell’intero data lineage. Consente al tuo team di creare più progetti interdipendenti, ciascuno di proprietà di diverse unità di business o domini di dati.
I principali vantaggi di dbt Mesh includono:
- Scalabilità: ogni team può possedere e distribuire il proprio progetto dbt senza colli di bottiglia dovuti alle dipendenze.
- Riferimenti cross-project: i team possono referenziare in modo sicuro modelli di altri progetti utilizzando interfacce pubbliche ben definite.
- Governance e reperibilità: i modelli condivisi sono catalogati con proprietà, documentazione e versionamento chiari, promuovendo responsabilità e trasparenza.
- Autonomia con allineamento: i team possono innovare in modo indipendente rispettando standard aziendali e regole di governance comuni.
In sostanza, dbt Mesh consente ai team di referenziare modelli tra progetti preservando l’autonomia.
Per esempio, un team finance potrebbe mantenere un progetto “metriche finanziarie core”, mentre il team marketing costruisce un progetto separato che referenzia quei modelli finanziari senza duplicare codice o logica.
dbt Mesh abilita i riferimenti cross-project tramite la funzione ref(), estesa con namespace di progetto. Ad esempio:
SELECT *
FROM {{ ref('finance_project', 'fct_revenue') }}
Questo permette al modello marketing di interrogare direttamente il modello fct_revenue dal progetto finance, usando la versione canonica definita da quel team.
Versioning e contratti per i data model
Per garantire compatibilità all’indietro e fiducia tra progetti, dbt Mesh introduce due meccanismi fondamentali: versionamento dei modelli e contratti dei modelli.
Versionamento dei modelli
Il versionamento dei modelli è uno dei metodi che permette ai team di modificare i propri modelli senza rompere le dipendenze esistenti. Puoi definire più versioni dello stesso modello usando la proprietà versions: nel file YAML del modello.
Per esempio:
models:
- name: fct_revenue
versions:
- v: 1
description: "Initial revenue aggregation"
- v: 2
description: "Includes new discount and refund logic"
Contratti dei modelli
I contratti dei modelli definiscono struttura, tipi di dato e vincoli di un modello. Agiscono come un accordo tra produttori e consumatori di dati.
Quando un modello include un contratto, dbt lo convalida prima dell’esecuzione, assicurando che modifiche allo schema (come l’eliminazione di colonne o incongruenze di tipo) non propaghino errori indesiderati a valle.
Esempio di un contratto semplice:
models:
- name: fct_revenue
contract:
enforced: true
columns:
- name: customer_id
data_type: string
- name: total_revenue
data_type: numeric
- name: report_date
data_type: date
Se qualcuno prova a rimuovere o modificare una colonna contrattualizzata, dbt genererà un errore, proteggendo i modelli e le dashboard dipendenti.
Conclusione
dbt Cloud estende le funzionalità di dbt Core offrendo una piattaforma gestita end-to-end per l’analytics engineering.
In questa guida, abbiamo visto come centralizza lo sviluppo tramite l’IDE Studio, gestisce l’orchestrazione e supporta strumenti più recenti come dbt Mesh e il Semantic Layer.
Integrando questi strumenti in un’unica piattaforma, dbt Cloud consente ai team di gestire l’intero ciclo di vita dei dati, dall’ingestione alla documentazione, senza dover amministrare l’infrastruttura sottostante.
Se vuoi fare pratica con dbt, il nostro skill track dbt Fundamentals offre un modo pratico per iniziare a costruire il tuo primo progetto.
dbt Cloud FAQ
Quali sono le principali differenze tra dbt Cloud e dbt Core?
dbt Core è lo strumento open-source da riga di comando che installi in locale per creare, testare ed eseguire manualmente progetti dbt.
dbt Cloud, invece, è una piattaforma hosted che include un IDE web, pianificazione dei job, strumenti di collaborazione e integrazioni per CI/CD, facilitando la gestione di progetti dbt su larga scala senza configurazioni complesse.
Come gestisce dbt Cloud il controllo versione e la collaborazione?
dbt Cloud si integra direttamente con piattaforme Git come GitHub, GitLab e Bitbucket. Consente agli sviluppatori di modificare il codice, creare branch e inviare pull request all’interno dell’IDE web, garantendo controllo versione e collaborazione del team tramite workflow Git familiari.
Quali sono le funzionalità chiave delle capacità CI/CD di dbt Cloud?
dbt Cloud automatizza test e deployment eseguendo job a ogni pull request o merge del codice. Include controlli pre-merge, integrazione continua per validare i modelli e deployment automatici in ambienti di produzione, garantendo trasformazioni dati affidabili e coerenti.
Come funziona la pianificazione dei job in dbt Cloud?
dbt Cloud ti permette di pianificare i job tramite un’interfaccia intuitiva, dove puoi definire orari di esecuzione, ambienti e dipendenze. Supporta la pianificazione basata sul tempo (come cron) e il chaining dei job, abilitando esecuzioni automatiche delle pipeline e aggiornamenti routinari dei modelli senza intervento manuale.
Quali sono i vantaggi dell’IDE web di dbt Cloud?
L’IDE web semplifica lo sviluppo permettendo di scrivere, testare ed eseguire modelli dbt direttamente nel browser senza installare software locale. Fornisce feedback immediato, documentazione integrata e versionamento Git agevole
Sono Austin, blogger e autore tech con anni di esperienza come data scientist e data analyst nel settore sanitario. Partito dalla biologia, oggi aiuto altri a fare lo stesso passaggio attraverso il mio blog tecnologico. La mia passione per la tecnologia mi ha portato a collaborare come autore con decine di aziende SaaS, ispirando altre persone e condividendo le mie esperienze.


