La gestione delle transazioni è un processo integrale dei sistemi di gestione dei database (DBMS) durante il quale il software di gestione delle transazioni supervisiona, coordina ed esegue ogni tentativo di transazione.
Il software di gestione delle transazioni per l'automazione del workflow è una parte fondamentale di qualsiasi settore che coinvolge l'elaborazione delle transazioni, tra cui l'ecommerce, la finanza, l'ospitalità e qualsiasi azienda che richiede una gestione accurata del database.
In modo critico, il software di gestione delle transazioni si basa sul concetto di atomicità per definire una singola transazione come una serie di operazioni che devono essere tutte completate, altrimenti nessuna viene considerata completata. In altre parole, per mantenere la conformità dei dati, un sistema di gestione delle transazioni assicura che una transazione non possa mai essere completata parzialmente.
Ad esempio, quando una persona tenta di prelevare denaro da un bancomat, un software di gestione delle transazioni elabora le richieste e le modifiche necessarie al database per controllare il saldo del conto, sottrarre l'importo richiesto, aggiornare i registri della banca e rilasciare il contante erogato. Tutti questi passaggi sono considerati una nuova transazione e il sistema di gestione delle transazioni garantisce che l'intero processo sia completato per evitare incongruenze nel database della banca e preservare un registro accurato.
Durante una transazione, lo stato del database correlato è in movimento e viene considerato incoerente. Durante questo periodo, una transazione può eseguire un numero qualsiasi di operazioni di lettura e/o scrittura leggendo il database per fornire informazioni (come controllare il saldo di un conto corrente bancario) e/o scrivendo nuove informazioni nel database (come l'aggiornamento del saldo del conto corrente dopo un prelievo). Solo dopo aver completato la transazione, il database può tornare a un nuovo stato coerente.
Il principio di atomicità consente al software di gestione delle transazioni di trattare serie discrete di operazioni come singole transazioni, proteggendo al contempo l'integrità del database.
L'atomicità previene gli errori che potrebbero derivare da transazioni incomplete o interrotte. Tornando all'esempio del bancomat, l'atomicità impedisce a una transazione di addebitare denaro sul conto corrente bancario di un utente prima di erogare il contante effettivo. Se un evento, come ad esempio un crash del sistema, impedisce al bancomat di erogare il denaro, l'intera transazione verrebbe interrotta e non sarebbero apportate modifiche al database o all'account dell'utente.
Mentre la transazione è in corso e il database è in movimento, la transazione può essere suddivisa in una serie di stati di transazione sequenziali.
Una volta avviata, una transazione entra in uno stato attivo durante il quale possono essere eseguite operazioni di lettura e scrittura del database.
Dopo il completamento di tutte le fasi necessarie di una transazione, la transazione viene considerata confermata solo parzialmente fino all'aggiornamento del database master.
Dopo il completamento di una transazione, quest'ultima viene impegnata nel database, entrando in uno stato impegnato.
Quando una transazione non riesce a eseguire una o più delle sue operazioni o viene interrotta, viene considerata non riuscita. Una transazione non riuscita attiverà un rollback, che a sua volta annulla tutte le modifiche del database in corso.
Lo stato finale per tutte le transazioni: una transazione nello stato terminato viene eliminata dal sistema e non può più eseguire alcuna operazione sul database.
Tutte le transazioni iniziano in uno stato attivo e, se non ci sono problemi, passano allo stato parzialmente impegnato, impegnato e quindi terminato. In caso di problemi durante l'elaborazione della transazione, la transazione entrerà nello stato non riuscito e annullerà tutte le modifiche apportate durante il corso della transazione. La transazione potrebbe quindi ritentare l'esecuzione o interrompersi. Indipendentemente se vengono interrotte o confermate, tutte le transazioni confermate entrano in uno stato terminato, liberando risorse affinché il DBMS possa elaborare nuove transazioni.
Nel campo della gestione del database, l'atomicità è solo una delle quattro proprietà fondamentali necessarie per mantenere l'integrità del database. Indicate con l'acronimo ACID, le quattro proprietà sono l'atomicità, la consistenza, l'isolamento e la durabilità:
Come aspetto del DBMS, i sistemi di gestione delle transazioni si basano su una serie di tecnologie di database e software che offrono diversi gradi di ottimizzazione, come automazioni, modelli e liste di controllo. Fornitori come IBM, Microsoft e Oracle offrono una gamma di soluzioni per la gestione delle transazioni a prezzi competitivi. Le tecnologie più ampie di gestione delle transazioni includono quanto segue.
SQL è il linguaggio di programmazione standard per memorizzare ed elaborare le informazioni in un database relazionale. I comandi SQL tipici includono BEGIN TRANSACTION, COMMIT e ROLLBACK.
JTA è l'application programming interface (API) standard per le applicazioni aziendali, che consente alle applicazioni di gestione delle transazioni di comunicare con altri tipi di applicazioni, inclusi database e sistemi di messaggistica, garantendo al contempo atomicità e coerenza.
Diversi settori dipendono dalla gestione delle transazioni per gestire in modo efficace ed efficiente i database relazionali e le importanti risorse operative che rappresentano, sia fisiche (inventario) sia effimere (informazioni).
Un breve elenco di casi d'uso comuni per la gestione delle transazioni include quanto segue.
I servizi finanziari, comprese le società di intermediazione e gli istituti bancari, dipendono dalla gestione delle transazioni non solo nelle loro operazioni quotidiane, ma anche nelle loro attività da microsecondi a microsecondi. Senza la gestione delle transazioni, prodotti comuni come i moderni conti correnti e le piattaforme di trading azionario non sarebbero realizzabili.
Per le piattaforme retail online, la gestione delle transazioni agevola l'elaborazione degli ordini, i pagamenti e la gestione dell'inventario per evadere in modo efficace gli ordini di ecommerce.
Nel complesso mondo del settore immobiliare, i coordinatori di transazioni professionali si affidano a software di gestione delle transazioni per semplificare l'acquisto, la vendita e la locazione di proprietà.
Sistemi CRM come Salesforce sono fondamentali per le grandi organizzazioni per monitorare e gestire potenziali clienti, interazioni con i clienti, ordini di vendita e un'ampia gamma di punti di contatto aggiuntivi resi accessibili tramite DBSM e gestione delle transazioni.
La gestione delle transazioni è una parte essenziale di molte operazioni aziendali moderne. Tuttavia, una gestione affidabile delle transazioni deve essere in grado di mitigare alcune problematiche critiche: