Korábbi állapotú adatok lekérdezése

A következőkre vonatkozik:✅ SQL Analytics-végpont és -raktár a Microsoft Fabricben

Microsoft Fabric lehetővé teszi az előzményadatok lekérdezését a korábbiakhoz hasonlóan a raktár- és SQL Analytics-végpontelemekben (előzetes verzió). Az adott időbélyeghez tartozó adatok lekérdezésének képességét az adattárház-iparágban időutazásnak nevezik.

  • Az időutazás az adatok konzisztenciájának és pontosságának fenntartásával elősegíti a stabil jelentéskészítést.
  • Az időutazás lehetővé teszi a korábbi trendek elemzését azáltal, hogy lekérdezi az idő különböző pontjait, és segít előrejelezni a jövőbeli trendeket.
  • Az időutazás leegyszerűsíti a korábbi adatverziók alacsony költségű összehasonlítását.
  • Időutazási segédletek a teljesítmény időbeli elemzéséhez.
  • Az időutazás lehetővé teszi a szervezetek számára, hogy idővel naplózják az adatváltozásokat, ami gyakran megfelelőségi célokból szükséges.
  • Az időutazás segít reprodukálni a gépi tanulási modellek eredményeit.
  • Az időutazás lekérdezheti a táblákat, mivel azok egy adott időpontban voltak ugyanazon a munkaterületen több raktáron.
  • Az időutazási hint-ek használhatók munkamenet-hatókörű ideiglenes táblákkal, amelyekre a TIMESTAMP szintaxis nincs hatással.

Mi az időutazás?

Az adattárházban az időutazás alacsony költségű és hatékony lehetőség az adatok korábbi verzióinak gyors lekérdezésére.

A Microsoft Fabric jelenleg a következő módokon teszi lehetővé a korábbi adatállapotok lekérését:

Időutazás a FOR TIMESTAMP AS OF T-SQL paranccsal

A táblák lekérdezhetők a T-SQL-szintaxis IDŐBÉLYEGZŐJE beállításával az adatok múltbeli időpontokban való lekéréséhez. A FOR TIMESTAMP AS OF záradék hatással van a teljes utasításra, beleértve az összes összekapcsolt raktártáblát is.

Az időutazási lekérdezésekből kapott eredmények eredendően írásvédettek. Az olyan írási műveletek, mint az INSERT, az UPDATE és a DELETE, nem fordulhatnak elő a FOR TIMESTAMP AS OF lekérdezési tipp használata során.

Az OPTION záradék használatával adja meg a FOR TIMESTAMP AS OF lekérdezési tippet. A lekérdezések pontosan úgy adják vissza az adatokat, ahogyan az adott időpontban létezett, megadva: YYYY-MM-DDTHH:MM:SS[.fff]. Példa:

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

Használja a szintaxist CONVERT a szükséges dátum/idő formátumhoz a 126-os stílussal.

Az időbélyeg csak egyszer adható meg a OPTION lekérdezések, tárolt eljárások, nézetek stb. záradékával. Ez OPTION a SELECT utasításon belül mindenre vonatkozik.

Példákért lásd Hogyan lehet lekérdezést végezni időutazásos módszerrel.

Adatmegőrzés a Fabric Data Warehouse rendszerben

  • A Fabric Data Warehouse esetében az időutazást a warehouse konfigurálható adatmegőrzési időtartama korlátozza, amely automatikus.
  • A Lakehouse SQL Analytics-végpontok esetében az időutazást a tábla szintjén a vákuummegőrzési beállítások korlátozzák. A Lakehouse-táblák karbantartása manuálisan futtatható a Fabric portálon, vagy ütemezett és vezényléses folyamatként jegyzetfüzetek, folyamatok vagy REST API használatával.

A Microsoft Fabric a raktár automatikusan megőrzi és karbantartja az adatok különböző verzióit a konfigurált megőrzési időszak alapján. Az alapértelmezett raktármegőrzési időszak 30 naptári nap, és a szervezet igényei szerint konfigurálható. Ez lehetővé teszi a táblák lekérdezését az adatmegőrzési időszak bármely korábbi időpontja alapján. A rendszer megőrzi a raktárban végrehajtott összes beszúrást, frissítést és törlést.

A megőrzés automatikusan a raktár létrehozásának pillanatától kezdődik. A lejárt fájlok a megőrzési küszöbérték után automatikusan törlődnek.

  • Jelenleg egy SELECT lekérdezési FOR TIMESTAMP AS OF tippet tartalmazó utasítás a táblasémalegújabb verzióját adja vissza.
  • A táblákban törölt rekordok lekérdezhetők a törlés előtt, ha a törlés a megőrzési időszakon belül van.
  • A sémamódosítás előtti időpontra mutató időutazó lekérdezés csak akkor sikeres, ha az adott időpontban már létező oszlopokra hivatkozik, és sikertelen lesz, ha a később bevezetett oszlopokra hivatkozik.

Időutazási forgatókönyvek

Fontolja meg a korábbi adatokra való időutazás lehetőségét a következő helyzetekben:

Stabil jelentéskészítés

A kinyerési, átalakítási és betöltési (ETL-) feladatok gyakori végrehajtása elengedhetetlen a folyamatosan változó adatkészlettel való lépést. Az időutazás képessége támogatja ezt a célt azáltal, hogy biztosítja az adatintegritást, miközben rugalmasan hozhat létre jelentéseket a múltbeli időpontban visszaadott lekérdezési eredmények alapján, például az előző este, miközben a háttérfeldolgozás folyamatban van.

