Transaktionskontrolltransformation i Informatica (exempel)

โšก Smart sammanfattning

Transaktionskontrolltransformationen i Informatica รคr ett aktivt, anslutet objekt som bekrรคftar eller รฅterstรคller rader medan en mappningping kรถrs, med hjรคlp av fem inbyggda variabler i ett villkor som utvรคrderas en gรฅng fรถr varje rad.

  • ๐Ÿ”„ Fem inbyggda variabler: TC_CONTINUE_TRANSACTION, TC_COMMIT_BEFORE, TC_COMMIT_AFTER, TC_ROLLBACK_BEFORE och TC_ROLLBACK_AFTER bestรคmmer vad som hรคnder pรฅ varje rad.
  • โš™๏ธ Tillstรฅndet finns i egenskaper: Fรคltet Transaktionskontrollvillkor pรฅ fliken Egenskaper innehรฅller det IIF-uttryck som integrationstjรคnsten utvรคrderar.
  • ๐Ÿงช Utarbetat exempel: Sju kartaping Designersteg skickar EMP-data till EMP_TARGET nรคrhelst avdelningsnummer 20 hittas.
  • โœ… Effektiv eller ineffektiv: Varje transformation som tar bort transaktionsgrรคnser efter den gรถr objektet ineffektivt fรถr mรฅlet bakom det.
  • ๐Ÿ”ง Sessionscommit-typ: En kartaping med en effektiv transaktionskontrolltransformation kรถrs under den anvรคndardefinierade commit-typen.
  • โš ๏ธ Strikt returvรคrde: Ett villkor som returnerar nรฅgot annat รคn commit, rollback eller continue gรถr att integrationstjรคnsten misslyckas med sessionen.

Transaktionskontrolltransformation i Informatica

Vad รคr Transaction Control Transformation?

Transaktionskontroll รคr en aktiv och sammankopplad transformation som gรถr det mรถjligt fรถr oss att genomfรถra eller รฅterstรคlla transaktioner under exekveringen av mappningen.pingCommit- och rollback-รฅtgรคrder รคr av stor betydelse eftersom de garanterar tillgรคngligheten av data.

Vid bearbetning av stora datamรคngder kan det uppstรฅ situationer dรฅ det รคr nรถdvรคndigt att committa data till mรฅlet. Om en commit utfรถrs fรถr ofta blir det en belastning fรถr systemet. Om en commit utfรถrs fรถr sent finns det risk fรถr datafรถrlust i hรคndelse av fel.

Sรฅ, fรถr att ge flexibilitet, tillhandahรฅlls transformationen Transaction Control. Istรคllet fรถr att lรคmna commit-punkten till sessionens standardvรคrde, tillรฅter den ett villkor inuti kartaping bestรคmma, rad fรถr rad, var en transaktion slutar och nรคsta bรถrjar.

TCL-kommandon fรถr commit och rollback

Det finns fem inbyggda variabler tillgรคngliga i den hรคr transformationen fรถr att hantera operationen. Villkoret mรฅste returnera en av de fem fรถr varje rad, och ett vรคrde utanfรถr den listan gรถr att integrationstjรคnsten misslyckas med sessionen.

TC_CONTINUE_TRANSACTION

I TC_CONTINUE_TRANSACTION utfรถrs inga operationer, processen fรถr datainlรคsning fortsรคtter som den gรถr. Detta รคr standardvรคrdet fรถr uttrycket.

TC_COMMIT_BEFORE

I TC_COMMIT_BEFORE, nรคr denna flagga รคr satt, utfรถrs en commit innan bearbetningen av den aktuella raden pรฅbรถrjas. En ny transaktion pรฅbรถrjas sedan och den aktuella raden skrivs till mรฅlet.

TC_COMMIT_AFTER

I TC_COMMIT_AFTER bearbetas den aktuella raden, sedan utfรถrs en commit och nรคsta transaktion pรฅbรถrjas.

TC_ROLLBACK_BEFORE

I TC_ROLLBACK_BEFORE utfรถrs rollback fรถrst, sedan bearbetas data fรถr att skrivas.

TC_ROLLBACK_AFTER

I TC_ROLLBACK_AFTER bearbetas data, sedan utfรถrs rollback.

Egenskaper fรถr transformation av transaktionskontroll

Objektet konfigureras frรฅn fรถnstret Redigera transformationer, som har samma fyra flikar som de andra PowerCenter-transformationerna. Att veta vilken flik som รคger vilken instรคllning sparar mycket letande under genomgรฅngen nedan.

Fliken Vad som รคr konfigurerat dรคr
Transformation Namn pรฅ transformationen, dess beskrivning och om objektet gรถrs รฅteranvรคndbart.
Hamnar In- och utportarna, normalt skapade genom att dra kolumnerna in frรฅn uppstrรถmstransformationen.
Vรฅra Bostรคder Transaktionskontrollvillkoret, som รถppnas med den lilla pilen bredvid fรคltet, och Tracing-nivรฅ skriven till sessionsloggen.
Metadatatillรคgg Anvรคndardefinierade metadata som lagras med transformationen i arkivet.

