Il sito usa solo cookie tecnici necessari al funzionamento: nessun tracciamento, nessuna profilazione. Cookie Policy

Salta al contenuto
Tutti i termini

Cos'è il CDC (Change Data Capture)?

Tecnica che cattura le modifiche di un database sorgente (insert, update, delete) e le propaga alla piattaforma dati quasi in tempo reale.

Il CDC (Change Data Capture) è la tecnica che cattura le modifiche di un database (nuove righe, aggiornamenti, cancellazioni) e le propaga verso un altro sistema quasi in tempo reale. Invece di ricopiare ogni notte intere tabelle, il CDC trasferisce solo ciò che è cambiato, nel momento in cui cambia. È il meccanismo dietro la maggior parte delle sincronizzazioni "near real-time" tra i sistemi operativi e la piattaforma dati. L'approccio più diffuso legge il transaction log che ogni database transazionale mantiene già per garantire l'integrità dei dati, trasformando ogni scrittura in un evento consegnato a valle senza interrogare la sorgente con query ripetute. È il meccanismo alla base sia della sincronizzazione continua tra sistemi operativi e piattaforma dati, sia delle migrazioni senza downtime, dove vecchio e nuovo database restano allineati mentre entrambi sono ancora in produzione.

Come funziona

L'approccio più robusto è quello log-based: ogni database transazionale tiene un registro interno di tutte le scritture (il transaction log), che usa per garantire l'integrità dei dati. Gli strumenti di CDC (Debezium in ambito open source, i servizi di replica dei cloud provider, o le funzioni native delle piattaforme dati) leggono quel log e trasformano ogni modifica in un evento da consegnare a valle. Il vantaggio decisivo: il sistema sorgente non viene interrogato con query continue, quindi il gestionale o l'e-commerce non rallentano. Le alternative sono tre, e vanno distinte. Il query-based filtra su una colonna di ultima modifica: è il più semplice da mettere in piedi, ma non vede le cancellazioni e interroga la sorgente a ripetizione. Il trigger-based scrive le modifiche in una tabella di audit dentro la stessa transazione, quindi cattura anche le delete, al prezzo di rallentare ogni scrittura sulla sorgente e di trigger da manutenere a ogni cambio di schema. Il confronto integrale delle tabelle a intervalli vede tutto, ma costa quanto ricopiare l'intero database ogni volta. Su volumi contenuti restano tutte praticabili; il log-based è quello che scala senza toccare la sorgente.

Perché conta per la tua azienda

Due scenari lo rendono prezioso. Il primo è la sincronizzazione continua: dashboard, applicazioni e modelli che lavorano su dati aggiornati a pochi secondi fa, senza aspettare il caricamento notturno e senza costruire una vera architettura streaming. Il secondo sono le migrazioni senza downtime: quando sposti un database o un gestionale, il CDC mantiene vecchio e nuovo sistema allineati mentre entrambi sono in funzione, così il passaggio finale dura minuti invece di un weekend di fermo. È anche il modo più sano di alimentare un data lakehouse dai sistemi operativi: ogni modifica arriva come evento, con la sua storia, invece di sovrascrivere fotografie intere. Il prezzo da pagare è una pipeline in più da presidiare: il CDC va monitorato, perché un ritardo silenzioso produce dati vecchi che sembrano freschi.

  • Data ingestion · Il processo che porta i dati dalle sorgenti (gestionale, CRM, sensori, API) alla piattaforma dati: in batch, in streaming o via CDC.
  • Batch vs streaming · Il batch elabora i dati a blocchi programmati, lo streaming appena arrivano: la scelta dipende da quanto vale davvero la freschezza del dato.
  • ETL vs ELT · Stesse tre operazioni, ordine diverso: l'ETL trasforma i dati prima di caricarli, l'ELT li carica grezzi e li trasforma nella piattaforma di destinazione.
  • Database per servizio · Ogni microservizio possiede il proprio archivio dati e nessun altro lo legge direttamente: solo tramite le sue interfacce.
  • Strangler fig pattern · Sostituire un sistema legacy per gradi, instradando il traffico verso il nuovo finché il vecchio non serve più.

Un termine che ti riguarda da vicino? Parliamone.

CONTATTAMI