Esplorare l'elaborazione dei dati transazionali

Completato

Un sistema di elaborazione dati transazionale è spesso ciò che la maggior parte delle persone considera la funzione principale dell'informatica aziendale. Un sistema transazionale registra le transazioni che incapsulano eventi specifici di cui un'organizzazione desidera tenere traccia. Una transazione può essere finanziaria, ad esempio lo spostamento di denaro tra conti in un sistema bancario, oppure può far parte di un sistema di vendita al dettaglio, per tenere traccia dei pagamenti dei clienti per merci e servizi. È possibile paragonare una transazione a un'unità di lavoro piccola e discreta.

I sistemi transazionali gestiscono spesso un volume elevato, a volte fino a molti milioni di transazioni in un solo giorno. Deve essere possibile accedere ai dati elaborati molto rapidamente. Il lavoro eseguito dai sistemi transazionali viene spesso definito OLTP (Online Transactional Processing).

Diagramma che mostra un utente che legge e scrive i dati in un database.

Le soluzioni OLTP si basano su un sistema di database in cui l'archiviazione dei dati è ottimizzata per operazioni di lettura e scrittura per supportare carichi di lavoro transazionali in cui vengono creati, recuperati, aggiornati ed eliminati (spesso denominati operazioni CRUD). Queste operazioni vengono applicate in modo transazionale per garantire l'integrità dei dati archiviati nel database. A questo scopo, i sistemi OLTP applicano transazioni che supportano la semantica nota come ACID:

  • Atomicità: ogni transazione viene considerata come una singola unità, che ha esito positivo o negativo nella sua interezza. Ad esempio, una transazione che ha coinvolto l'addebito di fondi da un conto e il credito dello stesso importo a un altro conto deve completare entrambe le azioni. Se non è possibile completare un'azione, l'altra azione correlata deve avere esito negativo.
  • Coerenza: le transazioni possono solo spostare i dati del database da uno stato valido a un altro. Per continuare con l'esempio di debito e credito precedente, lo stato completato della transazione deve riflettere il trasferimento di fondi da un conto all'altro.
  • Isolamento: le transazioni simultanee non possono interferire tra loro e devono determinare uno stato di database coerente. Ad esempio, mentre la transazione per trasferire fondi da un conto a un altro è in elaborazione, un'altra transazione che controlla il saldo di questi conti deve generare risultati coerenti: la transazione che controlla il saldo non può recuperare un valore per un conto che riflette il saldo prima del trasferimento e un valore per l'altro conto che riflette il saldo dopo il trasferimento.
  • Durabilità: quando una transazione è stata sottoposta a commit, il commit rimane valido. Al termine della transazione di trasferimento del conto, i saldi del conto modificati vengono mantenuti, in questo modo che anche se il sistema di database dovesse essere disattivato, la transazione di commit verrà riflessa quando viene attivata di nuovo.

I sistemi OLTP vengono in genere usati per supportare applicazioni live che elaborano i dati aziendali, spesso denominate applicazioni line of business (LOB).