Tvรฅ instรคllningar gรถr det riktiga jobbet. Transaktionskontrollvillkor innehรฅller uttrycket, vilket vanligtvis รคr ett IIF()-test som returnerar en av de fem variablerna. Tracingnivรฅ avgรถr hur mycket detaljer om transformationen som visas i sessionsloggen nรคr kรถrningen undersรถks.

En miljรถ ligger utanfรถr transformationen. Nรคr en kartaping innehรฅller en effektiv transaktionskontrolltransformation, kรถrs sessionen med Typ av commit instรคlld pรฅ Anvรคndardefinierad pรฅ fliken Egenskaper i session, istรคllet fรถr Target eller kรคllcommit-typer som anvรคnder ett fast commit-intervall.

Hur man anvรคnder transaktionskontrolltransformation i Informatica

I det hรคr exemplet kommer vi att committa data till mรฅlet nรคr villkoret avdelningsnummer = 20 รคr sant.

Steg 1) Skapa en kartaping med EMP som kรคlla och EMP_TARGET som mรฅl. Kartanping Designer-arbetsplatsen innehรฅller sedan kรคllan, dess kรคllkvalificerare och mรฅldefinitionen.

Kartaping Designer-arbetsyta med EMP-kรคllan, dess kรคllkvalificerare och EMP_TARGET-mรฅldefinitionen

Steg 2) Skapa en ny transformation med hjรคlp av menyn Transformation och gรถr sedan fรถljande i fรถnstret Skapa transformation:

  1. Vรคlj en transaktionskontroll som den nya transformationen
  2. Ange transformationsnamnet "tc_commit_dept20"
  3. Vรคlj skapa alternativ

Skapa transformationsfรถnstret med transaktionskontrollen vald och namnet tc_commit_dept20 angivet

Steg 3) Transaktionskontrolltransformationen skapas, vรคlj knappen "Klar". Det nya objektet visas nu pรฅ arbetsytan bredvid kรคllkvalificeraren.

Transaktionskontrolltransformationen tc_commit_dept20 skapades bredvid kรคllkvalificeraren

Steg 4) Dra och slรคpp alla kolumner frรฅn kรคllkvalificeraren till transaktionskontrolltransformationen och lรคnka sedan alla kolumner frรฅn transaktionskontrolltransformationen till mรฅltabellen. Pipelinen kรถrs nu kรคllkod โ†’ kรคllkvalificerare โ†’ tc_commit_dept20 โ†’ EMP_TARGET.

Kolumner fรถr kรคllkvalificerare lรคnkade via tc_commit_dept20 till tabellen EMP_TARGET

Steg 5) Double Klicka pรฅ Transaktionskontrolltransformationen och sedan i fรถnstret fรถr redigering av egenskaper:

  1. Vรคlj egenskapsflik
  2. Klicka pรฅ ikonen fรถr redigeraren fรถr transaktionskontroll

Fliken Egenskaper i fรถnstret Redigera transformationer som visar ikonen fรถr transaktionskontrollredigeraren

Steg 6) I uttrycksredigeraren anger du uttrycket โ€“

iif(deptno=20,tc_commit_before,tc_continue_transaction)

och vรคlj OK. Det betyder att om avdelningsnummer 20 hittas, genomfรถr transaktionen i mรฅlet, annars fortsรคtter den aktuella bearbetningen.

Uttrycksredigerare som innehรฅller IIF-villkoret som genomfรถr fรถre en rad med avdelningsnummer 20

Steg 7) Vรคlj OK i fรถregรฅende fรถnster. Villkoret รคr nu lagrat pรฅ fliken Egenskaper fรถr transformationen.

Fliken Egenskaper i fรถnstret Redigera transformationer efter att transaktionskontrollvillkoret har sparats

Spara nu kartanping och kรถr den efter att session och arbetsflรถden har skapats. Denna kartaping kommer att รถverfรถra data till mรฅlet nรคrhelst avdelningsnummer 20 hittas i data.

Effektiva och ineffektiva transaktionskontrolltransformationer

Transformationen รคr en transaktionsgenerator. Den tar bort alla transaktionsgrรคnser som anlรคnder uppstrรถms och definierar nya egna grรคnser fรถr allt nedstrรถms, vilket รคr anledningen till att dess position i pipelinen รคr lika viktig som dess tillstรฅnd.

Det kallas effektiv fรถr ett mรฅl nรคr de grรคnser det skapar fortfarande nรฅr det mรฅlet, och ineffektiva nรคr en senare transformation tar bort dessa grรคnser. Enligt Informatica PowerCenter Transformation Guide tar fรถljande objekt bort inkommande transaktionsgrรคnser:

  • En aggregator, Snickare, Rang, Sorterare eller anpassad transformation vars transformationsomfattning รคr All indata
  • En anpassad transformation konfigurerad fรถr att generera transaktioner
  • ร„nnu en transformation av transaktionskontroll
  • En transformation med flera ingรฅngsgrupper ansluten till mer รคn en uppstrรถms transaktionskontrollpunkt

