Condividi tramite


Eseguire query sui dati esistenti in passato (anteprima)

Si applica a: Warehouse in Microsoft Fabric

Warehouse in Microsoft Fabric offre la possibilità di eseguire query sui dati cronologici così come esistevano in passato. La possibilità di eseguire query su dati da un timestamp specifico è nota nel settore del data warehousing come tempo di spostamento. Questa funzionalità è attualmente disponibile solo in anteprima.

  • Il tempo di viaggio facilita la creazione di report stabili mantenendo la coerenza e l'accuratezza dei dati nel tempo.
  • Il viaggio temporale consente l'analisi cronologica delle tendenze eseguendo query su vari punti passati nel tempo e consente di prevedere le tendenze future.
  • Il viaggio nel tempo semplifica i confronti a basso costo tra le versioni precedenti dei dati.
  • Il tempo di viaggio facilita l'analisi delle prestazioni nel tempo.
  • Il tempo di viaggio consente alle organizzazioni di controllare le modifiche dei dati nel tempo, spesso necessarie per scopi di conformità.
  • Il tempo di viaggio consente di riprodurre i risultati dei modelli di Machine Learning.
  • Il tempo di spostamento può eseguire query sulle tabelle così come esistono in un momento specifico in più magazzini nella stessa area di lavoro.

Che cos'è il viaggio nel tempo?

Il viaggio nel tempo in un data warehouse è una funzionalità a basso costo ed efficiente per eseguire rapidamente query sulle versioni precedenti dei dati.

Microsoft Fabric attualmente consente il recupero di stati precedenti dei dati nei modi seguenti:

Spostamento temporale con il comando FOR TIMESTAMP AS OF T-SQL

All'interno di un elemento warehouse, è possibile eseguire query sulle tabelle usando la sintassi OPTION FOR TIMESTAMP AS OF T-SQL per recuperare i dati in momenti precedenti. La FOR TIMESTAMP AS OF clausola influisce sull'intera istruzione, incluse tutte le tabelle del warehouse unite in join.

I risultati ottenuti dalle query di spostamento temporale sono intrinsecamente di sola lettura. Le operazioni di scrittura, ad esempio INSERT, UPDATE e DELETE, non possono verificarsi durante l'utilizzo dell'hint per la query FOR TIMESTAMP AS OF.

Usare la clausola OPTION per specificare l'hint per la query FOR TIMESTAMP AS OF. Le query restituiscono i dati esattamente come sono presenti nel timestamp, specificati come YYYY-MM-DDTHH:MM:SS[.fff]. Ad esempio:

SELECT *
FROM [dbo].[dimension_customer] AS DC
OPTION (FOR TIMESTAMP AS OF '2024-03-13T19:39:35.28'); --March 13, 2024 at 7:39:35.28 PM UTC

Usare la sintassi CONVERT per il formato datetime necessario con stile 126.

Il timestamp può essere specificato una sola volta usando la OPTION clausola per query, stored procedure, viste e così via. Si OPTION applica a tutti gli elementi all'interno dell'istruzione SELECT .

Per esempi, vedere Procedura: Eseguire query usando il tempo di spostamento.

Conservazione della cronologia dei dati

In Microsoft Fabric un warehouse mantiene e mantiene automaticamente diverse versioni dei dati, fino a un periodo di conservazione predefinito di sette giorni di calendario. In questo modo è possibile eseguire query sulle tabelle a partire da qualsiasi punto nel tempo precedente. Tutti gli inserimenti, gli aggiornamenti e le eliminazioni apportati al data warehouse vengono conservati. La conservazione inizia automaticamente dal momento in cui viene creato il magazzino. I file scaduti vengono eliminati automaticamente dopo la soglia di conservazione.

  • Attualmente, un'istruzione SELECT con l'hint per la FOR TIMESTAMP AS OF query restituisce la versione più recente dello schema di tabella.
  • Tutti i record eliminati in una tabella sono disponibili per l'esecuzione di query come esistono prima dell'eliminazione, se l'eliminazione rientra nel periodo di conservazione.
  • Non è possibile eseguire query sulle modifiche apportate allo schema di una tabella, inclusa l'aggiunta o la rimozione di colonne dalla tabella, prima della modifica dello schema. Analogamente, l'eliminazione e la ricreazione di una tabella con gli stessi dati ne comporta la rimozione della cronologia.

Scenari di spostamento temporale

Prendere in considerazione la possibilità di spostarsi in tempo ai dati precedenti negli scenari seguenti:

Creazione di report stabili

