Sdílet prostřednictvím


Dotazování dat, jak existovaly v minulosti

Platí pro:✅ Warehouse v Microsoft Fabric

Sklad v Microsoft Fabric nabízí možnost dotazovat se na historická data, protože existovala v minulosti. Schopnost dotazovat data z konkrétního časového razítka je známá v odvětví datových skladů jako časová cesta.

  • Časové cestování usnadňuje stabilní vytváření sestav udržováním konzistence a přesnosti dat v průběhu času.
  • Časová cesta umožňuje analýzu historických trendů dotazováním napříč různými minulými body v čase a pomáhá předvídat budoucí trendy.
  • Časová cesta zjednodušuje porovnání s nízkými náklady mezi předchozími verzemi dat.
  • Časové cestovní pomůcky při analýze výkonu v průběhu času.
  • Časová cesta umožňuje organizacím auditovat změny dat v průběhu času, často vyžadované pro účely dodržování předpisů.
  • Časová cesta pomáhá reprodukovat výsledky z modelů strojového učení.
  • Časová cesta může dotazovat tabulky, které existovaly v určitém časovém okamžiku napříč několika sklady ve stejném pracovním prostoru.

Co je časová cesta?

Časová cesta v datovém skladu je nákladově a efektivní schopnost rychle dotazovat předchozí verze dat.

Microsoft Fabric v současné době umožňuje načtení minulých stavů dat následujícími způsoby:

Časová cesta pomocí příkazu FOR TIMESTAMP AS OF T-SQL

V rámci položky skladu je možné na tabulky dotazovat pomocí syntaxe OPTION FOR TIMESTAMP AS OF T-SQL k načtení dat v minulých bodech v čase. Klauzule FOR TIMESTAMP AS OF ovlivňuje celý příkaz, včetně všech spojených tabulek skladu.

Výsledky získané z dotazů časového cestování jsou ze své podstaty jen pro čtení. Operace zápisu, jako je INSERT, UPDATE a DELETE , nelze při použití časového razítka FOR TIMESTAMP AS OF dotaz nápověda.

Pomocí klauzule OPTION zadejte nápovědu dotazu FOR TIMESTAMP AS OF. Dotazy vrací data přesně tak, jak existovaly v časovém razítku zadaném jako YYYY-MM-DDTHH:MM:SS[.fff]. Příklad:

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 Použijte syntaxi potřebného formátu data a času se stylem 126.

Časové razítko lze zadat pouze jednou pomocí OPTION klauzule pro dotazy, uložené procedury, zobrazení atd. Platí OPTION pro všechno v příkazu SELECT .

Ukázky najdete v tématu Postupy: Dotazování pomocí časového cestování.

Uchovávání dat

V Microsoft Fabric sklad automaticky zachovává a udržuje různé verze dat až do výchozí doby uchovávání 30 kalendářních dnů. To umožňuje dotazovat se na tabulky od jakéhokoli předchozího bodu v čase. Všechna vložení, aktualizace a odstranění provedené v datovém skladu se zachovají. Uchovávání dat začíná automaticky od okamžiku vytvoření skladu. Soubory s vypršenou platností se automaticky odstraní po prahové hodnotě uchovávání informací.

  • SELECT V současné době příkaz s nápovědou FOR TIMESTAMP AS OF dotazu vrátí nejnovější verzi schématu tabulky.
  • Všechny záznamy, které jsou odstraněny v tabulce, jsou k dispozici k dotazování tak, jak existovaly před odstraněním, pokud odstranění spadá do doby uchovávání.
  • Jakékoli změny schématu tabulky, včetně přidávání nebo odebírání sloupců z tabulky, nelze před změnou schématu dotazovat. Podobně vyřazení a opětovné vytvoření tabulky se stejnými daty odebere její historii.

Scénáře časových cest

Zvažte možnost časového přesunu do předchozích dat v následujících scénářích:

Stabilní vytváření sestav

Časté spouštění úloh extrakce, transformace a načítání (ETL) je nezbytné k tomu, aby se zachovalo neustále se měnící prostředí dat. Schopnost časového cestování podporuje tento cíl tím, že zajišťuje integritu dat a současně poskytuje flexibilitu generovat sestavy na základě výsledků dotazu, které se vrací k určitému bodu v čase, například k předchozímu večeru, zatímco zpracování na pozadí probíhá.

