Tranzakcióvezérlő átalakítás az informatikában (példa)

⚡ Okos összefoglaló

Az Informaticában a tranzakcióvezérlési transzformáció egy aktív, csatlakoztatott objektum, amely véglegesíti vagy visszagörgeti a sorokat egy mapping öt beépített változót használ egy feltételen belül, amelyeket minden sorhoz egyszer kiértékelnek.

  • 🔄 Öt beépített változó: A TC_CONTINUE_TRANSACTION, TC_COMMIT_BEFORE, TC_COMMIT_AFTER, TC_ROLLBACK_BEFORE és TC_ROLLBACK_AFTER függvények döntik el, hogy mi történjen az egyes sorban.
  • 🇧🇷 Az állapot a Tulajdonságokban található: A Tulajdonságok lapon található Tranzakcióvezérlési feltétel mező tartalmazza az Integrációs szolgáltatás által kiértékelt IIF-kifejezést.
  • 🧪 Működő példa: Hét térképping A tervezői lépések minden alkalommal, amikor a 20-as részlegszám megtalálható, az EMP adatokat az EMP_TARGET kategóriába véglegesítik.
  • Hatékony vagy hatástalan: Bármely olyan transzformáció, amely a tranzakcióhatárokat elveti, hatástalanná teszi az objektumot a mögötte lévő célpont számára.
  • 🔧 Munkamenet véglegesítési típusa: Egy térképping egy hatékony Transaction Control transzformációval a User Defined commit típus alatt fut.
  • ⚠️ Szigorú visszatérési érték: Ha a commit, roll back vagy continue értékektől eltérő feltételt ad vissza, az Integration Service meghiúsítja a munkamenetet.

Tranzakciókontroll átalakítás az Informatikában

Mi az a Tranzakciókontroll átalakítás?

A tranzakcióvezérlés egy aktív és összekapcsolt transzformáció, amely lehetővé teszi számunkra, hogy tranzakciókat véglegesítsünk vagy visszavonjunk a map végrehajtása során.pingA véglegesítési és visszagörgetési műveletek kiemelt fontosságúak, mivel garantálják az adatok elérhetőségét.

Nagy mennyiségű adat feldolgozásakor előfordulhat, hogy az adatokat véglegesíteni kell a célállomáson. Ha a véglegesítés túl gyakran történik, az túlterheli a rendszert. Ha a véglegesítés túl későn történik, akkor hiba esetén fennáll az adatvesztés veszélye.

Tehát a rugalmasság biztosítása érdekében a Transaction Control transzformációt biztosítjuk. Ahelyett, hogy a véglegesítési pontot az alapértelmezett munkamenetre hagyná, lehetővé teszi egy feltétel megadását a munkameneten belül. térképping sorról sorra döntsd el, hol ér véget az egyik tranzakció és hol kezdődik a következő.

TCL véglegesítési és visszagörgetési parancsok

Öt beépített változó áll rendelkezésre ebben az átalakításban a művelet kezeléséhez. A feltételnek minden sorhoz az öt változó egyikét kell visszaadnia, és a listán kívüli érték a munkamenet meghiúsulását okozza az Integration Service számára.

TC_CONTINUE_TRANSACTION

A TC_CONTINUE_TRANSACTION függvényben nem történik művelet, az adatbetöltés folyamata változatlanul folytatódik. Ez a kifejezés alapértelmezett értéke.

TC_COMMIT_BEFORE

A TC_COMMIT_BEFORE függvényben, amikor ez a jelző beállítva van, egy commit kerül végrehajtásra az aktuális sor feldolgozása előtt. Ezután egy új tranzakció kezdődik, és az aktuális sor a célállomásra kerül.

TC_COMMIT_AFTER

A TC_COMMIT_AFTER függvényben a jelenlegi sor feldolgozásra kerül, majd egy commit történik, és elkezdődik a következő tranzakció.

TC_ROLLBACK_BEFORE

A TC_ROLLBACK_BEFORE függvényben először a visszagörgetés történik meg, majd az adatok írásra kerülnek feldolgozásra.

TC_ROLLBACK_AFTER

A TC_ROLLBACK_AFTER függvényben az adatok feldolgozásra kerülnek, majd megtörténik a visszagörgetés.

Tranzakcióvezérlési transzformációs tulajdonságok

Az objektum az Átalakítások szerkesztése ablakban konfigurálható, amely ugyanazt a négy lapot tartalmazza, mint a többi PowerCenter transzformáció. Az alábbi útmutató során sok keresést megspórolhatunk, ha tudjuk, hogy melyik lap melyik beállítást birtokolja.

Tab Mi van ott konfigurálva
Átalakítás Az átalakítás neve, leírása, és hogy az objektum újrafelhasználható-e.
Portok A bemeneti és kimeneti portok, amelyeket általában az oszlopok áthúzásával hoznak létre a felsőbb transzformációból.
Ingatlanok A Tranzakcióvezérlési feltétel, amelyet a mező melletti kis nyíllal nyitottunk meg, és a Tracing szint írva a munkamenet-naplóba.
Metaadat-bővítmények A felhasználó által definiált metaadatok a transzformációval együtt a tárházban maradnak.

Két beállítás végzi el az igazi munkát. Tranzakcióvezérlési feltétel tartalmazza a kifejezést, ami általában egy IIF() teszt, és az öt változó egyikét adja vissza. Tracszint eldönti, hogy a transzformációval kapcsolatos részletek mennyiben jelennek meg a munkamenet-naplóban, amikor a futtatást vizsgálják.

Az egyik beállítás a transzformáción kívül esik. Amikor egy térképping tartalmaz egy hatékony tranzakcióvezérlési transzformációt, a munkamenet a következővel fut: Véglegesítés típusa állítsd be a Felhasználó által definiált értékre a Tulajdonságok lapon üléshelyett a Target vagy Forrás véglegesítési típusok, amelyek fix véglegesítési intervallumot használnak.

A tranzakcióvezérlési transzformáció használata az Informaticában

Ebben a példában akkor fogunk adatokat véglegesíteni a célhelyen, amikor a dept no = 20 feltétel igaznak bizonyult.

Step 1) Térkép létrehozásaping EMP-vel forrásként és EMP_TARGET-tel célként. A térképping A tervezővászon ezután tartalmazza a forrást, annak forrásminősítőjét és a céldefiníciót.

Térképping Tervezővászon az EMP forrással, annak forrásminősítőjével és az EMP_TARGET céldefiníciójával

Step 2) Hozzon létre egy új transzformációt az Átalakítás menü segítségével, majd az Átalakítás létrehozása ablakban:

  1. Válasszon ki egy tranzakcióvezérlőt új transzformációként
  2. Írja be a transzformáció nevét: „tc_commit_dept20”
  3. Válassza a létrehozási lehetőséget

Hozz létre egy átalakítási ablakot, amelyben kiválasztod a tranzakcióvezérlést és megadod a tc_commit_dept20 nevet

Step 3) A Tranzakcióvezérlés transzformáció létrejön, kattintson a Kész gombra. Az új objektum most megjelenik a vásznon a Forrásminősítő mellett.

A tc_commit_dept20 tranzakcióvezérlési transzformáció a forrásminősítő mellett jött létre.

Step 4) Húzd át az összes oszlopot a Source Qualifier táblából a Transaction Control transzformációba, majd csatold a Transaction Control transzformáció összes oszlopát a céltáblához. A folyamat most a következőképpen fut: source → Source Qualifier → tc_commit_dept20 → EMP_TARGET.

A tc_commit_dept20-on keresztül az EMP_TARGET táblába linkelt forrásminősítő oszlopok

Step 5) Double kattintson a Tranzakcióvezérlés transzformációra, majd a tulajdonságok szerkesztése ablakban:

  1. Válassza ki a tulajdonság fület
  2. Kattintson a tranzakcióvezérlő szerkesztő ikonra

A Transzformációk szerkesztése ablak Tulajdonságok lapja, amelyen a tranzakcióvezérlő szerkesztő ikonja látható

Step 6) A kifejezésszerkesztőben írd be a kifejezést –

iif(deptno=20,tc_commit_before,tc_continue_transaction)

és válassza az OK lehetőséget. Ez azt jelenti, hogy ha a 20-as számú részleg megtalálható, akkor a tranzakció véglegesítve lesz a célhelyen, egyébként pedig folytatódik a jelenlegi feldolgozás.

Kifejezésszerkesztő, amely az IIF feltételt tartalmazza, amely a 20-as számú részleg sora előtt véglegesítendő

Step 7) Az előző ablakban kattintson az OK gombra. A feltétel mostantól a transzformáció Tulajdonságok lapján tárolódik.

A Transzformációk szerkesztése ablak Tulajdonságok lapja a tranzakcióvezérlési feltétel mentése után

Most mentsd el a térképetping és a munkamenet és a munkafolyamatok létrehozása után hajtsa végre. Ez a térképping A 20-as részleg száma esetén a program véglegesíti az adatokat a célállomáson.

Hatékony és hatástalan tranzakcióvezérlési transzformációk

A transzformáció egy tranzakciógenerátor. Elveszi a felfelé irányuló tranzakcióhatárokat, és új határokat határoz meg minden lefelé irányuló számára, ezért a folyamatban elfoglalt helye ugyanolyan fontos, mint az állapota.

Úgy hívják hatékony egy célpont esetében, amikor az általa létrehozott határok továbbra is elérik ezt a célt, és hatástalan amikor egy későbbi átalakítás elveti ezeket a határokat. Az Informatica PowerCenter átalakítási útmutatója szerint a következő objektumok elvetik a bejövő tranzakciók határait:

  • Egy aggregátor, Asztalos, Rang, Rendező vagy Egyéni transzformáció, amelynek transzformációs hatóköre Minden bemenet
  • Egyéni transzformáció, amely tranzakciók generálására van konfigurálva
  • Egy másik tranzakcióvezérlési transzformáció
  • Egy több bemeneti csoport transzformációja, amely egynél több upstream tranzakcióvezérlő ponthoz kapcsolódik

Az, hogy a célobjektumra hatástalan, nem teszi az objektumot haszontalanná. Egy Tranzakció hatókörű, lefelé irányuló transzformáció továbbra is a felfelé definiált határokat használja, így ugyanaz a transzformáció lehet hatékony egy Rendező számára, de hatástalan a mögötte lévő tábla számára.

Egy térképenping Több célpont esetén az objektum az egyik célpont számára hatékony, a másik számára pedig hatástalan lehet.ping érvényes marad, amíg minden cél egy érvényes Tranzakcióvezérlési transzformációhoz van csatlakoztatva, és érvénytelenné válik, amint egy cél nem csatlakozik. A Tervező jelenti, hogy mely transzformációk hatástalanok a célok esetében, amikor a leképezésping mentve vagy érvényesítve van.

Tranzakcióvezérlési átalakítás szabályai és irányelvei

Az átalakítással kapcsolatos problémák többsége futási időben, nem pedig tervezési időben jelentkezik, ezért az alábbi pontokat érdemes ellenőrizni a munkamenet felépítése előtt.

  • A visszatérési érték szigorú. Ha a feltétel nem véglegesítést, visszagörgetést vagy folytatást eredményez, az integrációs szolgáltatás sikertelenül zárja le a munkamenetet.
  • A TC_CONTINUE_TRANSACTION a tartalék megoldás. Az IIF() minden ágának valahol véget kell érnie, és a continue az az érték, amely az aktuális tranzakciót érintetlenül hagyja.
  • A célpont típusa számít. A relációs, XML vagy dinamikus MQSeries céltól eltérő célhoz kapcsolódó Transaction Control transzformáció hatástalan az adott célra.
  • A feltétel csak azt használhatja, ami eléri. Csak a transzformációhoz kapcsolt portok, a ports változók és a beépített változók érhetők el a tranzakcióvezérlő szerkesztőben.
  • A commit gyakorisága kompromisszum kérdése. Egy olyan feltétel, amely szinte minden sorban véglegesül, eltávolítja a pufferelés előnyét, míg egy olyan feltétel, amely szinte soha nem aktiválódik, újra bevezeti az adatvesztési ablakot, amelynek bezárásához a transzformációt hozzáadták.
  • Ellenőrizd a munkamenet naplóját. A napló rögzíti a ténylegesen elért véglegesítési pontokat, ami a leggyorsabb módja annak, hogy megerősítsük, hogy a feltétel a kívánt módon viselkedett a folyamat során. teljesítmény növelés.

GYIK

A véglegesítési intervallum a munkamenetben beállított rögzített számú sor után véglegesíti a folyamatot. Egy tranzakcióvezérlési feltétel magára az adatra vonatkozik, így a véglegesítési pont egy üzleti szabályt követ, nem pedig egy sorszámot.

Az Informatica PowerCenter átalakítási útmutatója kimondja, hogy a relációs, XML vagy dinamikus MQSeries céltól eltérő célhoz kapcsolódó tranzakcióvezérlési átalakítások hatástalanok az adott cél esetében.

Igen. Készítsd el az Átalakításfejlesztőben, vagy jelöld be az Újrafelhasználhatóvá tétel lehetőséget egy meglévő térkép Átalakítás lapján. Minden térképping majd ugyanazt a feltételt alkalmazza, így a szabály módosítása egyszerre mindegyikre hatással van.

A korábbi munkamenet-naplók alapján végzett gépi tanulás képes megjelölni azokat a betöltéseket, ahol a véglegesítési gyakoriság korrelál a hosszú futási időkkel vagy a visszagörgetési viharokkal. A javaslat továbbra is egy hipotézis, ezért a feltétel módosítása előtt ellenőrizze egy valós futtatással.

A Copilot meg tudja vázolni az IIF() alakzatot, és emlékeztetni tudja az öt változó nevére, de nem ismeri a portneveket vagy az üzleti szabályokat. A kimenetet kiindulópontként kell kezelni, és validálni kell a kifejezésszerkesztőben.

Az Update Strategy (Frissítési stratégia) dönti el, hogy mi történjen egy sorral, címkézve azt beszúrással, frissítéssel, törléssel vagy elutasítással. A Tranzakcióvezérlés dönti el, hogy a kiírt sorok mikor válnak állandóvá. A kettő különböző kérdésekre válaszol, és gyakran együtt használják.

A Cloud Data Integration saját Transaction Control transzformációt szállít ugyanazokkal a commit, roll back és continue változókkal. A tervezési ötlet megmarad, de az objektum a Cloud Mapban épül fel.ping Designerben, nem pedig a PowerCenter kliensben.

Az adott tranzakció utolsó commitja óta írt sorok elveti. Bármi, ami korábban committált, a célban marad, ezért a commit pontok elhelyezkedése határozza meg, hogy mennyi munkába kerülhet egy hiba.

Foglald össze ezt a bejegyzést a következőképpen: