Change Data Capture (CDC) nel processo di copia

Questo articolo descrive la funzionalità Change Data Capture (CDC) nel processo di copia e come usarla.

Informazioni su Change Data Capture (CDC) nel processo di copia

Change Data Capture (CDC) nel processo di copia è una potente funzionalità di Fabric Data Factory che consente una replica efficiente e automatizzata dei dati modificati, inclusi i record inseriti, aggiornati ed eliminati da un'origine a una destinazione. Ciò garantisce che i dati di destinazione rimangano aggiornati senza sforzo manuale, migliorando l'efficienza nell'integrazione dei dati riducendo al contempo il carico nel sistema di origine.

Vantaggi principali di CDC nell'attività di copia

  • Nessun intervento manuale: acquisisce automaticamente le modifiche incrementali (inserimenti, aggiornamenti, eliminazioni) direttamente dall'origine.
  • Replica automatica: mantiene i dati di destinazione sincronizzati continuamente con le modifiche all'origine.
  • Prestazioni ottimizzate: elabora solo i dati modificati, riducendo il tempo di elaborazione e riducendo al minimo il carico sull'origine.
  • Copia incrementale più intelligente: rileva automaticamente le tabelle di origine abilitate per CDC e consente di selezionare la copia incrementale basata su CDC o basata su filigrana per ogni tabella.

Metodi di lettura: copia incrementale basata su CDC e basata su marchio temporale

  • Copia incrementale basata su CDC: se il database di origine ha abilitato CDC, il processo di copia acquisisce e replica automaticamente inserimenti, aggiornamenti ed eliminazioni nella destinazione, applicando le modifiche esatte.
  • Copia incrementale basata su marcatore: se CDC non è abilitato nel database di origine, il processo di copia rileva le modifiche confrontando una colonna incrementale (ad esempio, timestamp o ID) con l'ultima esecuzione, appende o unisce i dati modificati alla destinazione in base alla configurazione.

Metodi di scrittura: scD Type 1 (Merge) e SCD Type 2

Quando si usa CDC nel processo di copia, è importante comprendere come vengono applicate le modifiche alla destinazione. Il metodo di aggiornamento scelto si mappa sui modelli di dimensioni a variazione lenta (SCD) comunemente usati nel magazzino dati.

Tipo SCD 1 (unione)

ScD Type 1, noto anche come metodo di aggiornamento merge , è il comportamento predefinito per CDC nel processo di copia. Con questo approccio, la destinazione riflette sempre lo stato corrente dei dati di origine:

  • Inserimenti: vengono aggiunte nuove righe dall'origine alla destinazione.
  • Aggiornamenti: le righe modificate nell'origine sovrascrivono le righe corrispondenti nella destinazione.
  • Eliminazioni: le righe eliminate nell'origine vengono rimosse dalla destinazione.

Questo metodo mantiene solo la versione più recente di ogni record. Non vengono conservati dati cronologici. È ideale quando è necessario che la destinazione sia una replica esatta e aggiornata della sorgente.

Tipo SCD 2 (tracciamento storico)

Il tipo SCD 2 mantiene i dati cronologici creando nuove righe per le modifiche mantenendo al tempo stesso le versioni precedenti dei record. Quando un record di origine viene rilevato come aggiornato dall'ultima esecuzione, il record corrente esistente nella destinazione viene marcato come scaduto impostando Valid_To e modificando Is_Current su false. Viene quindi inserito un nuovo record con i valori degli attributi aggiornati, un nuovo Valid_Frome Is_Current = true. Quando un record viene eliminato nell'origine, la versione corrente viene eliminata temporaneamente, ma non viene rimossa fisicamente, ma la data Valid_To viene impostata e Is_Current contrassegnata come false. Questo approccio mantiene il ciclo di vita completo di ogni record durante la scrittura nella destinazione, inclusi i record che non esistono più nell'origine.

CDC nel Copy job offre il supporto integrato per SCD Type 2 come metodo di scrittura. Per abilitare scD Type 2, selezionarlo come metodo di scrittura durante la configurazione del processo di copia. Non è necessario alcun codice personalizzato o logica aggiuntiva. Sia il rilevamento della cronologia che la gestione dell'eliminazione temporanea vengono abilitati insieme e applicati in modo coerente in tutte le tabelle selezionate.

ScD Type 2 nel processo di copia aggiunge le colonne seguenti alla destinazione:

  • Valid_From: Il marcatempo in cui la versione del record è entrata in vigore.
  • Valid_To: Il timestamp quando la versione del record è stata sostituita o eliminata. I record attivi usano il valore NULL.
  • Is_Current: flag che indica se il record è la versione attiva corrente.

Ad esempio, se un cliente passa dalla California a New York, entrambe le versioni vengono mantenute:

Chiave del Cliente ID cliente Nome stato Valido_da Valido fino a È_Corrente
1001 C-123 Azienda CA 2023-01-15 2026-02-20 No
1002 C-123 Azienda New York 2026-02-20 NULLO

