Feed di dati delle modifiche differenziali nel mirroring per Fabric

Delta Change Data Feed (CDF) acquisisce inserimenti, aggiornamenti ed eliminazioni, quindi li applica alle tabelle Delta Lake in OneLake. Questo flusso supporta l'analisi quasi in tempo reale senza ricarichi completi o processi ETL pesanti.

  • Elabora continuamente le modifiche incrementali (basate su delta).
  • Utilizza l'elaborazione solo delle modifiche.
  • Supporta l'elaborazione incrementale downstream.
  • È disponibile per tutte le fonti di mirroring, inclusi i partner di mirroring pubblico.

Prerequisites

  • Una capacità di Microsoft Fabric (F2 o superiore) o una versione di valutazione di Fabric.
  • Un database con mirroring in un'area di lavoro Fabric.
  • Esiste una Fabric Lakehouse nella stessa o in un'altra area di lavoro (per l'esecuzione di query sui dati CDF)

Attivare il feed dei dati delle modifiche delta nel portale di Fabric

Abilita il feed dei dati delle modifiche delta per ogni database sottoposto a mirroring.

  1. Per qualsiasi origine con mirroring, selezionare l'icona a forma di ingranaggio per aprire il pannello di configurazione.
  2. In Gestione tabelle Delta selezionare la casella di controllo Abilita feed di dati delle modifiche differenziali.

Schermata del dashboard di configurazione del mirroring del database Oracle che mostra le impostazioni del feed dati delle modifiche delta, le opzioni di accesso ai dati OneLake e lo stato della replica.

Abilitare il feed delta dei dati di modifica tramite API

Per abilitare il feed di dati delle modifiche differenziali usando le API, vedere Abilitare il feed di dati delle modifiche differenziali per un database con mirroring.

Abilita il feed dei dati di modifica delta per le tabelle esistenti

Se è stato creato il database con mirroring prima che CDF sia diventato disponibile, è possibile abilitare CDF usando l'API REST Fabric. Il processo recupera la definizione corrente, aggiunge la proprietà CDF e aggiorna la definizione.

  1. Recupera la definizione del database mirror:

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getDefinition
    
  2. Decodificare il mirroring.json payload dalla risposta. Il payload è con codifica Base64.

  3. Aggiungere "enableDeltaChangeDataFeed": true alla target.typeProperties sezione:

    {
      "properties": {
        "source": { ... },
        "target": {
          "type": "MountedRelationalDatabase",
          "typeProperties": {
            "defaultSchema": "dbo",
            "format": "Delta",
            "enableDeltaChangeDataFeed": true,
            "retentionInDays": 1
          }
        }
      }
    }
    
  4. Codificare nuovamente il codice JSON aggiornato in Base64, quindi aggiornare la definizione:

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/updateDefinition
    

Dopo aver aggiornato la definizione, recuperarla di nuovo e confermare che enableDeltaChangeDataFeed è true.

Eseguire query sui dati delle modifiche

Important

Per eseguire query sui dati CDF, è prima necessario creare un collegamento Lakehouse che punta alla tabella di database con mirroring. Non è possibile interrogare direttamente i dati CDF dall'elemento del database con mirroring. Il collegamento rende accessibili da Spark i file _change_data.

  1. Crea una shortcut di Lakehouse:

    1. Nell'area di lavoro di Fabric, apri o crea un Lakehouse.
    2. In Lakehouse Explorer selezionare Nuovo collegamento.
    3. Selezionare Microsoft OneLake come origine.
    4. Vai al database mirror e seleziona la tabella che vuoi interrogare.
    5. Selezionare Crea per completare la creazione del collegamento.
  2. Apri un notebook di Fabric collegato al tuo Lakehouse e usa una delle opzioni seguenti per interrogare i dati delle modifiche:

Opzione A: Leggere le modifiche a partire da una versione specifica

Usare l'opzione readChangeFeed con startingVersion per leggere tutte le modifiche CDF da una versione specifica della tabella Delta in avanti. Sostituisci <lakehouse_name> e <table_name> con i nomi del tuo Lakehouse e della tua tabella.

