DatorerInformationsteknik

Vad är en transaktion? Transaktionsbehandlingssystem

I en värld där allt förändras så snabbt, kan vi inte för en minut stopp. Detta gäller mottagandet av ny information. Okänd term eller den senaste versionen av programvaran - det är ett tillfälle att fylla upp kunskaper inom ett visst område. Idag kommer vi att tala om vad affären, hur det fungerar.

Introduktion till terminologi

En mängd olika program för att automatisera affärsprocesser etablerat på marknaden under de senaste 15 åren. Detta förutsätter en förmåga att arbeta med program på olika nivåer av interaktion: som operatören, programmerare, revisor, etc. Därför är det viktigt att förstå några av de mekanismer i programmet. Till att börja med låt oss ta itu med sådana täta och skrämmande många termer en transaktion. Oftast, för att låna orden i den vackra dolda långt från en sådan komplex företeelse, som många inser, att yttra en ny term, försöker den med örat. Låt oss förstå att en sådan transaktion.

definitionen

Denna notation används för att hänvisa till någon produkt som implementerar databasen. Flera operationer logiskt kombineras till en och köra växelvis med varandra, och det finns en transaktion. I vardagen kan transaktionen betraktas som en kedja av förfaranden som "vaken - tvättade - klätt - frukost - gick till jobbet."

Tänk på ovanstående koncept till exempel 1C produkter. Transaktion - detta är samma odelbar sekvens. En bra modell kan fungera som ett register över varuenheten: öppna önskad katalog, skapa en ny post, fylla i fälten. För att se till att alla dessa åtgärder har lett till önskat resultat, är det nödvändigt att genomföra dem strikt från den första till den sista. Först då proceduren kommer att betraktas som en framgång. Annars transaktionen avbryts.

Dessa processer kan vara antingen automatiskt, som tillhandahålls i systemet, och manuellt av utvecklaren att avsluta efter att ha köpt den färdiga produkten för att göra den senare lättare för användare av ett visst företag. Dessutom det automatiska läget, när beteendet hos systemet regleras genom inbyggd mekanism, kan omvandlas transaktioner att köra.

Transaktioner i 1C: nyanser i den inbyggda språk

Vad är en transaktion i det allmänna fallet, kan vi förstå. Men eftersom varje företag som sysslar med mjukvaruutveckling, vilket gör det på sitt eget sätt, det finns vissa skillnader mellan transaktioner i allmänhet och transaktioner i 1C i synnerhet. Till exempel är det kapslade (transaktion inom transaktionen) inte stöds i 1C.

Ur synvinkel syntax operatörer inbyggda språk enkel nog. Starta processen meddelas av ett särskilt förfarande BeginTransaction (). förfarande ZafiksirovatTranzaktsiyu () används för att registrera ändringar under genomförandet av åtgärderna. Om i processen det misslyckas, är det möjligt OtmenitTranzaktsiyu () för att ångra engagerade förändringar.

Varför använda en transaktion är att föredra? Eftersom koden i dessa förfaranden är mycket snabbare. Det är detta och söker någon programmerare. Skillnaden i hastighet får inte vara så märkbar om 1C användare på kontoret 1-2 anställda, men det är omöjligt att inte känna när det gäller hela avdelningar, samtidigt för att utföra olika arbeten i detta program.

fallgropar

Förutom de uppenbara fördelarna, som består i en allvarlig ökning av hastigheten på läsning och inspelning när du arbetar med databasen i en transaktion finns ett minus. Låt oss gå tillbaka till det tidigare exemplet i livet. Vad är en transaktion som inte görs av en person, och hela familjen? Alla försöker att komma in i badrummet för att tvätta innan all publik i köket eftersom det är frukost. Som ett resultat av familjemedlemmar är missnöjda med varandra. I bästa fall är det bara en dålig start på dagen, och i värsta fall - att vara sen till jobbet, en reprimand från sina överordnade, omintetgöra.