Scelta tra il tipo SCD 1 e il tipo 2

Feature Tipo SCD 1 (unione) SCD Type 2 (Anteprima)
Supportato nel processo di copia CDC
Dati storici Non mantenuto Mantenuto con righe versionate
Stato destinazione Riflette sempre la fonte corrente Contiene tutte le versioni dei record in confronto con l'ultima esecuzione
Elimina Le righe vengono rimosse fisicamente Eliminazione temporanea: le righe sono contrassegnate come inattive
caso d'uso Creazione di report operativi, sincronizzazione in tempo reale Analisi cronologica, audit trail, conformità
Impegno di implementazione Predefinita, nessuna configurazione aggiuntiva Predefinita, selezionare SCD Type 2 come metodo di scrittura

Connettori supportati

Attualmente, CDC in Copy job supporta gli archivi dati di origine e di destinazione seguenti:

Connector Fonte Destinazione Leggi - CDC Scrivi - Unisci Scrivere - SCD Type 2
DB di Azure SQL
Istanza gestita di SQL di Azure (Istanza Gestita di SQL di Azure)
tabella Fabric Lakehouse (anteprima)
Google BigQuery (anteprima)
SQL Server locali
SAP Datasphere In uscita per ADLS Gen2
SAP Datasphere In uscita per AWS S3
Sap Datasphere In uscita per Google CloudStorage
Snowflake (anteprima)
Oracle (anteprima)
Database SQL nell'ambiente Fabric
Fabbrica Data Warehouse

Note

Il tipo 2 di scD nel processo di copia è attualmente in anteprima. Quando si esegue la replica CDC da fonti Snowflake o Oracle, il tipo SCD 2 non è ancora supportato. Se lo schema del database di destinazione è già stato creato manualmente, SCD2 non può essere supportato.

Per il modulo SAP Datasphere Outbound, vai a Change Data Capture da SAP tramite il modulo SAP Datasphere Outbound nel job di copia per ulteriori dettagli.

Modifiche allo schema e modifiche al tipo di dati di origine

Il processo di copia gestisce le modifiche dello schema di origine in base alla configurazione del mapping delle colonne.

Quando viene configurata la mappatura delle colonne

Quando viene configurata una mappatura delle colonne, il processo di copia si attiene sempre ad essa.

  • Nuova colonna aggiunta nell'origine: il processo di copia ignora la nuova colonna perché non fa parte del mapping delle colonne. Le esecuzioni continuano ad avere esito positivo e la nuova colonna non viene sincronizzata con la destinazione.
  • Colonna eliminata nell'origine: se una colonna di origine che non faceva mai parte del mapping delle colonne viene eliminata, non si verifica alcun impatto. Le esecuzioni continuano ad avere esito positivo perché la colonna eliminata non è mai stata sincronizzata. Se una colonna di origine definita nel mapping delle colonne viene eliminata o rinominata, l'esecuzione non riesce perché non è più possibile trovare la colonna di origine mappata.
  • Modifiche al tipo di dati di origine: il processo di copia rispetta i tipi di dati specificati nel mapping delle colonne e si applica la gestione della compatibilità dei tipi di runtime. Il tipo di dati di origine deve poter essere convertito nel tipo di dati di destinazione. Se non è possibile convertire il tipo di origine aggiornato nel tipo di destinazione, l'esecuzione ha esito negativo.

Quando il mapping delle colonne non è configurato

Quando non è configurato alcun mapping di colonne, il processo di copia segue quanto segue.

  • Nuova colonna aggiunta nell'origine: le esecuzioni continuano ad avere esito positivo e la nuova colonna non viene sincronizzata con la destinazione.
  • Colonna eliminata nell'origine: la colonna eliminata non è più sincronizzata. I dati esistenti per tale colonna nella destinazione non vengono rimossi e le esecuzioni continuano a avere esito positivo senza trasferire nuovi dati per tale colonna.
  • Modifiche al tipo di dati di origine: si applica la gestione della compatibilità dei tipi di runtime. Il tipo di dati di origine deve poter essere convertito nel tipo di dati di destinazione. Se non è possibile convertire il tipo di origine aggiornato nel tipo di destinazione, l'esecuzione ha esito negativo.

Come iniziare

Per iniziare a usare CDC nell'attività di copia, consultare le seguenti esercitazioni per istruzioni dettagliate su fonti specifiche:

Limitazioni note

  • Quando le tabelle di origine abilitate per CDC e non abilitate per CDC vengono selezionate in un processo di copia, tutte le tabelle vengono considerate come copia incrementale basata su filigrana.
  • Solo cattura delle modifiche nette (cattura completa delle modifiche in arrivo in un secondo momento).
  • Le istanze di acquisizione personalizzate non sono supportate; è supportata solo l'istanza di acquisizione predefinita.
  • Non è possibile rilevare automaticamente se CDF è abilitato o meno nelle tabelle Fabric Lakehouse.