df = spark.read.format("delta") \
    .option("readChangeFeed", "true") \
    .option("startingVersion", 0) \
    .table("<lakehouse_name>.<table_name>")

df.show()

Opzione B: Leggere le modifiche all'interno di un intervallo di timestamp

Usare l'opzione readChangeFeed con startingTimestamp e endingTimestamp per leggere le modifiche CDF in un intervallo di tempo specifico.

df = spark.read.format("delta") \
    .option("readChangeFeed", "true") \
    .option("startingTimestamp", "2025-01-01T00:00:00Z") \
    .option("endingTimestamp", "2025-01-02T00:00:00Z") \
    .table("<lakehouse_name>.<table_name>")

df.show()

Opzione C: Usare la sintassi SQL

Usare la table_changes() funzione SQL per eseguire query sui dati CDF. Questo approccio funziona in qualsiasi contesto SPARK SQL.

df = spark.sql("""
    SELECT * FROM table_changes('<lakehouse_name>.<table_name>', 0)
""")

df.show()

Opzioni di consumo downstream

Il feed di dati delle modifiche delta supporta diversi percorsi di consumo downstream:

Metodo di consumo Description Condizione
Notebook di Spark Interroga i dati di modifica usando readChangeFeed o table_changes() tramite una scorciatoia Lakehouse. Disponibile ora
Operazione di copia Usa Copy Job per leggere le modifiche CDF da un Fabric Lakehouse e replicarle in modo incrementale verso destinazioni come SQL, Snowflake, Fabric Lakehouse e altre ancora. Crea un collegamento dal database con mirroring a un Lakehouse, quindi il processo di copia legge le modifiche dal Lakehouse. Il supporto per il database mirrorato direttamente in Copy Job è in fase di sviluppo. Disponibile ora (tramite il collegamento Lakehouse); supporto diretto presto disponibile
Eventstreams (Connettore del feed delle modifiche del database con mirroring) Trasmetti le modifiche CDF dai database con mirroring direttamente negli Eventstream di Fabric per applicazioni event-driven a bassa latenza. Individuare i database abilitati per CDF nell'hub Real-Time, creare un flusso di eventi e instradare le destinazioni, ad esempio Eventhouse o configurare gli avvisi di Activator. Anteprima
Pipeline di dati Le pipeline di dati non supportano in modo nativo la copia incrementale da CDF. È possibile usare notebook all'interno delle pipeline per ottenere l'elaborazione incrementale. Soluzione alternativa disponibile

Tariffazione

Note

La fatturazione per le funzionalità estese è stata ripresa in tutte le aree a partire dalla settimana del 25 maggio. 2026. Anche il supporto UX per abilitare le capacità estese è stato riattivato, anche se è anche possibile estendere le capacità tramite le API.

Il mirroring senza funzionalità estese è gratuito.

Chiarimenti chiave sui prezzi:

  • La fatturazione è basata sull'utilizzo. Ti vengono addebitate solo le risorse di calcolo incrementali utilizzate quando CDF elabora modifiche effettive. Non sono previsti addebiti per le esecuzioni inattive o vuote (periodi in cui non si verificano modifiche ai dati di origine).
  • La duplicazione dello schermo di base rimane gratuita. L'abilitazione di CDF non modifica il prezzo del mirroring del core. La replica continua, la conversione Delta Lake, l'integrazione di OneLake e gli endpoint di analisi SQL rimangono liberi.
  • L'archiviazione per il mirroring è gratuita. L'archiviazione dei dati mirrorati in OneLake non viene fatturata separatamente. Tuttavia, l'abilitazione di CDF aumenta il consumo di archiviazione a causa di file aggiuntivi _change_data .
  • CDF è un componente aggiuntivo, non una sostituzione. La fatturazione CDF è solo per il calcolo delle funzionalità estese. Non addebita retroattivamente l'attività di mirroring core.
  • È possibile controllare i costi abilitando in modo selettivo CDF. CDF è abilitato a livello di database mirrorato. Abilita CDF solo sui database mirrorati che richiedono l'elaborazione incrementale e lascia gli altri nel mirroring di base.

Per il modello di prezzi completo, i dettagli di misurazione e l'ambito di fatturazione, vedere Fatturazione per le funzionalità estese nel mirroring.