Insamling av ändringsdata (CDC) i kopieringsjobb

Den här artikeln beskriver change data capture-funktionen (CDC) i copy job och hur man använder den.

Vad är ändringsdatainsamling (CDC) i ett kopieringsjobb

Förändringsdatafångst (CDC) i kopieringsjobb är en kraftfull funktion i Fabric Data Factory som möjliggör effektiv och automatiserad replikering av ändrad data, inklusive infogade, uppdaterade och raderade poster från en källa till en destination. Detta säkerställer att dina måldata förblir uppdaterade utan manuell ansträngning, vilket förbättrar effektiviteten i dataintegreringen samtidigt som belastningen på källsystemet minskar.

Viktiga fördelar med CDC vid kopieringsjobb

  • Noll manuell åtgärd: Samlar automatiskt in inkrementella ändringar (infogningar, uppdateringar, borttagningar) direkt från källan.
  • Automatisk replikering: Håller måldata kontinuerligt synkroniserade med källändringar.
  • Optimerad prestanda: Processer har bara ändrat data, vilket minskar bearbetningstiden och minimerar belastningen på källan.
  • Smartare inkrementell kopia: Identifierar automatiskt CDC-aktiverade källtabeller och gör att du kan välja antingen CDC-baserad eller vattenstämpelbaserad inkrementell kopia för varje tabell.

Läsmetoder: CDC-baserad jämfört med Vattenstämpelbaserad inkrementell kopia

  • CDC-baserad inkrementell kopiering: Om din källdatabas har CDC aktiverat, fångar kopieringsjobbet automatiskt in och replikerar insättningar, uppdateringar och raderingar till destinationen, och applicerar exakt de ändringarna.
  • Vattenmärkesbaserad inkrementell kopiering: Om CDC inte är aktiverat i din källdatabas, upptäcker kopieringsjobbet ändringar genom att jämföra en inkrementell kolumn (t.ex. tidsstämpel eller ID) mot senaste körning, och lägger sedan till eller slår ihop den ändrade datan till destinationen baserat på din konfiguration.

Skrivmetoder: SCD Typ 1 (sammanslagning) jämfört med SCD Typ 2

När du använder CDC i copy job är det viktigt att förstå hur ändringar tillämpas på din destination. Den uppdateringsmetod som du väljer korrelerar till långsamt föränderliga dimensionsmönster (SCD) som ofta används i datalager.

SCD-typ 1 (Merge)

SCD typ 1, även känd som uppdateringsmetoden Merge, är standardbeteendet för CDC i kopieringsjobb. Med den här metoden återspeglar målet alltid det aktuella tillståndet för källdata:

  • Infogar: Nya rader från källan läggs till i destinationen.
  • Uppdateringar: Ändrade rader i källan skriver över de motsvarande raderna i destinationen.
  • Borttagningar: Borttagna rader i källan tas bort ur destinationen.

Den här metoden behåller endast den senaste versionen av varje post. Inga historiska data bevaras. Det är idealiskt när du behöver att destinationen ska vara en exakt och uppdaterad kopia av källan.

SCD Typ 2 (historisk spårning)

SCD-typ 2 bevarar historiska data genom att skapa nya rader för ändringar samtidigt som tidigare versioner av poster bevaras. När en källpost identifieras som uppdaterad från den senaste körningen, görs den befintliga aktuella posten i målet ogiltig genom att dess Valid_To ställs in och Is_Current ändras till false. En ny post infogas sedan med de uppdaterade attributvärdena, en ny Valid_Fromoch Is_Current = true. När en post tas bort vid källan tas den aktuella versionen bort – den tas inte bort fysiskt, men dess Valid_To datum anges och Is_Current markeras som falskt. Den här metoden bevarar hela livscykeln för varje post när du skriver till målet, inklusive poster som inte längre finns i källan.

CDC i kopieringsjobbet ger inbyggt stöd för SCD Typ 2 som skrivmetod. För att aktivera SCD Type 2, välj den som skrivmetod när du konfigurerar ditt kopieringsjobb — ingen anpassad kod eller ytterligare logik krävs. Både historikspårning och hantering av mjuk borttagning aktiveras tillsammans och tillämpas konsekvent i alla valda tabeller.

SCD Typ 2 i kopieringsjobbet lägger till följande kolumner till destinationen:

  • Valid_From: Tidsstämpeln för när dataregistreringen blev effektiv.
  • Valid_To: Tidsstämpeln när postens version ersattes eller borttogs. Aktiva poster använder NULL-värde.
  • Is_Current: En flagga som anger om posten är den aktuella aktiva versionen.

Om en kund till exempel flyttar från Kalifornien till New York bevaras båda versionerna:

