Delen via


Query's uitvoeren op gegevens zoals deze in het verleden bestonden

Van toepassing op:✅ Warehouse in Microsoft Fabric

Warehouse in Microsoft Fabric biedt de mogelijkheid om historische gegevens op te vragen zoals deze in het verleden bestonden. De mogelijkheid om een query uit te voeren op gegevens uit een specifieke tijdstempel is bekend in de datawarehousingindustrie als tijdreizen.

  • Tijdreis vereenvoudigt stabiele rapportage door de consistentie en nauwkeurigheid van gegevens in de loop van de tijd te behouden.
  • Tijdreizen maakt historische trendanalyse mogelijk door query's uit te voeren op verschillende eerdere tijdstippen en helpt de toekomstige trends te anticiperen.
  • Tijdreizen vereenvoudigt goedkope vergelijkingen tussen eerdere versies van gegevens.
  • Tijdreizen helpen bij het analyseren van prestaties in de loop van de tijd.
  • Met tijdreizen kunnen organisaties gegevenswijzigingen in de loop van de tijd controleren, vaak vereist voor nalevingsdoeleinden.
  • Tijdreizen helpt bij het reproduceren van de resultaten van machine learning-modellen.
  • Tijdreizen kunnen query's uitvoeren op tabellen die op een bepaald tijdstip bestaan in meerdere magazijnen in dezelfde werkruimte.

Wat is tijdreizen?

Tijdreizen in een datawarehouse is een voordelige en efficiënte mogelijkheid om snel query's uit te voeren op eerdere versies van gegevens.

Microsoft Fabric staat momenteel het ophalen van eerdere statussen van gegevens op de volgende manieren toe:

Tijdreizen met de OPDRACHT FOR TIMESTAMP AS OF T-SQL

In een magazijnitem kunnen tabellen worden opgevraagd met behulp van de OPTIE VOOR TIJDSTEMPEL VANAF T-SQL-syntaxis om gegevens op eerdere tijdstippen op te halen. De FOR TIMESTAMP AS OF component is van invloed op de volledige instructie, inclusief alle gekoppelde magazijntabellen.

De resultaten die zijn verkregen uit de query's voor tijdreizen, zijn inherent alleen-lezen. Schrijfbewerkingen zoals INSERT, UPDATE en DELETE kunnen niet worden uitgevoerd tijdens het gebruik van de HINT FOR TIMESTAMP AS OF query.

Gebruik de OPTION-component om de FOR TIMESTAMP AS OF query hint op te geven. Query's retourneren gegevens precies zoals deze bestaan in de tijdstempel, opgegeven als YYYY-MM-DDTHH:MM:SS[.fff]. Voorbeeld:

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

Gebruik de CONVERT syntaxis voor de benodigde datum/tijd-indeling met stijl 126.

De tijdstempel kan slechts eenmaal worden opgegeven met behulp van de OPTION component voor query's, opgeslagen procedures, weergaven, enzovoort. De OPTION instructie is van toepassing op alles in de SELECT-instructie .

Zie Instructies voor voorbeelden : Query's uitvoeren met behulp van tijdreizen.

Gegevensretentie

In Microsoft Fabric behoudt en onderhoudt een magazijn automatisch verschillende versies van de gegevens, tot een standaardretentieperiode van dertig kalenderdagen. Hiermee kunt u vanaf elk eerder tijdstip query's uitvoeren op tabellen. Alle invoegingen, updates en verwijderingen die in het datawarehouse zijn aangebracht, worden bewaard. De retentie begint automatisch vanaf het moment dat het magazijn wordt gemaakt. Verlopen bestanden worden automatisch verwijderd na de retentiedrempel.

  • Op dit moment retourneert een SELECT instructie met de FOR TIMESTAMP AS OF queryhint de nieuwste versie van het tabelschema.
  • Records die in een tabel worden verwijderd, kunnen worden opgevraagd zoals ze bestonden vóór verwijdering, als de verwijdering binnen de bewaarperiode valt.
  • Wijzigingen in het schema van een tabel, inclusief maar niet beperkt tot het toevoegen of verwijderen van kolommen uit de tabel, kunnen niet worden opgevraagd voordat het schema wordt gewijzigd. Op dezelfde manier worden de geschiedenis van een tabel verwijderd door een tabel met dezelfde gegevens te verwijderen en opnieuw te maken.

Scenario's voor tijdreizen

Houd rekening met de mogelijkheid om in de volgende scenario's naar eerdere gegevens te reizen:

Stabiele rapportage

Het regelmatig uitvoeren van ETL-taken (extract, transform and load) is essentieel voor het bijhouden van het steeds veranderende gegevenslandschap. De mogelijkheid tot tijdreizen ondersteunt dit doel door gegevensintegriteit te garanderen en tegelijkertijd de flexibiliteit te bieden om rapporten te genereren op basis van de queryresultaten die worden geretourneerd vanaf een eerder tijdstip, zoals de vorige avond, terwijl de achtergrondverwerking wordt uitgevoerd.

