Ce sunt tranzacțiile? Sisteme de procesare a tranzacțiilor

Într-o lume în care totul se schimbă atât de rapid, nu te poți opri pentru un minut. Acest lucru este valabil și pentru obținerea de noi informații. Un termen necunoscut sau cea mai recentă versiune a unui produs software este o scuză pentru a completa cunoștințele într-o zonă sau alta. Astăzi vom vorbi despre ce sunt tranzacțiile, cum funcționează.

Introducere în terminologie

O varietate de produse software automatizarea proceselor de afaceri sa stabilit ferm pe piață în ultimii 15 ani. Acest lucru necesită abilitatea de a lucra cu software-ul la diferite niveluri de interacțiune: ca operator, programator, contabil etc. Prin urmare, este important să înțelegem câteva dintre mecanismele programului. În primul rând, vom aborda un termen atât de comun și înfricoșător ca o tranzacție. De cele mai multe ori, un cuvânt frumos împrumutat ascunde un fenomen mai puțin complex, așa cum mulți oameni își imaginează, pronunțând un nou termen, încercând-o cu urechea. Să ne uităm la ce tranzacții sunt.care sunt tranzacțiile

Definiția concept

Această denumire este utilizată în legătură cu orice produs în care este implementată lucrarea cu baza de date. Câteva operațiuni, logic unite într-un întreg și executate alternativ unul după altul, și există o tranzacție. În viața de zi cu zi, un lanț de tranzacții poate fi considerat un lanț de proceduri precum "trezit - spălat - îmbrăcat - a avut micul dejun - a mers la locul de muncă".

Să luăm în considerare acest concept folosind exemplul produselor 1C. Tranzacția este aceeași secvență indivizibilă a acțiunilor. Un exemplu viu poate servi drept înregistrare a unei unități de mărfuri: deschiderea directorului dorit, crearea unui element nou, completarea câmpurilor obligatorii. Pentru ca toate aceste acțiuni să conducă la rezultatul dorit, este necesar să le purtăm cu strictețe de la primul la ultimul. Numai în această condiție procedura va fi considerată reușită. În caz contrar, tranzacția este anulată.

Procesele luate în considerare pot fi fie automate, adică furnizate în sistem, fie completate manual de către dezvoltator după achiziționarea produsului finit, pentru a le face pe aceștia mai convenabil pentru utilizatorii unei anumite întreprinderi. În plus, din modul automat, atunci când comportamentul sistemului este reglat de mecanismele integrate, tranzacțiile pot fi transferate într-o operație gestionată.

nu poate finaliza o tranzacție sigură

Tranzacții în 1C: subtilități ale limbajului încorporat

Ce este o tranzacție în cazul general, înțelegem. Dar, deoarece fiecare companie de software o face în felul său, există anumite diferențe între tranzacții în general și tranzacții în 1C în special. De exemplu, imbricate (tranzacție în cadrul unei tranzacții) din 1C nu sunt acceptate.

Din punctul de vedere al sintaxei, operatorii limbajului încorporat sunt destul de simpli. Începutul procesului este declarat folosind procedura specială StartTransaction (). Procedura Fix Transaction () este utilizată pentru a înregistra modificările în timpul executării acțiunilor. Dacă în acest proces eșuează, este posibil OtmenitTranzaktsiyu () pentru a anula modificările comise.

De ce este de preferat utilizarea tranzacțiilor? Deoarece codul în aceste proceduri este mult mai rapid. În acest scop, orice programator se străduiește. Diferența de viteză poate să nu fie atât de vizibilă în cazul în care utilizatorii 1C din birou au 1-2 angajați, dar nu puteți să vă simțiți atunci când vine vorba de departamente întregi care îndeplinesc simultan diferite sarcini în programul specificat.

capcane

În plus față de plusul evident, constând într-o creștere gravă viteza de citire și înregistrează atunci când lucrează cu baza de date, tranzacțiile au propriul minus. Să revenim la exemplul de mai sus din viață. Ce sunt tranzacțiile făcute nu de o singură persoană, ci de întreaga familie? Toată lumea încearcă să intre în baie să se spele mai devreme, toată lumea este aglomerată în bucătărie, pentru că este timpul pentru micul dejun. Drept urmare, membrii familiei sunt nemulțumiți unul cu celălalt. În cel mai bun caz, este doar un început nefericit al zilei, în cel mai rău caz - munca târzie, mustrarea de la autorități, planurile sfâșiate.

Programul este același. Dacă toți utilizatorii încep să editeze date în același document în același timp, ce versiune ar trebui să fie considerată ultima? Ce date ar trebui salvate înainte? Pentru a evita o astfel de confuzie, există un mecanism de blocare. Acest lucru înseamnă că, în timp ce un utilizator lucrează la un document, al doilea în lista de așteptare virtuală și așteaptă. După ce tranzacția a fost finalizată sau reluată cu succes, următorul utilizator poate lucra la document.1c

A fi sau nu să fie controlat de încuietori?



