Caratteristiche e differenza tra DBMS transazionali e per l’analisi

Caratteristiche e differenza tra DBMS transazionali e per l’analisi

Caratteristiche e differenza tra DBMS transazionali e per l'analisi

DBMS transazionali (OLTP)

Si definisce transazione un’unità logica di elaborazione, cioè una sequenza di operazioni che hanno un effetto globale sul database, vista come un insieme atomico, che completa con successo o fallisce, senza nessuna possibilità intermedia. Un sistema che mette a disposizione un meccanismo per la definizione e l’esecuzione di transazioni viene detto sistema transazionale. Il loro scopo principale è quello di supportare attività routinarie e registrare il flusso delle transazioni entro l’azienda, al livello operativo; mentre il loro componente principale sono i sistemi OLTP (On-Line Transaction Process), che svolgono e registrano le transazioni di routine necessarie per le attività quotidiane dell’azienda.
In un DBMS transazionale, tutto il codice che viene eseguito all’interno di una transazione gode di proprietà particolari, le cosiddette proprietà acide delle transazioni: atomicità, consistenza, isolamento e persistenza; il termine deriva dall’acronimo ACID (Atomicity, Consistency, Isolation, Durability.

  1. Atomicità: rappresenta il fatto che una transazione è un’unità indivisibile di esecuzione. Tutte le operazioni della sequenza terminano con successo (commit) oppure, se anche una sola di esse fallisce, l’intera transazione viene abortita (abort); si applica quindi un approccio “tutto o niente”;
  2. Consistenza: richiede che l’esecuzione della transazione non violi i vincoli di integrità definita sulla base dati. Una transazione è una trasformazione corretta dello stato del database, vale a dire, al termine di ogni transazione il database deve trovarsi in uno stato consistente. Nel caso di un’eventuale violazione il sistema interviene per annullare la transazione o per correggere la violazione del vincolo.
  3. Isolamento: richiede che l’esecuzione di una transazione sia indipendente dalla contemporanea esecuzione di altre transazioni. In particolare si richiede che il risultato dell’esecuzione concorrente di un insieme di transazioni sia analogo al risultato che le stesse transazioni otterrebbero qualora ciascuna di esse fosse seguita da sola;
  4. Persistenza: richiede che l’effetto di una transazione che ha eseguito il commit correttamente non venga piu’ perso. In pratica, una base di dati deve garantire che nessun dato venga perso per nessun motivo.

Data la sua natura esecutiva, il sistema transazionale ha la tendenza a strutturare i flussi e a standardizzare il contenuto informativo per minimizzare la possibilità di commettere errori e, nello stesso tempo, rendere le operazioni fluide e rapide. La sua struttura è ottimizzata per sostenere l’attività di un numero potenzialmente elevato di persone che interagiscono puntualmente con la base dati in attività di ricerca, di creazione e di aggiornamento delle informazioni.

DBMS per l’analisi (OLAP)

Mentre i dati operazionali coprono un arco temporale di solito piuttosto limitato, poich´e la maggior parte delle transazioni coinvolge i dati piu’ recenti, i sistemi di analisi devono permettere analisi che spazino sulla prospettiva di alcuni anni. Per questo motivo questi ultimi sistemi devono essere aggiornati a intervalli regolari a partire dai dati operazionali e sono in crescita continua. Volendo fare un paragone possiamo supporre che, a intervalli regolari, venga scattata una fotografia istantanea dei dati operazionali. La progressione delle fotografie scattate viene immagazzinata, generando un film che documenti la situazione aziendale da un istante zero fino al tempo attuale.

I processi decisionali non sono standardizzabili n´e riconducibili a procedure automatizzate, perch´e sono influenzati dai modelli di realtà che le persone utilizzano per effettuare le scelte. I sistemi di analisi devono pertanto supportare il processo decisionale seguendo i passaggi logici del decisore e dandogli la possibilità di avere visioni diversamente organizzate dai dati.

L’On-Line Analytical Processing (OLAP) è l’insieme dei sottosistemi informativi aziendali pensati per l’analisi interattiva dei dati, ottimizzati per garantire la massima efficienza nell’elaborazione dei dati di sintesi e la massima flessibilità nelle interrogazioni. Solitamente si basano su sistemi in sola lettura, o comunque articolati in modo tale da privilegiare operazioni di lettura e di aggregazione dei dati, con strutture orientate agli oggetti di analisi.

Il database per il processo di analisi ha le seguenti caratteristiche:

  1. Entità denormalizzate;
  2. Disegno del database piu’ semplice (meno tabelle e meno associazioni) per una comprensione piu’ facile da parte dell’utente;
  3. I dati memorizzati possono essere aggregati (riassuntivi);
  4. Le interrogazioni richiedono poche join;
  5. Ottimizzato per la consultazione di grandi moli di dati.

Dal momento che i sistemi di analisi, come già detto, accedono ai dati quasi solamente in sola lettura, le proprietà acide osservate precedentemente per i DBMS transazionali possono essere tralasciate.

Differenze tra sistemi OLTP e sistemi OLAP
Differenze tra sistemi OLTP e sistemi OLAP

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *