• oltp-olap

    DBMS transazionali (OLTP) e DBMS per l’analisi (OLAP)

    I dati  in azienda vengono gestiti sostanzialmente da due tipi di DBMS: quelli transazionali (OLTP) e quelli per l’analisi (OLAP).

    Database e DBMS

    In un articolo precedente dal titolo Dati e software in azienda abbiamo visto l’importanza dei dati in azienda per produrre informazione, conoscenza ed expertise. L’insieme dei dati correlati tra loro su cui l’utente può effettuare operazioni di ricerca e inserimento in base alle proprie esigenze prende il nome di database. Lo strumento software che consente di gestire questi dati è il Data Base Management System (DBMS). Nell’articolo precedente dal titolo Dati e software in azienda abbiamo anche visto che i sistemi a supporto delle attività aziendali sono diversi, perché diverse sono le finalità per cui sono stati progettati. Da questo punto di vista possiamo ulteriormente semplificare e schematizzare la tipologia di software a supporto delle attività aziendali, suddividendo i sistemi utilizzati in due categorie:

    • sistemi operazionali o transazionali: forniscono il supporto alla attività di tipo operativo e gestionale;
    • sistemi di analisi: forniscono il supporto alla attività di tipo strategico e decisionale.

    DBMS transazionali (OLTP)

    I sistemi On Line Transaction Processing (OLTP), o transazionali, registrano, modificano e mostrano dei record in tempo reale in base alle esigenze operative delle varie Business Unit aziendali. nei sistemi OLTP i dati sono distribuiti su più tabelle per ragioni di velocità e semplicità di inserimento e aggiornamento. L’informazione viene inserita e modificata una sola volta, non ci sono ridondanze. Anche se le query sono complesse non ci sono particolari problemi, perché vengono modificate raramente e solo da programmatori esperti. Inoltre le operazioni di inserimento, aggiornamento e ricerca sono estremamente rapide.

    Data la sua natura esecutiva a supporto delle attività di tutti i giorni, un sistema transazionale deve minimizzare la possibilità di generare errori. Per questo motivo viene fatto larghissimo uso delle transazioni, cioè di operazioni in sequenza viste come un insieme atomico, che viene eseguito con successo in blocco oppure fallisce in blocco, senza alternative. Un sistema del genere garantisce la coerenza dei dati del sistema, conferendogli le proprietà di Atomicità, Consistenza, Isolamento, Durabilità (ACID) e rendendo tutte le operazioni fluide e di rapida esecuzione. Pensa ad un sistema di prenotazione di una catena di alberghi, dove i dati significativi sono quelli correnti, che vengono aggiornati continuamente da molti ultenti, e che devono essere integri. Un database di questo tipo deve essere ottimizzato per sostenere l’attività di un numero molto elevato di utenti che sollecitano la base di dati con operazioni continue di inserimento, ricerca e aggiornamento delle informazioni.

    Di seguito alcune caratteristiche dei sistemi OLTP:

    • i dati memorizzati sono quelli operativi per la gestione delle attività quotidiane;
    • i dati vengono inseriti e aggiornati continuamente e rapidamente da numerosi utenti;
    • le interrogazioni di solito restituiscono pochi record;
    • le operazioni vengono processate molto rapidamente;
    • esigenze di spazio ridotte, dal momento che i dati storici vengono archiviati;
    • la progettazione del database è normalizzata e prevede molte tabelle;
    • i dati correnti devono essere gestiti con la massima sicurezza e affidabilità, perché una loro eventuale compromissione pregiudica la normale operatività aziendale.

    DBMS per l’analisi (OLAP)

    I sistemi On Line Analytical Processing (OLAP) non lavorano sui dati più recenti, ma coprono un arco temporale molto vasto. Vengono aggiornati a partire dai dati operazionali in modo periodico e sono in continua crescita, perché accumulano i dati storici nel tempo. Forniscono dati di sintesi generati come aggregazioni di dati di dettaglio e consentono operazioni di analisi a supporto delle decisioni strategiche aziendali.

    I sistemi di tipo OLAP vengono utilizzati anche per analizzare i dati da diverse prospettive, o dimensioni (vengono quindi definiti multidimensionali). I dati vengono archiviati in una modalità che si avvicina molto al modo in cui il manager percepisce la realtà aziendale. Ogni dimensione (come quella temporale, quella geografica o quella della tipologia di prodotto) raccoglie i criteri in base ai quali si potranno utilizzare i dati e viene rappresentata con una struttura a cubo con N-lati, la cui intersezione individua una o più misure corrispondenti.

    Di seguito alcune caratteristiche dei sistemi OLAP:

    • i dati memorizzati sono quelli storici provenienti dai sistemi OLTP e servono a pianficare, risolvere problemi, supportare decisioni;
    • i dati vengono inseriti e aggiornati periodicamente con lunghi processi batch;
    • le interrogazioni di solito restituiscono di solito grandi molti di dati e utilizzano aggregazioni;
    • le operazioni possono impiegare tempi molto lunghi se devon gestire grandi moli di dati;
    • grosse esigenze di spazio, a causa della memorizzazione dei dati storici e della possibilità di esplodere i dati aggregati;
    • la progettazione del database è denormalizzata e prevede poche tabelle;
    • la sicurezza dei dati non è cruciale in quanto non è bloccante rispetto alla normale operatività aziendale

    Differenze tra i due sistemi

    Le differenze tra i due sistemi possono essere schematizzate nella seguente tabella:

     OLTPOLAP
    FinalitàSupporto all'operativitàSupporto al processo decisionale
    UtentiMolti, livello operativoPochi, livello direzionale
    Modalità di utilizzoGuidata, per processi e stadi successiviInterrogazione ad hoc
    Quantità di dati per operazione elementareBassa: centinaia di record per ogni transazioneAlta: milioni di record per ogni query
    QualitàIn termini di integritàIn termini di consistenza
    OrientamentoPer processo/applicazionePer soggetto
    Frequenza di aggiornamentoContinua, tramite azioniSporadica, tramite funzioni esplicite
    Copertura temporaleDati correntiStorica
    OttimizzazionePer accessi in lettura e scrittura su una porzione di datiPer accessi in sola lettura su tutta la base di dati

     

    Giulio Cantali – IT Consultant

    Creatore di Database Master, il primo percorso per diventare esperti di database

Lascia un commento

Se vuoi condividere la tua opinione, lascia un commento

Puoi usare questi tag e attributi: HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">