Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

DBMS - Gestore dell'interfaccia

informatica




DBMS : insieme di programmi che permettono di interagire con una base di dati consentendo operazioni (interventi SOTTO CONTROLLO) agli utenti autorizzati nel rispetto delle regole stabilite.

Un DBMS si occupa di memorizzare e gestire sia dati che metadati.

Metadato : informazione sulla struttura del dato. (descrzione attributi che compongono un indice)

I componenti + importanti di un DBMS sono : gestore di interfaccia,gestore delle interrogazioni,gestore delle transazioni,gestore dei guasti e gestore della memoria.


Gestore dell'interfaccia : è il componente di + alto livello e interagisce con l'utente fornendo un interfaccia grafica in cui è possibile richiedere operazioni->interagisce con il gestore delle interrogazioni!

Le relative richieste possono essere di vario tipo :



MODALITA' INTERATTIVA

In molti casi utilizza il QBE (Query by Example),uno strumento che consente all'utente di specificare i campi della tabella che intende visualizzare,i criteri di interrogazione e visualizza il risultato a video in una tabella senza dover usare il linguaggio SQL.

MODALITA' BATCH

Consente di utilizzare comandi scritti in altri linguaggi.


Gestore delle interrogazioni : esegue le operazioni sui dati provenienti dal gestore dell' interfaccia trovando il modo ottimale per portarle a termine.->interagisce con il gestore della memoria.

Trasforma le richieste di operazioni (query SQL) in una sequenza di richieste elementari e le invia al gestore della memoria.

Ottenuto il risultato compone una tabella e la restituisce al gestore dell'interfaccia.

Piano di esecuzione delle interrogazioni (query plan) : sequenza di interrogazioni elementari.

Bisogna scegliere il piano di esecuzione di interrogazioni migliore xk riduce il numero di accessi alla memoria di massa.


Gestore delle transazioni : gestisce la modalità di accesso ai dati.(concorrenza compresa),interagisce con il gestore delle interrogazioni oltre che con quello dell'interfaccia,gestisce i file di log.->interagisce con il gestore della memoria

File di log : file nei quali vengono registrate tutte le operazioni effettuate sul database.

Le principali funzioni sono :

-gestire le autorizzazioni di accesso sul database

-gestire le transazioni e il ripristino dei dati

-gestire gli accessi concorrenti sul database


le operazioni consentite sono :

-inserimento nuovi dati

-modifica dati presenti

-cancellazione dati presenti

-lettura e interrogazione dei dati presenti

-modifica dello schema dei dati o modifica metadati.


Riservatezza dei dati : non tutti i dati devono essere accessibili a chiunque

integrità dei dati : devono essere protetti da modifiche non autorizzate-->rendono i dati corroti (non leggibili),i valori dei dati diventano non ammissibili (violano il vincolo di integrità),dati inconsistenti (lo stesso dato può comparire + volte con valori diversi),dati non attinenti(danni irreversibili)



Studio di una transazione :


Transazione : operazione individuata univocamente con un numero progressivo che viene eseguita su un database.

È composta da una serie di operazioni elementari che devono essere eseguite per considerare la transazione completata,altrimenti la transazione non viene eseguita.

1-la transazione viene ATTIVATA (iniziata) e si trova in esecuzione

2-vengono eseguite tutte le operazioni elementari da cui è composta

3.1-se prima dell'esecuzione dell'ultima operazione vi è qualche errore -> transazione fallita

3.2-transazione parzialmente completata NON diventa subito completa xk vi si potrebbero verificare errori durante la scrittura

3.3-transazione eseguite senza errori->transazione completata


Per chiudere definitivamente una transazione e farla diventare completata ci sono 2 tecniche :

-scrittura immediata->disfare quanto eseguito annullando gli effetti di scrittura,rende + efficienti le transazioni ma richiede gestione + complessa del giornale delle transazioni.

-scrittura differita->la scrittura viene effettuata su una zona temporanea dando l'illusione di essere fatta sulla base dati...la scrittura verrà eseguita sulla base dati solo in seguito.


Quando vi è un fallimento vengono eseguite le operazioni di rolling back in modo da arrivare allo stato finale dove la transazione si può definire abortita annullando gli effetti parziali delle operazioni elementari.


Una transazione deve possedere l'atomicità,cioè deve apparire come un unica azione indivisibile,le conseguenze delle sue azioni elementari sono visibili solo se la transazione viene completata.


Bisogna anche gestire la concorrenza...l'accesso simultaneo da parte di diversi utenti non deve compromettere l'integrità dei dati!

Le situazioni anomale sono : last update e dirty read.


Per impedire situazioni del genere si applica la tecnica di blocco temporaneo (lock)

lock : è una sorta di lucchetto che viene aggiunto dal DBMS a ogni dato x evitare che altre transazioni possano utilizzarlo quando è già in uso da un altra transazione.


