System przetwarzania transakcji to program lub oprogramowanie, które przetwarza wszystkie transakcje przychodzące i wychodzące z firmy lub firmy. System sprawdza transakcje jedna po drugiej, tak jak w bankomacie (ATM), który pozwala tylko jednemu użytkownikowi na raz. Termin „transakcja” w tym przypadku odnosi się nie tylko do aspektów finansowych, ale do próśb o informacje jako całość, takich jak rezerwacja lotu lub samo zalogowanie się na internetowe konto bankowe.
W przeciwieństwie do systemu przetwarzania transakcji jest system przetwarzania wsadowego. System ten przetwarza wiele transakcji — lub „partie” transakcji — jednocześnie. Główną wadą jest to, że przetwarzane transakcje nie zwracają natychmiastowych wyników.
Współczesną analogią jest plik torrent połączony z folderem plików. Użytkownik nie może natychmiast uzyskać dostępu do pliku, dopóki wszystkie pliki w folderze nie zostaną całkowicie pobrane. Wręcz przeciwnie, proces transakcji daje wyniki w czasie rzeczywistym, które zapewniają większą wygodę i mniej zamieszania. Na przykład kupujący online może natychmiast zauważyć, że liczba dostępnych produktów maleje, ponieważ inni kupujący umieszczają je w swoim koszyku zakupów online.
Oprogramowanie lub program zazwyczaj przechodzi test ACID, aby zakwalifikować się jako system przetwarzania transakcji. ACID oznacza atomowość, spójność, izolację i trwałość. Atomowość odnosi się do zdolności systemu do przeprowadzenia lub całkowitego zrezygnowania z transakcji. Na przykład rejestracja internetowego konta bankowego wymaga od użytkownika wprowadzenia niezbędnych informacji. Pozostawienie pustego pola lub zamknięcie okna spowoduje utratę rejestracji przez użytkownika.
Spójność w systemie przetwarzania transakcji oznacza, że system powinien działać z ograniczeniami integralności zarządzania bazą danych. Mówiąc najprościej, programowanie powinno być poprawne. Cecha izolacji oznacza, że każda transakcja jest traktowana jako oddzielna i inna, nawet jeśli te same transakcje występują w tym samym czasie. Trwałość systemu wskazuje, że jeśli transakcja zostanie zrealizowana pomyślnie, nie można jej cofnąć. W przypadku awarii systemu program powinien nadal przechowywać dane w zaszyfrowanym dzienniku.
Oprócz niezbędnych funkcji, które przechodzą test ACID, system przetwarzania transakcji powinien być również niezawodny. Oznacza to, że program ma minimalną lub zerową szansę na niepowodzenie. W przypadku awarii odzyskiwanie powinno być szybkie, a system kopii zapasowych również natychmiast uruchamia się. System powinien być również w pełni dostępny tylko dla ograniczonych użytkowników. Na przykład odwiedzający może wybrać miejsce, które chce zająć w samolocie, ale nie może anulować zarezerwowanego miejsca przez poprzedniego gościa, co może wykonać tylko doświadczony programista lub personel.