Az ETL-tevékenységek egyidejűleg is futtathatók, miközben ugyanazt a táblát lekérdezik egy korábbi időponthoz hasonlóan.

Előzmény trend és prediktív elemzés

Az időutazás leegyszerűsíti az előzményadatok elemzését, és segít feltárni az értékes trendeket és mintázatokat az adatok különböző múltbeli időkeretek közötti lekérdezésével. Ez megkönnyíti a prediktív elemzést azáltal, hogy lehetővé teszi a korábbi adathalmazokkal való kísérletezést és a prediktív modellek betanítását. Segíti a jövőbeli trendek előrejelzését, és segít a megalapozott, adatvezérelt döntések meghozatalában.

Elemzés és összehasonlítás

Az időutazás hatékony és költséghatékony hibaelhárítási képességet nyújt azáltal, hogy előzménylencsét biztosít az elemzéshez és összehasonlításhoz, megkönnyítve a kiváltó ok azonosítását.

Teljesítményelemzés

Az időutazás segíthet a raktári lekérdezések túlóra teljesítményének elemzésében. Ez segít azonosítani a teljesítménycsökkenési trendeket, amelyek alapján a lekérdezések optimalizálhatók.

Ellenőrzés és megfelelőség

Az időutazás leegyszerűsíti a naplózási és megfelelőségi eljárásokat azáltal, hogy lehetővé teszi az auditoroknak az adatelőzmények közötti navigálást. Ez nemcsak a szabályozásoknak való megfelelést segíti elő, hanem a megbízhatóság és az átláthatóság növelését is.

Gépi tanulási modellek

Az időutazási képességek segítenek a gépi tanulási modellek eredményeinek reprodukálásában azáltal, hogy megkönnyítik az előzményadatok elemzését és a valós forgatókönyvek szimulálását. Ez javítja a modellek általános megbízhatóságát, hogy pontos, adatvezérelt döntéseket lehessen hozni.

Kialakítási szempontok

Megfontolandó szempontok az IDŐBÉLYEG MINT lekérdezési tipp beállításához:

  • A FOR TIMESTAMP AS OF lekérdezési tipp nem használható a nézetek létrehozására a megőrzési időszakon belüli bármely korábbi időpontban. A megőrzési időszakon belül a nézetek lekérdezésére használható az elmúlt időponttól kezdve.
  • A FOR TIMESTAMP AS OF lekérdezési tipp csak egyszer használható egy utasításon SELECT belül.
  • A FOR TIMESTAMP AS OF lekérdezési tipp egy tárolt eljárásban definiálható az SELECT utasításban.
  • A FOR TIMESTAMP AS OF lekérdezési tipp nem befolyásolja a munkamenet-hatókörű ideiglenes táblákat, például #temp_table.

Időutazásra vonatkozó engedélyek

Bármely felhasználó, aki rendszergazda, tag, közreműködő, vagy megtekintőmunkaterületi szerepkörrel rendelkezik, lekérdezheti a táblákat egy korábbi időpont szerinti állapot szerint. Amikor a felhasználók táblákat kérdeznek le, a rendszer automatikusan alkalmazza az oszlopszintű biztonság (CLS), a sorszintű biztonság (RLS) vagy a dinamikus adatmaszkolás (DDM) által előírt korlátozásokat.

Korlátozások

  • A tábla sémájában végrehajtott módosítások , beleértve az oszlopok hozzáadását vagy eltávolítását is, csak a módosítás időpontjától kérdezhetők le. A sémamódosítás előtti időpontra mutató időutazó lekérdezés csak akkor sikeres, ha az adott időpontban már létező oszlopokra hivatkozik, és sikertelen lesz, ha a később bevezetett oszlopokra hivatkozik. Hasonlóképpen, az ugyanazon adatokkal rendelkező táblák elvetése és újra létrehozása eltávolítja az előzményeit.
  • Adja meg a tört másodperc legfeljebb három számjegyét az időbélyegben. Ha nagyobb pontosságot ad meg, a hibaüzenet 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 29jelenik meg.
  • Az időutazáshoz jelenleg csak az egyezményes világidő (UTC) időzónája használható.
  • Az időutazási lekérdezések adatmegőrzése jelenleg 1 és 120 naptári nap között konfigurálható. Az alapértelmezett megőrzési időszak harminc naptári nap. További információ: Konfigurálható adatmegőrzés.
  • FOR TIMESTAMP AS OF a záradék értékeinek OPTION determinisztikusnak kell lenniük. A paraméterezésre példaként tekintse meg az időutazást egy tárolt eljárásban.
  • Az OPTION FOR TIMESTAMP AS OF lekérdezési tipp csak az SELECT utasítással kezdődő lekérdezésekben használható.
  • A nézetdefiníciók nem tartalmazhatják a OPTION FOR TIMESTAMP AS OF T-SQL szintaxist. A nézet lekérdezhető a SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF T-SQL szintaxissal. A nézet létrehozása előtt azonban nem kérdezhet le korábbi adatokat egy nézetben lévő táblákból.
  • Az FOR TIMESTAMP AS OF T-SQL-szintaxis az időutazáshoz jelenleg nem támogatott Power BI Közvetlen asztali lekérdezési módban vagy az Az adatok kikeresése beállításban.
  • Az SQL Analytics-végpontok időutazása jelenleg csak az új metaadat-szinkronizálással (előzetes verzió) létrehozott SQL Analytics-végpontok esetében engedélyezett.

Következő lépés