Aktivity ETL se můžou spouštět souběžně, zatímco stejná tabulka se dotazuje jako předchozí bod v čase.

Historický trend a prediktivní analýza

Cestování časem zjednodušuje analýzu historických dat a pomáhá odhalit cenné trendy a vzory prostřednictvím dotazování dat v různých minulých časových obdobích. To usnadňuje prediktivní analýzu tím, že umožňuje experimentovat s historickými datovými sadami a trénováním prediktivních modelů. Pomáhá předvídat budoucí trendy a pomáhá provádět dobře informovaná rozhodnutí založená na datech.

Analýza a porovnání

Časová cesta nabízí efektivní a nákladově efektivní řešení potíží tím, že poskytuje historický přehled pro analýzu a porovnání, což usnadňuje identifikaci původní příčiny.

Analýza výkonu

Časová cesta může pomoct analyzovat výkon dotazů na sklad přesčas. To pomáhá identifikovat trendy snížení výkonu na základě toho, na kterých lze dotazy optimalizovat.

Audit a dodržování předpisů

Časová cesta zjednodušuje auditování a postupy dodržování předpisů tím, že auditorům umožňuje procházet historii dat. To nejen pomáhá zůstat v souladu s předpisy, ale také pomáhá zvýšit záruku a transparentnost.

Modely strojového učení

Funkce časového cestování pomáhají reprodukovat výsledky modelů strojového učení tím, že usnadňují analýzu historických dat a simulují reálné scénáře. Tím se zvyšuje celková spolehlivost modelů, aby bylo možné provádět přesná rozhodnutí založená na datech.

Aspekty návrhu

Důležité informace o možnosti ČASOVÉHO RAZÍTKA JAKO NÁPOVĚDY pro dotazy:

  • Nápovědu FOR TIMESTAMP AS OF dotazu nelze použít k vytvoření zobrazení k žádnému předchozímu bodu v čase v období uchovávání. Dá se použít k dotazování zobrazení k určitému bodu v čase v rámci doby uchovávání.
  • Nápovědu FOR TIMESTAMP AS OF SELECT k dotazu je možné použít pouze jednou v rámci příkazu.
  • Nápovědu FOR TIMESTAMP AS OF SELECT dotazu lze definovat v příkazu v uložené proceduře.

Oprávnění k časovému cestování

Každý uživatel, který má role pracovního prostoru správce, člena, přispěvatele nebo čtenáře, může zadávat dotazy na tabulky jako v minulosti. Když se uživatelé dotazují na tabulky, omezení stanovená zabezpečením na úrovni sloupců (CLS), zabezpečením na úrovni řádků (RLS) nebo dynamickým maskováním dat (DDM) se automaticky vynutí.

Omezení

  • Do časového razítka zadejte maximálně tři číslice desetinných sekund. Pokud zadáte větší přesnost, zobrazí se chybová zpráva 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.

  • V současné době se pro časovou cestu používá pouze časové pásmo UTC (Coordinated Universal Time).

  • V současné době je uchovávání dat pro dotazy na časové cestování třicet kalendářních dnů.

  • FOR TIMESTAMP AS OF hodnoty v klauzuli OPTION musí být deterministické. Příklad parametrizace naleznete v části Čas cestování v uložené procedurě.

  • Koncový bod analýzy SQL lakehouse nepodporuje časovou cestu.

  • Syntaxi OPTION FOR TIMESTAMP AS OF lze použít pouze v dotazech, které začínají příkazem SELECT . Dotazy jako INSERT INTO SELECT a CREATE TABLE AS SELECT nelze je použít společně s parametrem OPTION FOR TIMESTAMP AS OF. Zvažte místo toho možnost klonovat tabulku skladu v určitém okamžiku.

  • Definice zobrazení nemohou obsahovat OPTION FOR TIMESTAMP AS OF syntaxi. Zobrazení se dá dotazovat pomocí SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF syntaxe. Nelze však dotazovat předchozí data z tabulek v zobrazení před vytvořením zobrazení.

  • FOR TIMESTAMP AS OF Syntaxe pro časovou cestu se v současné době nepodporuje v režimu přímého dotazu Power BI Desktopu ani v možnosti Prozkoumat tato data .

Další krok