You are on page 1of 14

Introduzione allArchitettura del DBMS

Data Base Management System


Un DBMS uno strumento per la creazione e la gestione di grandi quantit di dati che consente di conservarli in modo sicuro per lunghi periodi di tempo. Un DBMS fornisce agli utenti questi servizi:
Persistent storage: come un file system , un DBMS permette la memorizzazione di grandi quantit di dati, ma garantisce una flessibilit molto pi elevata Programming interface: permette agli utenti di accedere e modificare i dati attraverso un potente linguaggio di interrogazione Transaction management: supporta laccesso concorrente ai dati evitandone le conseguenze indesiderate

DBMS: Architettura
Consideriamo due diversi tipi di utenti:
Utenti convenzionali/applicazioni che modificano dati e formulano interrogazioni Lamministratore della base di dati(database administrator DBA) responsabile per la struttura, lo schema e la gestione della base di dati

Notazione: rettangoli denotano componenti software, rettangoli spessi denotano strutture dati in memoria, linee continue rappresentano flusso di dati e controllo, le linee tratteggiate indicano soli il flusso dei dati
3

DBMS: Architettura

Data Definition Language(DDL): Comandi


Usato per definire lo schema esterno e concettuale del DB I comandi DDL relativi alla definizione degli schemi dei dati e alla gestione del DBMS sono i pi semplici da gestire Inizialmente sono analizzati dal DDL Compiler,che li passa al. Execution engine, che, passando attraverso il .. Resource manager (Index/File/Record), modifica i metadati, ossia le informazioni sugli schemi del DB contenuti nel catalogo (system catalogs) I comandi DDL di modifica dello schema (alter/drop) hanno un effetto molto pesante sul DB
5

Comandi di Query
La maggior parte delle interazioni sono di questo tipo: operazioni che non modificano lo schema del database ma ne alterano il contenuto o semplicemente ne leggono i dati Questi comandi attivano due sottosistemi distinti del DBMS:
Query processing Transaction Processing
6

Componenti dellarchitettura
Esamineremo le varie componenti e discuteremo le loro relazioni. Pi precisamente:
Storage (Dischi e file) Storage manager Buffer manager Index/file/record manager Execution engine Query compiler Concurreny control manager Logging/recovery manager Transaction manager
7

Query Processing
Il Query Complier fa il parsing e ottimizza la query. Il risultante query plan viene passato al.. Execution Engine, che crea una sequenza di richieste di dati (tipicamente record) al .. Resourcer Manager (Index/File/record), che sa dove sono i dati(file) e come recuperarli velocemente (indici). Le richieste di dati vengono tradotte in richieste di pagine e inoltrate al.. Buffer Manager , che ha il compito di trasportare in memoria principale le pagine rilevanti (per la risposta alla query) dallo.. Storage Manager , che ha il compito di gestire i dati memorizzati nelle pagine dello.. Storage (Dischi ), che immagazzinano stabilmente tutti i dati
8

Transaction Processing
Una query e altre azioni vengono raggruppate in una transazione che deve:
Essere eseguita atomicamente Essere isolata dalle altre Modificare in modo permanente e consistente il DB

Tale comportamento assicurato da:


Concurrecy Control Manager : che garantisce atomicit e isolamento Logging/Recovery Manager : garantisce durabilit e consistenza
9

Le propriet ACID delle Transazioni


Le propriet di cui godono le transazioni sono comunemente chiamate ACID: Atomicity: la transazione viene eseguita completamente o non viene eseguita affatto Consistency: le transazioni devono conservare la consistenza dei dati nel database Isolation: leffetto di una transazione eseguita in ambiente concorrente deve essere lo stesso della medesima transazione eseguita singolarmente Durability: leffetto di una transazione sul database non deve mai essere perso, neppure in presenza di crash

10

Log Manager
Per assicurare la persistenza dei dati del database anche in caso di crash, ogni modifica al database viene registrata separatamente sul disco Il Log Manager registra queste modifiche per consentire in qualsiasi momento (in seguito ad un crash) al Recovery Manager di ripristinare il database in uno stato consistente Anche il Log Manager scrive i suoi dati attraverso il Buffer Manager ma prima di continuare si assicura che siano stati effettivamente scritti sul disco.
11

Concurrency Control Manager


Le transazioni devono essere eseguite in isolamento le une dalle altre ma spesso molte transazioni vengono eseguite concorrentemente nello stesso sistema Il Concurrency Control Manager si assicura che le singole azioni delle varie transazioni vengano eseguite in un ordine tale da non interferire le une con le altre Tipicamente questo risultato viene ottenuto attraverso la gestione di lock memorizzati nella lock table Il Concurrency Control Manager ha anche il compito di risolvere i deadlock causati dai lock facendo abortire una o pi transazioni

12

Buffer Manager
I dati sono in memoria secondaria (dischi magnetici) Per eseguire operazioni sui dati questi devono essere in memoria principale (RAM) A tale proposito una componente del DBMS chiamata Buffer Manager si occupa di gestire il movimento dei dati tra i due tipi di memoria organizzando la memoria principale in pagine che corrispondono ai blocchi dei dischi magnetici I dati gestiti dal buffer manager sono di vari tipi:
Data: il contenuto del database Metadata: lo schema dei dati Statistics: informazioni sul funzionamento del database Indexes: strutture dati di supporto per laccesso veloce ai dati
13

Query processor
Questo il componente del DBMS che maggiormente influisce sulle performance del sistema. Il query processor composto da due componenti: Query Compiler: trasforma le query in un formato interno chiamato query plan. composto da tre unit funzionali:
Il query parser analizza la query e crea lalbero di parsing Il query preprocessor effettua i controlli semantici e crea il query plan Il query optimizer ottimizza il query plan per migliorare le prestazioni

Execution Engine: esegue le istruzioni presenti nel query plan


14

You might also like