ID și vârsta tranzacției

ID și vârsta tranzacției

Întrebările, dezvoltatorii au nevoie pentru a crea aplicații client-server folosind baza de date Firebird, care a fost dezvoltarea bazelor de date Borland Interbase 6. Oferă o imagine de ansamblu a conceptelor și modelelor de arhitectura client / server, precum și sfaturi practice pentru lucrul cu bibliotecile client Firebird. Caracteristicile sunt descrise în detaliu tipurile de date SQL, limbaj de manipulare a datelor (Limba de manipulare a datelor, LMD), precum și limbajul de sintaxă și date definiție (Data Definition Language, DDL). O atenție deosebită este acordată descrierii tranzacțiilor și oferă sfaturi cu privire la modul de utilizare a acestora atunci când dezvoltați aplicații. Programarea Descris pe partea de client și serverul de scriere declanșatoare și proceduri stocate, crearea și utilizarea de evenimente de baze de date, eroare de manipulare în codul de pe server și multe altele. Materialul este însoțit de numeroase exemple, sfaturi și recomandări practice.

Pentru dezvoltatorii de baze de date

Rezervați: GHID DE DEZVOLTARE DATABASE Firebird

ID și vârsta tranzacției

Secțiunile de pe această pagină sunt:

ID și vârsta tranzacției

Identificatorul tranzacției este un număr întreg de 32 de biți care este generat cu o singură valoare. O bază de date nouă sau doar restabilită inițiază o serie de identificatori dintr-o unitate. Vârsta tranzacției este determinată de identificatorul acesteia: cea mai veche are cel mai mic identificator.

Identificatorii tranzacției și stările asociate ale datelor sunt stocate în paginile inventarului de tranzacții. Pe pagina de antet a unui sistem de contabilitate de baze de date menține un set de câmpuri care conțin identificatorii de tranzacție de interes pentru sistem, și anume cea mai veche tranzacție interesantă (cel mai vechi tranzacție Interesant, OIT), cea mai veche tranzacție activă (cel mai vechi Active Transaction, OAT) și numărul de angajați în tranzacția următoare. identificator de tranzacție „Instantaneu“ este de asemenea înregistrată de fiecare dată când crește OAT - de obicei același cod de identificare ca OAT, sau în apropierea acestuia.

Obținerea ID-ului tranzacției

Firebird 1.5 și versiunile ulterioare au o variabilă de context CURRENT? TRANSACTION, care returnează ID-ul acestei tranzacții. Acesta poate fi folosit în SQL în orice expresie. De exemplu, pentru a stoca identificatorul tranzacției în tabelul de protocol, puteți utiliza următoarele:

INSCRIEȚI ÎN BOOK_OF_LIFE

(TID, COMMENT, SIGNATURE) VALORI

"Aceasta a fost o zi minunată pentru tranzacții", CUERENT_USER);

Este important să rețineți că ID-urile tranzacțiilor sunt ciclice. Deoarece numerotarea este resetată după fiecare restaurare a bazei de date, ID-urile de tranzacție nu ar trebui să fie utilizate pentru cheile primare sau constrângerile unice.

Transfocarea ID-ului tranzacției

După cum sa menționat, identificatorul tranzacției este un număr întreg pe 32 de biți. Dacă succesiunea identificatorilor depășește limita de 4 GB și începe o nouă numărătoare inversă, lucrurile neplăcute se pot întâmpla. Când ultima tranzacție este finalizată, tranzacția de sistem va înceta să funcționeze și modificarea metadatelor nu va fi posibilă. Colecția de gunoi se oprește. Tranzacțiile utilizatorilor nu vor începe.

La 100 tranzacții pe secundă, va dura 1 an, 4 luni, 11 zile, 2 ore și aproximativ 30 de minute [90].

Articole similare