2 tipi di lock :

-lock esclusivo : nessuna transazione può accedere al dato.

-lock condiviso : altre transazioni possono accedere al dato interessato ma SOLO in lettura.


Per utilizzare la tecnica del lock è importante stabilire la granularità,ovvero la dimensione degli oggetti,elementi dei dati che il DBMS controlla.


La granularità può essere :

-grossa : lock sul file

-media : lock sui record dei file

-fine : lock sul campo del record del file


Situazione di stallo :

2 transazioni (dopo aver bloccato le relative risorse) richiedono x proseguire la risorsa all'altra...attesa infinita xk ognuna attende l'altra.

X risolvere questo problema si usa il Lock manager componente che richiede alle transazioni tutti i lock in una sola volta prima di iniziare l'esecuzione.


Oppure viene usata la tecnica del Abort restart,si fa abortire forzatamente una delle 2 transazioni quando ci si accorge che esiste una situazione di stallo.


Giornale delle modifiche :

è un file su cui vengono registrate una serie di informazioni

-transazione attivata

-transazione completata

-transazione fallita

-inserita la riga

-modificata la riga


viene utilizzato come punto di partenza x un eventuale backup.


Progettazione fisica della base dati


prende in input lo schema relazionale e restituisce uno schema fisico.

Occorre scegliere un DBMS adatto al nostro scopo,infatti prendiamo in considerazione :

-efficienza in tempo : i tempi di risposta devono entrare in determinati parametri

-efficienza in spazio : prevedere il volume medio dei dati e il loro tasso di crescita

-efficienza di utilizzo : prevedere il tipo di interazione con il DBMS


Gestore della memoria


è il componente che si trova a stretto contatto con il file system e si dispositivi fisici (hd,cd,ecc),è interfacciato direttamente con loro x effettuare scritture e\o modifiche quando richiesto.

Generalmente si mette in relazione :

attributo-campo

tupla-record

relazione-file


relazione,tupla e attributo ->struttura logica

campo,record e file ->struttura fisica

la struttura fisica (dettata da parametri come velocità,tempo di accesso,ecc) non trova corrispondenza esatta con quella logica!


Il gestore della memoria deve recuperare o modificare i blocchi di dati presenti su disco!

Blocco : unità minima di trasferimento di dati dalla memoria di massa a quella centrale

x svolgere tale operazione il gestore della memoria viene diviso in :

-gestore del buffer di memoria : mappa i blocchi in pagine di memoria centrale

gestore dei file su disco : recupera i blocchi di dati dai dischi su richiesta del gestore del buffer


Gestore dei guasti


effettua copie periodiche di backup per ripristinare una situazione in seguito a un grave evento


i guasti si distinguono in :

guasti di sistema : problemi hardware dovuti x esempio a cali di tensione o bug del S.O.,producono perdite in memoria centrale.

Guasti di dispositivo : problemi che riguardano i dispositivi di memoria di massa,HD,CD,ecc...

memoria volatile : ram,elevata velocità,poca capacità

memoria non volatile : hd raid,lenti ma dalle capacità di memorizzazione praticamente illimitate


memoria stabile : supporti cd,affidabili,alto grado di ridondanza fisica.


Il gestore dei guasti si occupa del corretto scambio di informazioni tra i 3 tipi di memoria e quando si verifica un guasto deve :

-garantire la minima perdita di informazione

-ripristinare uno stato consistente di piattaforma software-hardware

-ripristinare la base dati.


Checkpoint : attività che il gestore dei guasti compie periodicamente.

Consiste nel :

-completare tutte le transazioni in corso e bloccare l'avvio di nuove

-scrivere in memoria stabile le ultime registrazioni effettuate nel file di log

-scrivere in memoria non volatile tutte le modifiche del data base

-scrivere sul file di log "checkpoint"

-consentire l'esecuzione di nuove transazioni.


Tecniche raid :


propone di :

-migliorare le prestazioni di I\O

-realizzare tecniche di immunità dai guasti e per il recupero dei dati.


RAID 0 : disk striping : lettura e scrittura avviene in parallelo sui dischi,le prestazioni aumentano ma non è immune dai guasti!

RAID 1 : disk mirroring : un disco è la copia dell'altro,la velocità è ridotta dato k deve eseguire le operazioni su 2 dischi!

RAID 5 : disk striping with parity : 3 o + dischi organizzati in RAID 0 ma a rotazione vengono aggiunti bit di parità sui dischi.

Se un disco si rompe i dati vengono ricostruiti grazie ai bit di parità residenti sugli altri.


Trigger : programma controllore.

Nel caso in cui avvengono certe operazioni specifiche (inserimento,cancellazione o modifica) decide se intervenire o no.





Privacy




Articolo informazione


Hits: 2277
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024