ETL-activiteiten kunnen gelijktijdig worden uitgevoerd terwijl dezelfde tabel wordt opgevraagd vanaf een eerder tijdstip.

Historische trend en voorspellende analyse

Tijdreizen vereenvoudigt de analyse van historische gegevens, waardoor waardevolle trends en patronen kunnen worden ontdekt door gegevens op te vragen in verschillende eerdere tijdsbestekken. Dit vereenvoudigt voorspellende analyses door experimenteren met historische gegevenssets en training van voorspellende modellen mogelijk te maken. Het helpt bij het anticiperen op toekomstige trends en helpt bij het maken van goed geïnformeerde, gegevensgestuurde beslissingen.

Analyse en vergelijking

Tijdreizen biedt een efficiënte en rendabele probleemoplossingsmogelijkheid door een historische lens te bieden voor analyse en vergelijking, waardoor de identificatie van de hoofdoorzaak wordt vergemakkelijkt.

Prestatieanalyse

Tijdreizen kunnen helpen bij het analyseren van de prestaties van magazijnquery's overuren. Hiermee kunt u de trends voor prestatievermindering identificeren op basis waarvan de query's kunnen worden geoptimaliseerd.

Controle en naleving

Tijdreizen stroomlijnt controle- en nalevingsprocedures door auditors in staat te stellen door de gegevensgeschiedenis te doorlopen. Dit helpt niet alleen om te voldoen aan regelgeving, maar helpt ook om de zekerheid en transparantie te verbeteren.

Machine Learning-modellen

De mogelijkheden voor tijdreizen helpen bij het reproduceren van de resultaten van machine learning-modellen door analyse van historische gegevens te vergemakkelijken en praktijkscenario's te simuleren. Dit verbetert de algehele betrouwbaarheid van de modellen, zodat nauwkeurige gegevensgestuurde beslissingen kunnen worden genomen.

Ontwerpoverwegingen

Overwegingen voor de OPTIE VOOR TIMESTAMP AS OF queryhint:

  • De FOR TIMESTAMP AS OF queryhint kan niet worden gebruikt om de weergaven te maken vanaf een eerder tijdstip binnen de bewaarperiode. Het kan worden gebruikt voor het opvragen van weergaven vanaf een bepaald tijdstip, binnen de bewaarperiode.
  • De FOR TIMESTAMP AS OF queryhint kan slechts eenmaal binnen een SELECT instructie worden gebruikt.
  • De FOR TIMESTAMP AS OF queryhint kan worden gedefinieerd in de SELECT instructie in een opgeslagen procedure.

Machtigingen voor tijdreizen

Elke gebruiker die de werkruimterollen Beheerder, Lid, Inzender of Viewer heeft, kan een query uitvoeren op de tabellen vanaf een eerder tijdstip. Wanneer gebruikers query's uitvoeren op tabellen, worden de beperkingen die worden opgelegd door beveiliging op kolomniveau (CLS), beveiliging op rijniveau (RLS) of dynamische gegevensmaskering (DDM) automatisch opgelegd.

Beperkingen

  • Geef maximaal drie cijfers van fractionele seconden op in de tijdstempel. Als u meer precisie opgeeft, wordt het foutbericht weergegeven 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 29.

  • Momenteel wordt alleen de UTC-tijdzone (Coordinated Universal Time) gebruikt voor tijdreizen.

  • Op dit moment is het bewaren van gegevens voor query's voor tijdreizen dertig kalenderdagen.

  • FOR TIMESTAMP AS OF waarden in de OPTION component moeten deterministisch zijn. Zie Tijdreizen in een opgeslagen procedure voor een voorbeeld van parameterisering.

  • Tijdreizen worden niet ondersteund voor het SQL-analyse-eindpunt van Lakehouse.

  • De OPTION FOR TIMESTAMP AS OF syntaxis kan alleen worden gebruikt in query's die beginnen met de SELECT instructie. Query's zoals INSERT INTO SELECT en CREATE TABLE AS SELECT kunnen niet samen met de OPTION FOR TIMESTAMP AS OF. Overweeg in plaats daarvan de mogelijkheid om een magazijntabel op een bepaald moment te klonen.

  • Weergavedefinities mogen de OPTION FOR TIMESTAMP AS OF syntaxis niet bevatten. De weergave kan worden opgevraagd met de SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF syntaxis. U kunt echter geen query's uitvoeren op eerdere gegevens uit tabellen in een weergave voordat de weergave is gemaakt.

  • FOR TIMESTAMP AS OF syntaxis voor tijdreizen wordt momenteel niet ondersteund in de directquerymodus van Power BI Desktop of de optie Deze gegevens verkennen.

Volgende stap