Kundnyckel Kund-ID Namn Tillstånd Giltig_från Giltigt_Till Is_Current
1001 C-123 Företag CA 2023-01-15 2026-02-20 No
1002 C-123 Företag NY 2026-02-20 NOLL Ja

Välja mellan SCD Typ 1 och SCD Typ 2

Feature SCD-typ 1 (Merge) SCD-typ 2 (förhandsversion)
Stödd i CDC:s kopieringsjobb Ja Ja
Historiska data Inte bevarad Bevaras med versionshanterade rader
Måltillstånd Återspeglar alltid aktuell källa Innehåller alla versioner av poster i jämförelse med den senaste körningen
Tar bort Rader tas bort fysiskt Mjuk borttagning – rader markeras som inaktiva
Användningsfall Driftrapportering, realtidssynkronisering Historisk analys, granskningsloggar, regulatorisk efterlevnad
Implementeringsarbete Inbyggd, ingen extra konfiguration Inbyggd, välj SCD Typ 2 som skrivmetod

Stödda kopplingar

För närvarande stöder CDC i copy job följande käll- och destinationsdatalagringar:

Connector CDC-källa CDC-mål Skriv – SCD-typ 2
Azure SQL-databas
Azure SQL Managed Instance
Fabric-datalager
Fabric Lakehouse-tabell (förhandsversion)
Google BigQuery (förhandsversion)
Lokalt installerade SQL Server
Oracle (förhandsversion)
SAP Datasphere utgående dataflöde för ADLS Gen2
SAP Datasphere Export för AWS S3
SAP Datasphere Outbound för Google CloudStorage
Snowflake (förhandsversion)
SQL-databasen i Fabric
Synapse Data Warehouse

Note

SCD-typ 2 i kopieringsprocessen är för närvarande i beta-version. När du utför CDC-replikering från Oracle-källor stöds inte SCD-typ 2 ännu. Om du skapar schemat i måldatabasen stöds inte SCD2.

För UTgående SAP-datasfär går du till Ändra datainsamling från SAP via SAP Datasphere Outbound i Kopieringsjobb för att få mer information.

Schemaändringar och ändringar av källdatatyp

Kopieringsjobbet hanterar källschemaändringar baserat på om kolumnmappning har konfigurerats.

När kolumnmappning har konfigurerats

När en kolumnmappning konfigureras respekterar och följer kopieringsjobbet alltid den.

  • Ny kolumn har lagts till i källan: Kopieringsjobbet ignorerar den nya kolumnen eftersom den inte ingår i kolumnmappningen. Körningarna fortsätter att vara lyckade, och den nya kolumnen synkroniseras inte till destinationen.
  • Kolumn som tagits bort vid källan: Om en källkolumn som aldrig ingick i kolumnmappningen tas bort påverkas inte. Körningarna fortsätter att lyckas eftersom den borttagna kolumnen aldrig synkroniserades. Om en källkolumn som definieras i kolumnmappningen tas bort eller byter namn misslyckas körningen eftersom den mappade källkolumnen inte längre kan hittas.
  • Ändringar av källdatatyp: Kopieringsjobbet respekterar de datatyper som anges i kolumnmappningen, och kompatibilitetshantering av körningstyp gäller. Källdatatypen måste kunna typomvandlas till måldatatypen. Om den uppdaterade källtypen inte kan överföras till måltypen misslyckas körningen.

När kolumnmappning inte har konfigurerats

När ingen kolumnmappning konfigureras följer kopieringsjobbet nedan.

  • Ny kolumn har lagts till i källan: Körningarna fortsätter att slutföras, och den nya kolumnen synkroniseras inte till målet.
  • Kolumnen har tagits bort vid källan: Den borttagna kolumnen synkroniseras inte längre. Befintliga data för den kolumnen i målet tas inte bort, och körningarna fortsätter att slutföras utan fel utan att överföra nya data för den kolumnen.
  • Ändringar av källdatatyp: Kompatibilitetshantering av körningstyp gäller. Källdatatypen måste kunna typomvandlas till måldatatypen. Om den uppdaterade källtypen inte kan överföras till måltypen misslyckas körningen.

Så här kommer du igång

För att komma igång med CDC i kopieringsjobbet, se följande handledningar för steg-för-steg-vägledning om specifika källor:

Kända begränsningar

  • När både CDC-aktiverade och icke-CDC-aktiverade källtabeller väljs i ett kopieringsjobb behandlas alla tabeller som vattenmärkesbaserad inkrementell kopia.
  • Endast nettoändringsinsamling (fullständig ändringsinsamling kommer senare).
  • Anpassade avbildningsinstanser stöds inte. endast standardinstansen för avbildning stöds.
  • Om CDF är aktiverat eller inte på Fabric lakehouse-bord kan inte automatiskt upptäckas.