Att vara ineffektivt fรถr mรฅlet gรถr inte objektet oanvรคndbart. En nedstrรถmstransformation vars transformationsomfattning รคr Transaktion anvรคnder fortfarande de grรคnser som definierats uppstrรถms, sรฅ samma transformation kan vara effektiv fรถr en sorterare och ineffektiv fรถr tabellen bakom den.

Pรฅ en kartaping Med flera mรฅl kan objektet vara effektivt fรถr ett mรฅl och ineffektivt fรถr ett annat. Kartanping fรถrblir giltig medan varje mรฅl รคr kopplat till en effektiv transaktionskontrolltransformation och blir ogiltig sรฅ snart ett mรฅl inte รคr det. Designern rapporterar vilka transformationer som รคr ineffektiva fรถr mรฅl nรคr mappningenping sparas eller valideras.

Regler och riktlinjer fรถr transformation av transaktionskontroll

De flesta problemen med den hรคr transformationen uppstรฅr vid kรถrning snarare รคn vid designtid, sรฅ punkterna nedan รคr vรคrda att kontrollera innan sessionen byggs.

  • Returvรคrdet รคr strikt. Om villkoret utvรคrderas till nรฅgot annat รคn commit, rollback eller continue, misslyckas integrationstjรคnsten med att genomfรถra sessionen.
  • TC_CONTINUE_TRANSACTION รคr reservalternativet. Varje gren av IIF() mรฅste sluta nรฅgonstans, och continue รคr det vรคrde som lรคmnar den aktuella transaktionen orรถrd.
  • Mรฅltypen spelar roll. En transaktionskontrolltransformation som รคr kopplad till ett annat mรฅl รคn ett relationellt, XML- eller dynamiskt MQSeries-mรฅl รคr ineffektiv fรถr det mรฅlet.
  • Villkoret kan bara anvรคnda det som nรฅr det. Endast portar som รคr lรคnkade till transformationen, dess variabla portar och de inbyggda variablerna รคr tillgรคngliga i transaktionskontrollredigeraren.
  • Commit-frekvensen รคr en avvรคgning. Ett villkor som genomfรถrs pรฅ nรคstan varje rad tar bort fรถrdelen med buffring, medan ett villkor som nรคstan aldrig utlรถses รฅterinfรถr datafรถrlustfรถnstret som transformationen lades till fรถr att stรคnga.
  • Kontrollera sessionsloggen. Loggen registrerar de commit-punkter som faktiskt togs, vilket รคr det snabbaste sรคttet att bekrรคfta att villkoret betedde sig som avsett under prestandajustering.

Vanliga frรฅgor

Ett commit-intervall committar efter ett fast antal rader som anges i sessionen. Ett transaktionskontrollvillkor committar pรฅ sjรคlva data, sรฅ commit-punkten fรถljer en affรคrsregel snarare รคn ett radantal.

Informatica PowerCenter Transformation Guide anger att en Transaction Control-transformation som รคr kopplad till nรฅgot annat mรฅl รคn ett relationellt, XML- eller dynamiskt MQSeries-mรฅl รคr ineffektiv fรถr det mรฅlet.

Ja. Bygg den i Transformationsutvecklaren, eller markera Gรถr รฅteranvรคndbar pรฅ fliken Transformation fรถr en befintlig karta. Varje kartaping delar sedan samma villkor, sรฅ en regelรคndring nรฅr dem alla samtidigt.

Maskininlรคrning รถver historiska sessionsloggar kan flagga laddningar dรคr commit-frekvensen korrelerar med lรฅnga kรถrtider eller rollback-stormar. Fรถrslaget รคr fortfarande en hypotes, sรฅ verifiera det mot en verklig kรถrning innan du รคndrar villkoret.

Copilot kan utarbeta IIF()-formen och pรฅminna dig om de fem variabelnamnen, men den kรคnner inte till dina portnamn eller affรคrsregler. Anvรคnd utdata som en utgรฅngspunkt och validera den i uttrycksredigeraren.

Uppdateringsstrategin avgรถr vad som hรคnder med en rad, genom att tagga den med infoga, uppdatera, ta bort eller avvisa. Transaktionskontrollen avgรถr nรคr de skrivna raderna gรถrs permanenta. De tvรฅ svarar pรฅ olika frรฅgor och anvรคnds ofta tillsammans.

Cloud Data Integration levererar sin egen Transaction Control-transformation med samma commit-, rollback- och continue-variabler. Designidรฉn รถverfรถrs, men objektet byggs i molnkartan.ping Designer snarare รคn i PowerCenter-klienten.

Rader som skrivits sedan den senaste commit-funktionen i den transaktionen kasseras. Allt som commit-ats tidigare stannar kvar i mรฅlet, vilket รคr anledningen till att placeringen av commit-punkterna avgรถr hur mycket arbete ett fel kan kosta.

Sammanfatta detta inlรคgg med: