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 deFOR 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 eenSELECT
instructie worden gebruikt. - De
FOR TIMESTAMP AS OF
queryhint kan worden gedefinieerd in deSELECT
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 deOPTION
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 deSELECT
instructie. Query's zoalsINSERT INTO SELECT
enCREATE TABLE AS SELECT
kunnen niet samen met deOPTION 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 deSELECT .. 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.