Udostępnij za pośrednictwem


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:

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 z FOR 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 instrukcji SELECT .
  • Wskazówkę FOR TIMESTAMP AS OF zapytania można zdefiniować w instrukcji SELECT 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 29o 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 klauzuli OPTION 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ę od SELECT instrukcji . Zapytania takie jak INSERT INTO SELECT i CREATE TABLE AS SELECT nie mogą być używane wraz z elementem OPTION 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 .

Następny krok