L'esecuzione frequente di processi di estrazione, trasformazione e caricamento (ETL) è essenziale per mantenere il passo con il panorama dei dati in continua evoluzione. La possibilità di viaggiare in tempo supporta questo obiettivo garantendo l'integrità dei dati, offrendo al tempo stesso la flessibilità necessaria per generare report in base ai risultati della query restituiti a partire da un punto precedente nel tempo, ad esempio la sera precedente, mentre l'elaborazione in background è in corso.

Le attività ETL possono essere eseguite simultaneamente mentre viene eseguita una query sulla stessa tabella di un tempo precedente.

Tendenza cronologica e analisi predittiva

Il viaggio temporale semplifica l'analisi dei dati cronologici, consentendo di individuare tendenze e modelli preziosi tramite query sui dati in vari intervalli di tempo passati. Ciò facilita l'analisi predittiva abilitando l'esperimento con set di dati cronologici e il training dei modelli predittivi. Consente di anticipare le tendenze future e di prendere decisioni ben informate e basate sui dati.

Analisi e confronto

Il viaggio nel tempo offre una funzionalità di risoluzione dei problemi efficiente e conveniente fornendo una lente storica per l'analisi e il confronto, semplificando l'identificazione della causa radice.

Analisi di prestazioni

Il tempo di viaggio consente di analizzare le prestazioni delle query di warehouse nel tempo. Ciò consente di identificare le tendenze di riduzione delle prestazioni in base alle quali è possibile ottimizzare le query.

Controllo e conformità

Il tempo di viaggio semplifica le procedure di controllo e conformità consentendo ai revisori di spostarsi nella cronologia dei dati. Questo non solo aiuta a rimanere conforme alle normative, ma contribuisce anche a migliorare la garanzia e la trasparenza.

Modelli di Machine Learning

Le funzionalità di spostamento temporale consentono di riprodurre i risultati dei modelli di Machine Learning semplificando l'analisi dei dati cronologici e simulando scenari reali. Ciò migliora l'affidabilità complessiva dei modelli in modo che sia possibile prendere decisioni accurate basate sui dati.

Considerazioni relative alla progettazione

Considerazioni per l'hint di query OPTION FOR TIMESTAMP AS OF:

  • L'hint FOR TIMESTAMP AS OF per la query non può essere usato per creare le viste a partire da qualsiasi punto precedente nel tempo entro il periodo di conservazione. Può essere usato per eseguire query sulle viste a partire dal momento precedente, entro il periodo di conservazione.
  • L'hint per la FOR TIMESTAMP AS OF query può essere usato una sola volta all'interno di un'istruzione SELECT .
  • L'hint per FOR TIMESTAMP AS OF la query può essere definito all'interno dell'istruzione SELECT in una stored procedure.

Autorizzazioni per il viaggio in tempo

Qualsiasi utente con ruoli dell'area di lavoro Amministratore, Membro, Collaboratore o Visualizzatore può eseguire query sulle tabelle a partire da un momento precedente. Quando gli utenti eseguono query sulle tabelle, vengono imposte automaticamente le restrizioni imposte dalla sicurezza a livello di colonna, dalla sicurezza a livello di riga o dalla maschera dati dinamica (DDM).

Limiti

  • Specificare al massimo tre cifre di secondi frazionari nel timestamp. Se si specifica una maggiore precisione, viene visualizzato il messaggio An error occurred during timestamp conversion. Please provide a timestamp in the format yyyy-MM-ddTHH:mm:ss[.fff]. Msg 22440, Level 16, State 1, Code line 29di errore .
  • Attualmente, viene usato solo il fuso orario UTC (Coordinated Universal Time).
  • Attualmente, la conservazione dei dati per le query relative al tempo di viaggio è di sette giorni.
  • FOR TIMESTAMP AS OF i valori nella OPTION clausola devono essere deterministici. Per un esempio di parametrizzazione, vedere Tempo di spostamento in una stored procedure.
  • Il viaggio in tempo non è supportato per l'endpoint di analisi SQL di Lakehouse.
  • La OPTION FOR TIMESTAMP AS OF sintassi può essere usata solo nelle query che iniziano con l'istruzione SELECT . Le query come INSERT INTO SELECT e CREATE TABLE AS SELECT non possono essere usate insieme a OPTION FOR TIMESTAMP AS OF. Considerare invece la possibilità di clonare una tabella di magazzino in un momento specifico.
  • Le definizioni di visualizzazione non possono contenere la OPTION FOR TIMESTAMP AS OF sintassi. È possibile eseguire query sulla vista con la SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF sintassi . Tuttavia, non è possibile eseguire query sui dati precedenti dalle tabelle di una vista prima della creazione della vista.
  • FOR TIMESTAMP AS OF la sintassi per il tempo di spostamento non è attualmente supportata in modalità query diretta di Power BI Desktop o nell'opzione Esplora questi dati .

Passaggio successivo