Il data management è una disciplina incredibilmente varia e complessa, che si compone di varie componenti, come la data replication. In questo contesto si sta progressivamente imponendo una specifica metodologia: il change data capture, che consente di rilevare e notificare le modifiche sui dati in maniera molto più efficiente rispetto ai sistemi tradizionali. Vediamo in cosa consiste e quali sono i vantaggi che le aziende possono ottenere grazie alla sua implementazione. 

Immagine promozionale per il whitepaper su Data Driven

Cos’è il Change Data Capture o CDC

Il change data capture (CDC) identifica il processo di riconoscimento e rilevamento delle modifiche effettuate sui sistemi di gestione dei dati e di condividerli in tempo reale con tutti i sistemi coinvolti in una pipeline di gestione dei dati, favorendo pertanto il mantenimento di un elevato livello di integrazione e coerenza tra i dati stessi e le applicazioni che li utilizzano. 

Il change data capture è una tecnologia avanzata per la data replication che consente di ridurre sensibilmente i tempi e i costi necessari per il data warehouse, favorendo i processi analitici e l’integrazione in tempo reale dei dati lungo tutta la pipeline aziendale. 

Grazie alla capacità di rilevare in real time le modifiche ai dati, il CDC informa di questi cambiamenti il processo ETL (extract, transform and load) dei data warehouse, riducendo la necessità di update massivi nel warehouse stesso, a favore di aggiornamenti più puntuali, mirati e coerenti. 

La corretta implementazione di una piattaforma di CDC consente pertanto di: 

  • – Rilevare tutte le modifiche sui dati: il CDC è progettato per acquisire qualsiasi cambiamento effettuato sui database, rendendo molto più efficienti i metodi tradizionali, che manifestano evidenti limiti nella capacità di aggiornare in tempo reale le modifiche intermedie, come l’aggiornamento e l’eliminazione. 
  • – Riduzione del carico di risorse: il CDC consente un delivery del dato in modalità near real time, che riduce sensibilmente il carico di lavoro della CPU, tradizionalmente causato dal continuo polling. 
  • – Nessun impatto sul data model: il CDC consente di bypassare l’utilizzo delle colonne timestamp per determinare l’ultimo aggiornamento dei dati. 

Perché è importante 

Il change data capture sta diventando con ogni probabilità il modello di data replication più popolare. La sua capacità di condividere soltanto le informazioni più rilevanti e consentire minori oneri sui sistemi di gestione dei dati. Ciò si traduce, oltre che in una sensibile ottimizzazione delle risorse, anche nella capacità di elaborare i dati in tempo reale, come richiesto ad esempio dai processi basati sul continuo streaming dei dati. 

Dal punto di vista del data management, il change data capture è importante in quanto consente di ridurre, come abbiamo visto, l’esigenza di un aggiornare il data warehouse su vasta scala, replicando ogni volta interi database. Dal punto di vista tecnico, ciò si traduce in operazioni più veloci, in grado di abilitare l’integrazione dei dati in tempo reale anche su scala aziendale, favorendo in maniera concreta l’adozione di strategie data-driven. 

Per citare un esempio comune, la possibilità di disporre di dati aggiornati in tempo reale permette alle varie linee di business aziendali di operare simultaneamente su varie applicazioni, come fatture, transazioni, spedizioni, ordini e via dicendo, mantenendo la totale coerenza nelle modifiche effettuate, riducendo ai minimi termini la possibilità di errori e duplicati. 

Il change data capture non va pertanto inteso come un modello di replicazione dei dati oggettivamente efficiente, ma come un vero e proprio abilitatore tecnologico per un’operatività aziendale basata sul flusso dei dati in tempo reale. In altri termini, il CDC consente di allineare tutte le applicazioni in maniera coerente e corretta, grazie alla notifica delle modifiche sui dati. 

Casi d’uso 

Il modello change data capture permette alle imprese di abilitare molte nuove possibilità dal punto di vista della gestione e dell’utilizzo dei dati nei loro processi.

Integrazione dei microservizi 

Il CDC facilita l’utilizzo dei database tradizionali da parte delle moderne applicazioni basate sui microservizi, evitando di dover rifare a priori tutta l’architettura. Il CDC consente il dialogo tra i microservizi e le tradizionali applicazioni legacy, rendendo molto più morbida la transizione verso modelli applicativi più moderni. Ciò agevola ad esempio i processi di migrazione in cloud dei sistemi legacy, riducendo al minimo le discontinuità operative. 

Data replication 

Il change data capture consente la data replication di più database, data lake e data warehouse, assicurando a ciascuna risorsa l’ultima versione dei dati. Questa prospettiva tecnologica consente di abilitare la possibilità di lavorare simultaneamente sugli stessi dati, con la possibilità di mantenerli perfettamente integrati su tutti i sistemi di gestione. Il lavoro su una base di dati unificata ed aggiornata in tempo reale permette quindi alle varie linee di business di lavorare insieme, superando i limiti tradizionalmente imposti dai data silos. 

Ricerca delle informazioni e validazione delle cache 

Il change data capture aggiorna puntualmente l’indicizzazione del testo, consentendo di effettuare ricerche su contenuti sempre aggiornati. Tale concetto si applica anche alla gestione delle cache, in quanto il CDC consente di invalidare i dati obsoleti, aggiornando e validando soltanto le ultime versioni disponibili. 

Disponibilità di dati analitici aggiornati 

Il CDC viene utilizzato anche nell’ambito della business intelligence, in particolare per quanto concerne la data visualization, aggiornando puntualmente i dati descritti nelle varie dashboard applicative. Come vedremo, il CDC costituisce un importante valore aggiunto in termini di supporto decisionale. 

Auditing e compliance dei dati 

Il change data capture, operando in maniera congiunta con altre tecnologie di data management, consente di monitorare i dati per garantire la loro conformità ai disposti normativi e ai contratti vigenti, evitando all’azienda di incorrere in sanzioni e pericolosi danni reputazionali. Oltre a soddisfare i requisiti di compliance del GDPR, il CDC è in grado di supportare sostanzialmente tutti i processi di controllo che vengono effettuati sui dati, rilevando in tempo reale le loro modifiche. 

I vantaggi 

Il change data capture offre una visibilità sulla modifica dei dati capace di garantire una serie di importanti vantaggi e benefici per le aziende che decidono di implementarlo nei loro processi. In altri termini, il CDC consente alle organizzazioni di effettuare decisioni più rapide, grazie alla consapevolezza offerta da processi data driven, in grado di ridurre i tempi e i costi delle operazioni, migliorando i risultati di business. In particolare, il CDC offre un importante contributo nel conseguimento dei seguenti benefici: 

Valorizzazione del dato 

Il CDC facilita le aziende nella valorizzazione delle grandi quantità di dati che vengono continuamente acquisiti ed analizzati dalle applicazioni per ottenere le informazioni utili a soddisfare gli obiettivi di business. In concreto, il CDC permette di aggiornare costantemente i dati presenti nei singoli silos, facilitando l’integrazione nei processi analitici. 

Decisioni migliori 

La rapidità con cui il CDC permette di avere una corretta visibilità del dato si riflette nella costante disponibilità degli insight e dei report che le applicazioni analitiche sono in grado di ottenere grazie al loro lavoro. Ciò consente ai decisori aziendali di disporre di informazioni aggiornate, puntuali e precise per effettuare scelte più mirate e consapevoli a supporto del business. 

Continuità operativa 

Il CDC consente di sincronizzare i dati presenti in più database evitando i classici problemi che altrimenti si ripercuoterebbero sull’operatività stessa, a cominciare dal lavorare su dati in differenti versioni, con tutti i rischi di errore da esso derivanti. Una corretta implementazione del modello change data capture consente di operare con dati in perfetta sincronia, rendendoli simultaneamente disponibili per più applicazioni in condizioni di latenza ridotta. 

CDC e ETL: come si relazionano

Il processo ETL, acronimo di extract, transform and load, è una tecnologia che permette di acquisire i dati provenienti da varie fonti per caricarli su un unico sistema di gestione, come un data warehouse. Al di là di risolvere l’archiviazione nativa, l’ETL è fondamentale nella prospettiva della data quality, per eliminare dispendiose ridondanze, evitare la presenza di versioni differenti dello stesso dato ed ad assicurare la disponibilità dei formati richiesti dalle varie applicazioni analitiche. 

Data l’enorme quantità e varietà di dati con cui le aziende quotidianamente si interfacciano, l’ETL appare fondamentale per automatizzare tutte le operazioni legate all’estrazione, alla trasformazione e al caricamento sui sistemi di gestione, dove vengono resi disponibili per le attività di business intelligence e business analytics. Per tali ragioni, l’ETL costituisce una tecnologia ad oggi irrinunciabile nel contesto del data management. 

In tale contesto, il modello change data capture si propone come una tecnologia perfettamente complementare, migliorando l’efficienza del processo ETL per quanto concerne la replicazione dei dati, grazie alla possibilità di intervenire in tempo reale soltanto sulle modifiche. È interessante notare come ETL e CDC si completino di fatto a vicenda. L’ETL consente infatti di ovviare il vincolo del CDC ai formati di log proprietari e di replicare i dati provenienti da qualsiasi origine. 

Le diverse metodologie di Change Data Capture

Il change data capture opera grazie al controllo delle modifiche nella riga delle tabelle di origine presenti nel database, che descrivono i principali eventi sui dati: inserimento, modifica ed eliminazione. Il CDC consente quindi di acquisire le modifiche effettuate sul database, considerandole quali eventi. 

Il CDC notifica le applicazioni in merito alle variazioni in maniera asincrona, utilizzando un servizio di messaggistica basato sugli eventi. Esistono varie metodologie di CDC. Le più popolari sono lo script-based CDC, il trigger-based CDC e il log-based CDC. 

In particolare, il log-based CDC si rivela il metodo più efficiente e diffuso e si basa su una funzione fondamentale dei database: il registro delle transazioni. 

Nel tipico database aziendale, le modifiche apportate ai dati vengono infatti registrate nel log delle transazioni che consente, tra le altre operazioni, la possibilità di ricostruire la base dei dati in caso di incidenti ed anomalie, facendo riferimento alla versione più aggiornata. 

La metodologia log-based CDC monitora il log delle transazioni per rilevare tutte le eventuali modifiche. Quando queste si verificano, il CDC le notifica in maniera dettagliata al data warehouse di destinazione, ai fini di rendere disponibili alle applicazioni la versione più aggiornata dei dati in tempo reale, senza la necessità di dover replicare periodicamente l’intero database. 

Immagine promozionale per il whitepaper su Data Driven
ARGOMENTI CORRELATI
Categoria: ANALYTICS
Concept di due colleghi che lavorano insieme a dati aziendali

Data catalog: cos’è e perché è necessario

La gestione dei dati all’interno di un’organizzazione comporta oggi una serie di importanti sfide, da cui dipende il successo delle… Leggi tutto

Ragazza che guarda il monitor di un pc osservando numeri e dati

Big data management: come usare e gestire i big data

L’era dei big data ha portato la gestione dei dati (data management) entro scenari di varietà e complessità senza precedenti… Leggi tutto

Concept per far capire le potenzialità dei Big Data Analytics: esempi di cruscotti che restituiscono informazioni utili

Big Data Analytics: cos’è e perché è importante

Quando si parla di big data analytics ci si riferisce, solitamente, all’analisi avanzata di grandi volumi di dati. Prendere decisioni… Leggi tutto