Che cos'è Change Data Capture?

Una donna lavora con un laptop in magazzino.

Autori

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Che cos'è il Change Data Capture?

Change Data Capture, o CDC, è una tecnica per identificare e registrare le modifiche ai dati in un database. Il CDC trasmette queste modifiche in tempo reale ai diversi sistemi di destinazione, consentendo la sincronizzazione dei dati all'interno di un'organizzazione immediatamente dopo che si verifica una modifica al database.

 

Change Data Capture è un metodo di integrazione in tempo reale, che combina e e armonizza i dati isolati o non coerenti in tutta l'organizzazione. Altri metodi includono l'integrazione dei dati in streaming, la virtualizzazione dei dati e l'integrazione delle applicazioni.

La capacità del CDC di mantenere i sistemi aggiornati in tempo reale (e con bassa latenza) è fondamentale per il successo dell'analytics dei dati in tempo reale, delle migrazioni cloud e persino dei modelli AI. Offre una varietà di casi d'uso in diversi settori, dal retail alla finanza fino all'assistenza sanitaria, supportando il rilevamento delle frodi, la gestione della supply chain e la conformità normativa.

Esistono diversi approcci al Change Data Capture, tra cui CDC basato sui log, CDC basato sul timestamp e CDC basato su trigger, tra i più comuni. Le aziende possono implementare il Change Data Capture attraverso strumenti nativi per database, piattaforme open source e soluzioni di terze parti.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Qual è il vantaggio del Change Data Capture?

Nella moderna gestione dei dati, il Change Data Capture è emerso come un meccanismo critico di ingegneria dei dati. I moderni ambienti di dati aziendali sono sempre più grandi e complessi. Possono contenere dati provenienti da dispositivi Internet of Things (IoT), database distribuiti, applicazioni e altre fonti diverse. Mantenere dati coerenti e di qualità in questo ecosistema di dati in crescita è una sfida continua.

Allo stesso tempo, il business richiede informazioni accurate e aggiornate che possano essere utilizzate per il processo decisionale in tempo reale. Il Change Data Capture è uno dei vari metodi che aiutano le organizzazioni a soddisfare questa domanda.

Il Change Data Capture consente una pipeline di dati a bassa latenza che fornisce dati aggiornati in un modo più efficiente e meno dispendioso in termini di risorse rispetto ad altri metodi di integrazione dei dati. Ad esempio, la replica dei dati comporta la copia di set di dati completi. Al contrario, il CDC invia solo i dati che sono stati modificati, riducendo così il carico sui sistemi di origine, il traffico di rete e la richiesta di potenza di calcolo.

In questo modo, li aiuta ad accedere alle informazioni più recenti e accurate in modo rapido ed efficiente, con diversi vantaggi tra cui:

Processo decisionale in tempo reale

Un flusso in tempo reale di modifiche ai dati consente l'analytics dei dati e la business intelligence in tempo reale. Con queste funzionalità, le aziende possono supportare le esigenze dei moderni ambienti aziendali sensibili al fattore tempo, 24 ore su 24, 7 giorni su 7.

Migrazione cloud di successo

Durante le migrazioni on-premise, il CDC trasferisce rapidamente le modifiche dei dati che si verificano on-premise alle tabelle di dati cloud pertinenti, garantendo la coerenza tra i due ambienti. Questa funzionalità riduce inoltre al minimo i tempi di inattività del sistema durante la migrazione.

Miglioramento del processo ETL

Le pipeline di dati ETL (estrazione, trasformazione, caricamento) sono parte integrante dell'analisi dei dati e dei flussi di lavoro di machine learning. Tuttavia, l'esecuzione ETL, che si basa sull'elaborazione in batch, tende ad essere molto lenta e a pesare sulle risorse del sistema. L'integrazione del CDC in ETL ottimizza l'uso delle risorse e accelera lo spostamento dei dati.

Migliori prestazioni di intelligenza artificiale (AI)

Implementare il Change Data Capture aiuta a garantire che i dati di origine del modello siano aggiornati, in modo che i modelli linguistici di grandi dimensioni (LLM) possano fornire output accurati e tempestivi. Ad esempio, nei casi d'uso della retrieval-augmented generation (RAG), i modelli AI si connettono con basi di conoscenza esterne per risposte più pertinenti.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona l'acquisizione dei dati di modifica?

Il Change Data Capture identifica e registra gli eventi di modifica che avvengono in varie fonti di dati. Queste fonti possono includere database relazionali come Oracle, PostgreSQL, MySQL, Microsoft Azure SQL, Microsoft SQL Server e database non relazionali (NoSQL) come Apache Cassandra e MongoDB.

Una volta identificate, le modifiche vengono trasferite dal database di origine in tempo reale (o quasi) ai sistemi di destinazione. Storage di dati come data lake e data warehouse, real-time analytics e piattaforme di streaming di dati come Kafka e Apache Spark, e soluzioni ETL (estrazione, trasformazione, caricamento) e ELT (estrazione, caricamento, trasformazione) sono tutti esempi di sistemi target.

Il Change Data Capture può essere avviato dai sistemi di destinazione (approccio noto come "push") o dai sistemi di origine (approccio "pull"). Nel primo caso, un sistema sorgente invia modifiche ai sistemi di destinazione. Nel secondo, un sistema di destinazione interroga regolarmente i sistemi di origine ed estrae le modifiche quando vengono trovate.