Conceptul de tranzacție nu poate fi luat în considerare pe deplin fără eliberarea unor blocări redundante. Care este răul mare: lipsa de încuietori, care duce la un proces incorect de citire și scriere cu rezultate incorecte la ieșire sau există prea multe dintre ele, împiedicând activitatea întregii întreprinderi?

Cea mai bună soluție sunt blocările gestionate, care sunt mediile de aur. Un programator competent poate personaliza mecanismul existent pentru nevoile organizației astfel încât documentele cu adevărat importante să fie procesate în ordinea coadajului. Pentru aceleași elemente de configurare care nu necesită blocare, puteți activa editare gratuită.

Astfel, analiza la timp a tranzacțiilor și atitudinea corectă față de blocare permit să profite din plin de flexibilitatea sistemului "1C: Enterprise" și să optimizeze funcționarea bazei de date, minimizând pierderile temporare.

sistemele de procesare a tranzacțiilor

De ce duceți la blocări excesive?

Întrebarea nu este retorică. Dacă eliminați încuietorile necesare, va exista confuzie și haos. Datele incorecte vor începe să se acumuleze în baza de date din cauza înregistrării simultane a soldurilor sau, invers, a acumulării de active. Dar consecințele sunt de acest fel care nu vor ieși imediat la lumină. Prima dată când lucrarea va merge repede, creând iluzia corectitudinii alegerii respingerii încuietorilor. Pe de altă parte, un număr extrem de mare de încuietori provoacă imediat mesaje de eroare. "Tranzacția securizată nu poate fi finalizată", sistemul ne avertizează. Ce înseamnă asta? Două tranzacții s-au blocat reciproc în așa fel încât nici nu poate finaliza acțiunea inițiată, nici nu a efectuat anularea. Un cerc vicios de tranzacții "moarte" va rămâne în bază de date înainte de detectare, reducând semnificativ performanța sistemului.

Operațiile suplimentare pentru anularea acțiunilor măresc numărul de intrări în jurnal. În plus, un astfel de sistem nu este viabil, deoarece chiar și o creștere mai mare a utilizatorilor îl va îngropa pur și simplu sub sarcina blocărilor "moarte". Timpul de nefuncționare va crește în mod invariabil. Cum să evităm astfel de situații?anularea tranzacției

Niveluri de izolație - un alt mod de a nu rula aglomerat

Vorbind despre ce tranzacții sunt, am menționat capcanele. Continuând analogia, putem spune cu încredere că variația nivelului de încuietori este un instrument fiabil pentru pilot în călătoria prin mare 1C. Există două nivele de izolare: "citire, fără înregistrare" și "nici înregistrare, nici citire". În modul automat, selecția nu este disponibilă. Dar este suficient să transformați aplicația într-un mod gestionat și puteți seta limite inteligente, alegând nu numai documente importante, ci și atribuirea unui nivel adecvat de izolare.

Cu toate acestea, munca prestată cu competență este, în primul rând, prevenirea situațiilor de urgență și nu numai eliminarea în timp util a eșecurilor deja înregistrate. Administratorii asistent de baze de date vor servi ca sisteme de procesare a tranzacțiilor. Se bazează pe date despre modul în care au fost finalizate toate operațiile din sistem, fie că au fost finalizate cu succes, fie că au fost anulate, este posibil să se prevadă comportamentul ulterior al sistemului și să se prevină potențialele amenințări.

conceptul de tranzacție

Rezumând rezultatele globale

Am înțeles definiția tranzacției, am examinat din interior algoritmul procesului, am făcut cunoștință cu diferite modalități de reglementare a operațiunilor în cadrul aceleiași baze de informații.analiza tranzacțiilor

După cum arată practica, mecanismul nu este ușor, dar este accesibil pentru înțelegerea și aprofundarea studiului chiar și pentru programatorii novici și pentru administratorii de baze de date. Metodele de reglementare nu pot fi încă perfecționate și nu este posibilă evitarea problemelor în modul complet automatizat, dar, totuși, viața dezvoltatorului devine mai ușoară cu fiecare nouă versiune a software-ului.

Distribuiți pe rețelele sociale:

înrudit
Cum se actualizează iTunes: secrete și recomandăriCum se actualizează iTunes: secrete și recomandări
Cum se actualizează "iTunes" pe PC: sfaturiCum se actualizează "iTunes" pe PC: sfaturi
Programator-cursant: educație, trăsături de muncă, îndatoririProgramator-cursant: educație, trăsături de muncă, îndatoriri
Ce este "soft", tipurile luiCe este "soft", tipurile lui
Specificitatea muncii și salariul programatoruluiSpecificitatea muncii și salariul programatorului
Proprietatea este ... Software-ul proprietarProprietatea este ... Software-ul proprietar
Ce este PAK și pentru ce este?Ce este PAK și pentru ce este?
Sistem automatizat ... Sisteme automatizate de proiectareSistem automatizat ... Sisteme automatizate de proiectare
Statie de lucru: Ce este aceasta din punctul de vedere al sistemelor informatice?Statie de lucru: Ce este aceasta din punctul de vedere al sistemelor informatice?
Program de afiliere în valutăProgram de afiliere în valută
» » Ce sunt tranzacțiile? Sisteme de procesare a tranzacțiilor