I programmet finns är densamma. Om alla användare kommer att börja ändra data samtidigt i samma dokument, som anses vara den senaste versionen? Vilka data används för att spara? För att undvika sådan förvirring, det finns en låsningsmekanism. Detta innebär att medan en användare arbetar på ett dokument sekund placeras i den virtuella kö och väntar. Efter avslutad eller rollback dokumentet kanske inte fungerar nästa användare.

Eller kanske inte styras lås?

Begreppet en transaktion kan inte helt åtgärdas utan problemet med överdrivna lås. Vad är det större onda: avsaknaden av lås som leder till onormal process att läsa och skriva med fel resultat vid utgången, eller för många, hämma driften av hela företaget?

Den bästa lösningen - styrda lås, som är den gyllene medelvägen. En kompetent programmerare kan anpassa en befintlig mekanism för att behoven av organisationen så att de verkligt viktiga dokument behandlas i den ordning kö. Enligt samma konfigurationselement, som inte kräver lås, kan du tillåta fri redigering.

Således tid analys av transaktionerna och rätt attityd för att låsa tillåter full användning av flexibiliteten i systemet "1C: Enterprise" och optimera databasen operationen, minimera tidsförlusterna.

Vad orsakar överdriven lås?

Frågan är inte retorisk. Om det är nödvändigt att ta bort låset, kommer det att finnas förvirring och kaos. Databasen kommer att samla in de felaktiga uppgifter på grund av de samtidiga avskrivnings saldon, eller omvänt, den periodisering av tillgångar. Men konsekvenserna av sådant slag som kommer att dyka upp på en gång. Första gången kommer arbetet att gå snabbt, vilket skapar en illusion av riktigheten i valet av lås misslyckande. Å andra sidan, ett stort antal ogenomtänkta lås omedelbart orsakar felmeddelanden. "Det går inte att slutföra säker transaktion" - varnar vårt system. Vad betyder det? Två ömsesidigt blockerat transaktioner till varandra så att ingen kan antingen slutföra jobbet, eller att genomföra avbokning. Den onda cirkeln av "döda" transaktionen kommer att hänga i databasen före detektion, vilket avsevärt minskar systemets prestanda.

Onödiga operationer avboknings åtgärder för att öka antalet poster i loggen. Dessutom är ett sådant system inte är livskraftiga, eftersom ännu större användare begrava helt enkelt under tyngden av "döda" lås. Driftstopp är alltid växer. Hur man undviker sådana situationer?

Isolering nivåer - ett sätt att inte köra på grund

Bortsett från det faktum att en sådan transaktion, vi nämnt om fallgropar. Fortsatt analogi kan vi tryggt hävda att variationen i nivån av låset - ett pålitligt verktyg pilot på en resa till havet 1C. Det finns två nivåer av isolering "skrivskyddad, ingen post" och "ingen inspelning eller läsning." I automatiskt läge val är inte tillgänglig. Men det räcker med att översätta ansökan hanteras läge och du kan sätta "smarta" begränsningar, väljer inte bara viktiga dokument, men också ge dem en lämplig nivå av isolering.

Men väl iscensatt arbete - är framför allt förebyggande av nödsituationer, och inte bara i tid avveckling har redan inträffat misslyckanden. Assistant databasadministratör kommer att ge transaktionsbehandlingssystem. Det är på grundval av dessa data, hur var någon verksamhet i systemet, om de har slutförts eller avbrutits, är det möjligt att förutsäga den fortsatta beteende systemet och förhindra eventuella hot.

En allmän sammanfattning

Vi handlade om definitionen av transaktionen, ansåg ett flödesschema över processen från insidan, fick bekanta sig med olika sätt att reglera verksamheten inom en enda informations bas.

Som framgår är mekanismen inte lätt, men lätt att förstå och bättre hantera även nybörjare programmerare och databasadministratörer. kontrollmetoder kan ännu inte föras till perfektion, och för att undvika problem i ett helautomatiskt läge också, inte är möjligt, men ändå med varje ny version av programutvecklare livet blir lättare.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sv.birmiss.com. Theme powered by WordPress.