Che cos'è la gestione delle transazioni?

5 aprile 2024

Autori

Josh Schneider

Senior Writer

IBM Blog

Ian Smalley

Senior Editorial Strategist

Che cos'è la gestione delle transazioni?

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.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Stati delle transazioni

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.

Attivo

Una volta avviata, una transazione entra in uno stato attivo durante il quale possono essere eseguite operazioni di lettura e scrittura del database.

Parzialmente impegnato

Dopo il completamento di tutte le fasi necessarie di una transazione, la transazione viene considerata confermata solo parzialmente fino all'aggiornamento del database master.

Impegnato

Dopo il completamento di una transazione, quest'ultima viene impegnata nel database, entrando in uno stato impegnato.

Non riuscito

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.

Terminato

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.

Comprendere le proprietà dell'ACID

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à:

  • Atomicità: le transazioni sono trattate come singole unità operative che possono essere eseguite interamente o non essere eseguite affatto, senza che nessuno stato intermedio venga mai salvato nel database principale.
  • Coerenza: un database deve rimanere in uno stato coerente in modo che tutti gli utenti che controllano il database abbiano accesso alle informazioni più recenti e precise.
  • Isolamento: le transazioni devono essere elaborate in modo isolato l'una dall'altra. Quando le informazioni di una transazione simultanea sono pertinenti per un'altra transazione, è possibile implementare livelli di isolamento della transazione per agevolare la corretta esecuzione della transazione. I livelli di isolamento comuni includono letto non impegnato, letto impegnato, letto ripetibile e serializzabile.
  • Durata: le transazioni devono essere durature nel senso che tutte le transazioni completate sono conservate dal DBMS e non andranno perse in caso di guasto del sistema.

Tecnologie di gestione delle transazioni

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.

Linguaggio di query strutturato (SQL)

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.

Java transaction API (JTA)

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.

Vantaggi e casi d'uso della gestione delle transazioni

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.

Trasformazione finanziaria

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.

eCommerce

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.

Settore immobiliare

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à.

Customer relationship management (CRM)

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.

Sfide nella 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:

  • Gestione delle dipendenze: i sistemi di gestione delle transazioni devono essere attrezzati per gestire le dipendenze delle transazioni al fine di evitare situazioni di stallo, in cui una o più singole transazioni sono bloccate in attesa che le informazioni vengano rilasciate da un'altra transazione.
  • Ripristino in caso di arresto anomalo del sistema: in caso di guasti del sistema, i sistemi di gestione delle transazioni devono essere sufficientemente duraturi da ripristinare il database a uno stato coerente.
  • Elaborazione in tempo reale: per le transazioni dipendenti in tempo reale, come i motori di negoziazione e determinazione dei prezzi, i sistemi di elaborazione delle transazioni devono essere in grado di gestire grandi volumi di transazioni in modo efficiente e con bassa latenza.
Soluzioni correlate
Software di transazione per IBM® Z

Il software di transazione svolge un ruolo cruciale nei server mainframe gestendo in modo efficiente più transazioni simultaneamente.

Esplora CICS su IBM z/OS
Soluzioni per la modernizzazione delle applicazioni mainframe

Utilizza l'AI generativa per modernizzare le applicazioni mainframe in modo più semplice e veloce.

Esplora la modernizzazione del mainframe
Soluzioni per le operazioni di business

Crea un business più resiliente con le soluzioni basate sull'AI per la gestione intelligente degli asset e per la supply chain.

Scopri le soluzioni per le operazioni aziendali
Fasi successive

Il software di transazione svolge un ruolo cruciale nei server mainframe gestendo in modo efficiente più transazioni simultaneamente.

Esplora CICS su IBM z/OS Ottieni maggiori informazioni