Metodi comuni di Change Data Capture

Esistono diversi metodi per eseguire il Change Data Capture. I tipi di CDC più comuni includono: 

  • CDC basato su log
  • CDC basato su timestamp
  • CDC basato su trigger

CDC basato su log

I log delle transazioni del database sono una caratteristica standard dei database e vengono utilizzati per registrarne tutte le transazioni (i file di registro delle transazioni possono essere utilizzati per ripristinare i database in caso di guasto del sistema).

Nel CDC basato sui log, un'applicazione CDC elabora le modifiche al database registrate nel registro e condivide gli aggiornamenti con altri sistemi. Il CDC basato sui log è diventato sempre più popolare, in parte perché fa affidamento sui log anziché sulle query, che potrebbero degradare le prestazioni del sistema di origine. Tuttavia, la variazione dei formati dei log delle transazioni può complicare l'esecuzione di CDC basata su log in database diversi.

CDC basato su timestamp

Il Change Data Capture basato sul timestamp, noto anche come CDC basato su query, richiede che gli schemi delle tabelle del database presentino caratteristiche come colonne con timestamp, che annotano la data e l'ora delle modifiche ai record. Uno strumento CDC può essere utilizzato per identificare i record modificati tramite la colonna timestamp in una tabella di origine, per poi fornire aggiornamenti ai sistemi di destinazione.

Sebbene il CDC basato sul timestamp possa essere semplice da implementare, può anche sovraccaricare un sistema quando il polling dei dati di timestamp avviene frequentemente. Inoltre, il CDC basato su timestamp non riesce ad acquisire le operazioni di eliminazione quando il timestamp viene eliminato insieme al resto di una riga.

CDC basato su trigger

Nel Change Data Capture basato su trigger, le procedure o le funzioni memorizzate note come trigger del database vengono eseguite quando si verificano modifiche specifiche (come inserimenti, eliminazioni e aggiornamenti) in un database. I dati modificati vengono quindi memorizzati in quella che viene spesso chiamata tabella delle modifiche o tabella shadow.

Come nel caso del CDC basato sul timestamp, il CDC basato su trigger può essere semplice da implementare. Tuttavia, può anche pesare sui sistemi di origine perché i trigger vengono "attivati" ogni volta che si verifica una transazione nella tabella di origine.

Strumenti di Change Data Capture

Gli strumenti che eseguono il Change Data Capture possono essere nativi di ambienti e sistemi di database specifici, come AWS Database Migration Service, oppure implementati in modo più ampio. Le soluzioni software di Change Data Capture non native includono piattaforme open source come Debezium e piattaforme commerciali come IBM Streamsets e Oracle GoldenGate.

Nel valutare la soluzione da scegliere, le aziende possono prendere in considerazione fattori come prezzi, connettori ai sistemi di origine e destinazione e interfacce di programmazione delle applicazioni (API) per l'integrazione dei sistemi.

Casi d'uso del Change Data Capture

Le aziende possono distribuire il Change Data Capture per una varietà di usi, tra cui:

Rilevazione di frodi

Il monitoraggio continuo delle modifiche apportate ai documenti finanziari tramite Change Data Capture consente il rilevamento di attività fraudolente prima che causino perdite significative.

Abilitazione dell'Internet of Things (IoT)

Il CDC può integrare in modo efficiente le enormi quantità di dati in tempo reale generati dai dispositivi IoT, consentendo la manutenzione predittiva e il monitoraggio in tempo reale.

Gestione dell'inventario e della supply chain

L'accesso a informazioni in tempo reale su vendite, inventario e supply chain supportate dal Change Data Capture aiuta le aziende a evitare l'esaurimento delle scorte e a prendere decisioni redditizie su prezzi.

Conformità normativa

Il Change Data Capture aiuta le aziende altamente regolamentate a tenere registri accurati necessari per la rendicontazione e la conformità a normative e leggi come il GDPR, il Sarbanes-Oxley (SOX) Act e l'HIPAA negli Stati Uniti.

Soluzioni correlate
IBM StreamSets

Crea e gestisci pipeline di dati intelligenti in streaming attraverso un'interfaccia grafica intuitiva, che facilita la perfetta integrazione dei dati in ambienti ibridi e multicloud.

Esplora StreamSets
IBM Databand

Scopri IBM Databand, software di osservabilità per pipeline di dati. Raccoglie automaticamente i metadati per creare linee di base cronologiche, rilevare anomalie e creare workflow per correggere i problemi di qualità dei dati.

Esplora Databand
Soluzioni di integrazione dei dati

Crea pipeline di dati resilienti, ad alte prestazioni e ottimizzate in termini di costi per le tue iniziative di AI generativa, real-time analytics, modernizzazione del data warehouse e per le tue esigenze operative con le soluzioni IBM per l'integrazione dei dati.

Scopri le soluzioni per l'integrazione dei dati
Fai il passo successivo

Scopri IBM DataStage, uno strumento ETL (Extract, Transform, Load) che offre un'interfaccia visiva per progettare, sviluppare e distribuire pipeline di dati. È disponibile come SaaS gestito su IBM Cloud, per il self-hosting e come componente aggiuntivo di IBM Cloud Pak for Data.

Esplora DataStage Esplora i servizi di analytics