Wykonywanie zapytań o dane, które istniały w przeszłości
Dotyczy:✅ Magazyn w usłudze Microsoft Fabric
Magazyn w usłudze Microsoft Fabric oferuje możliwość wykonywania zapytań dotyczących danych historycznych, które istniały w przeszłości. Możliwość wykonywania zapytań dotyczących danych z określonego znacznika czasu jest znana w branży magazynowania danych jako podróż w czasie.
- Podróż w czasie ułatwia stabilne raportowanie, utrzymując spójność i dokładność danych w czasie.
- Podróż w czasie umożliwia analizę trendów historycznych przez wykonywanie zapytań w różnych poprzednich punktach w czasie i pomaga przewidzieć przyszłe trendy.
- Podróż w czasie upraszcza porównywanie niskich kosztów między poprzednimi wersjami danych.
- Czas podróży pomaga w analizowaniu wydajności w czasie.
- Podróż w czasie umożliwia organizacjom przeprowadzanie inspekcji zmian danych w czasie, często wymaganych do celów zgodności.
- Podróż czasowa pomaga odtworzyć wyniki z modeli uczenia maszynowego.
- Podróż czasowa może wysyłać zapytania do tabel, ponieważ istniały w określonym punkcie w czasie w wielu magazynach w tym samym obszarze roboczym.
Co to jest podróż w czasie?
Podróż w czasie w magazynie danych jest tanim i wydajnym rozwiązaniem umożliwiającym szybkie wykonywanie zapytań o wcześniejsze wersje danych.
Obecnie usługa Microsoft Fabric umożliwia pobieranie przeszłych stanów danych w następujący sposób:
- Na poziomie instrukcji DLA ZNACZNIKA CZASU AS OF
- Na poziomie tabeli przy użyciu polecenia CLONE TABLE
Czas podróży za pomocą ZNACZNIKA CZASU DLA POLECENIA T-SQL
W elemencie Magazynu tabele mogą być odpytywane przy użyciu OPCJI SYGNATURY CZASOWEJ JAKO składni języka T-SQL w celu pobrania danych w poprzednich punktach w czasie. Klauzula FOR TIMESTAMP AS OF
ma wpływ na całą instrukcję, w tym wszystkie połączone tabele magazynu.
Wyniki uzyskane z zapytań dotyczących podróży czasowych są z natury tylko do odczytu. Operacje zapisu, takie jak INSERT, UPDATE i DELETE, nie mogą wystąpić podczas korzystania z sygnatury CZASOWEJ JAKO wskazówki zapytania.
Użyj klauzuli OPTION, aby określić sygnaturę CZASOWA AS wskazówki zapytania. Zapytania zwracają dane dokładnie tak, jak istniały w znaczniku czasu określonym jako YYYY-MM-DDTHH:MM:SS[.fff]
. Na przykład:
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
CONVERT
Użyj składni dla niezbędnego formatu daty/godziny ze stylem 126.
Znacznik czasu można określić tylko raz przy użyciu klauzuli OPTION
dla zapytań, procedur składowanych, widoków itp. Element OPTION
ma zastosowanie do wszystkich elementów w instrukcji SELECT .
Aby zapoznać się z przykładami, zobacz Instrukcje: wykonywanie zapytań przy użyciu podróży czasowej.
Przechowywanie danych
W usłudze Microsoft Fabric magazyn automatycznie zachowuje i utrzymuje różne wersje danych, do domyślnego okresu przechowywania w ciągu trzydziestu dni kalendarzowych. Umożliwia to wykonywanie zapytań dotyczących tabel zgodnie z wcześniejszym punktem w czasie. Wszystkie wstawki, aktualizacje i usunięcia wprowadzone w magazynie danych są zachowywane. Okres przechowywania rozpoczyna się automatycznie od momentu utworzenia magazynu. Wygasłe pliki są automatycznie usuwane po osiągnięciu progu przechowywania.
- Obecnie instrukcja
SELECT
zFOR TIMESTAMP AS OF
wskazówką zapytania zwraca najnowszą wersję schematu tabeli. - Wszystkie rekordy usunięte w tabeli są dostępne do odpytywania, ponieważ istniały przed usunięciem, jeśli usunięcie mieści się w okresie przechowywania.
- Wszelkie modyfikacje wprowadzone w schemacie tabeli, w tym nie tylko dodawanie lub usuwanie kolumn z tabeli, nie można wykonywać zapytań przed zmianą schematu. Podobnie usunięcie i ponowne utworzenie tabeli z tymi samymi danymi spowoduje usunięcie jego historii.
Scenariusze podróży w czasie
Rozważ możliwość przechodzenia na czas do poprzednich danych w następujących scenariuszach:
Stabilne raportowanie
Częste wykonywanie zadań wyodrębniania, przekształcania i ładowania (ETL) jest niezbędne, aby nadążyć za stale zmieniającym się krajobrazem danych. Możliwość podróży w czasie obsługuje ten cel, zapewniając integralność danych, zapewniając jednocześnie elastyczność generowania raportów na podstawie wyników zapytania, które są zwracane od poprzedniego punktu w czasie, takiego jak poprzedni wieczór, podczas gdy przetwarzanie w tle trwa.
Działania ETL mogą być uruchamiane współbieżnie, podczas gdy ta sama tabela jest badana co do wcześniejszego punktu w czasie.
Trend historyczny i analiza predykcyjna
Podróż w czasie upraszcza analizę danych historycznych, pomagając odkryć cenne trendy i wzorce poprzez wykonywanie zapytań dotyczących danych w różnych poprzednich przedziałach czasu. Ułatwia to analizę predykcyjną, umożliwiając eksperymentowanie z historycznymi zestawami danych i szkolenie modeli predykcyjnych. Pomaga ona w przewidywaniu przyszłych trendów i pomaga w podejmowaniu dobrze świadomych decyzji opartych na danych.
Analiza i porównanie
Podróże czasowe oferują wydajną i opłacalną możliwość rozwiązywania problemów, zapewniając historyczny obiektyw do analizy i porównania, ułatwiając identyfikację głównej przyczyny.
Analiza wydajności
Podróż w czasie może pomóc w analizie wydajności zapytań magazynu w nadgodzinach. Pomaga to zidentyfikować trendy spadku wydajności na podstawie tego, które zapytania można zoptymalizować.
Inspekcja i zgodność
Podróż w czasie usprawnia inspekcję i procedury zgodności, umożliwiając audytorom przechodzenie przez historię danych. Pomaga to nie tylko zachować zgodność z przepisami, ale także pomóc w zapewnieniu i przejrzystości.
Modele uczenia maszynowego
Możliwości podróży w czasie pomagają odtworzyć wyniki modeli uczenia maszynowego, ułatwiając analizę danych historycznych i symulowanie rzeczywistych scenariuszy. Zwiększa to ogólną niezawodność modeli, dzięki czemu można podejmować dokładne decyzje oparte na danych.
Uwagi dotyczące projektowania
Zagadnienia dotyczące OPCJI SYGNATURY CZASOWEJ JAKO WSKAZÓWKI ZAPYTANIA:
- Nie
FOR TIMESTAMP AS OF
można użyć wskazówki zapytania do utworzenia widoków z wcześniejszego punktu w czasie w okresie przechowywania. Może służyć do wykonywania zapytań względem widoków z poprzedniego punktu w czasie w okresie przechowywania. - Wskazówka
FOR TIMESTAMP AS OF
zapytania może być używana tylko raz w instrukcjiSELECT
. - Wskazówkę
FOR TIMESTAMP AS OF
zapytania można zdefiniować w instrukcjiSELECT
w procedurze składowanej.
Uprawnienia do podróży w czasie
Każdy użytkownik, który ma role obszaru roboczego Administrator, Członek, Współautor lub Osoba przeglądająca, może wysyłać zapytania do tabel w przeszłości do punktu w czasie. Gdy użytkownicy wysyłają zapytania do tabel, ograniczenia nałożone przez zabezpieczenia na poziomie kolumny (CLS), zabezpieczenia na poziomie wiersza (RLS) lub dynamiczne maskowanie danych (DDM) są nakładane automatycznie.
Ograniczenia
Podaj maksymalnie trzy cyfry sekund ułamkowych w znaczniku czasu. Jeśli podasz większą precyzję, zostanie wyświetlony komunikat
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
o błędzie .Obecnie tylko strefa czasowa koordynowanego czasu uniwersalnego (UTC) jest używana do podróży w czasie.
Obecnie przechowywanie danych dla zapytań dotyczących podróży czasowych wynosi trzydzieści dni kalendarzowych.
FOR TIMESTAMP AS OF
wartości w klauzuliOPTION
muszą być deterministyczne. Aby zapoznać się z przykładem parametryzacji, zobacz Time travel in a stored procedure (Czas podróży w procedurze składowanej).Podróż w czasie nie jest obsługiwana w przypadku punktu końcowego analizy SQL usługi Lakehouse.
Składnię
OPTION FOR TIMESTAMP AS OF
można używać tylko w zapytaniach rozpoczynających się odSELECT
instrukcji . Zapytania takie jakINSERT INTO SELECT
iCREATE TABLE AS SELECT
nie mogą być używane wraz z elementemOPTION FOR TIMESTAMP AS OF
. Rozważ zamiast tego możliwość klonowania tabeli magazynu w danym momencie.Definicje widoków nie mogą zawierać
OPTION FOR TIMESTAMP AS OF
składni. W widoku można wykonywać zapytania o składnięSELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF
. Nie można jednak wykonywać zapytań dotyczących poprzednich danych z tabel w widoku przed utworzeniem widoku.FOR TIMESTAMP AS OF
składnia podróży w czasie nie jest obecnie obsługiwana w trybie zapytań bezpośrednich programu Power BI Desktop ani opcji Eksploruj te dane .