Sistemul de procesare a tranzacțiilor este un program sau software care procesează toate tranzacțiile care intră și ies dintr-o afacere sau o companie. Sistemul trece peste tranzacțiile una câte una, ca într-un bancomat (ATM) care permite doar un utilizator la un moment dat. Termenul „tranzacție”, în acest caz, nu se referă doar la aspectele financiare, ci la solicitările de informații în ansamblu, cum ar fi rezervarea unui zbor sau doar conectarea la un cont bancar online.
În contrast direct cu un sistem de procesare a tranzacțiilor este un sistem de procesare în lot. Acest sistem procesează mai multe tranzacții – sau un „lot” de tranzacții – simultan. Principalul dezavantaj este că tranzacțiile procesate nu returnează rezultate imediate.
O analogie modernă este un fișier torrent conectat la un folder de fișiere. Utilizatorul nu poate accesa imediat un fișier până când toate fișierele din folder nu sunt descărcate complet. Procesul de tranzacție, dimpotrivă, dă rezultate în timp real care creează mai multă comoditate și mai puțină confuzie. De exemplu, un cumpărător online poate vedea instantaneu că numărul de produse disponibile scade pe măsură ce alți cumpărători pun produsele în coșul lor de cumpărături online.
Software-ul sau programul este supus, de obicei, unui test ACID pentru a se califica ca sistem de procesare a tranzacțiilor. ACID înseamnă Atomicity, Consistency, Isolation, and Durability. Atomicitatea se referă la capacitatea sistemului de a efectua sau de a renunța la o tranzacție în întregime. De exemplu, înregistrarea pentru un cont bancar online necesită ca utilizatorul să introducă informațiile necesare. Lăsând un câmp necompletat sau închiderea ferestrei, utilizatorul va pierde înregistrarea.
Consecvența într-un sistem de procesare a tranzacțiilor înseamnă că sistemul ar trebui să funcționeze sub limitările constrângerilor de integritate ale managementului bazei de date. Mai simplu spus, programarea ar trebui să fie corectă. Caracteristica izolării înseamnă că fiecare tranzacție este tratată ca separată și diferită, chiar dacă aceleași tranzacții au loc în același timp. Durabilitatea sistemului indică faptul că, dacă o tranzacție este efectuată cu succes, aceasta nu poate fi inversată. În cazul unei defecțiuni a sistemului, programul ar trebui să rețină în continuare datele printr-un jurnal codificat.
Pe lângă caracteristicile necesare care trec testul ACID, un sistem de procesare a tranzacțiilor ar trebui, de asemenea, să fie de încredere. Aceasta înseamnă că programul are o șansă minimă sau zero de a eșua. În situații de defecțiune, recuperarea ar trebui să fie rapidă, iar un sistem de rezervă se activează imediat. De asemenea, sistemul ar trebui să fie complet accesibil doar pentru utilizatorii limitati. De exemplu, un vizitator poate alege ce loc să ia într-un zbor cu avionul, dar nu poate anula un loc rezervat de către un vizitator anterior, sarcină pe care o poate îndeplini doar un programator sau un personal experimentat.