Introduzione all Architettura del DBMS



Documenti analoghi
L architettura di un DBMS

Linguaggio SQL: costrutti avanzati

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.

Corso di Basi di Dati e Conoscenza

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

Introduzione al data base

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Lezione 1. Introduzione e Modellazione Concettuale

Coordinazione Distribuita

IL SISTEMA INFORMATIVO

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Tecnologia di un Database Server (centralizzato) Introduzione generale

Le funzionalità di un DBMS

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

LABORATORIO di INFORMATICA

Memorizzazione dei dati: Dischi e File

Introduzione ai sistemi di basi di dati

DBMS (Data Base Management System)

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Organizzazione degli archivi

Il database management system Access

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

1. BASI DI DATI: GENERALITÀ

Corso di Informatica

Facoltà di Farmacia - Corso di Informatica

Informatica Documentale

Progettaz. e sviluppo Data Base

Ottimizzazione delle interrogazioni (parte I)

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Informatica - A.A. 2010/11

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Progettaz. e sviluppo Data Base

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Basi di dati. Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: presentazione corso (1.

Introduzione al corso

Archivio: è un insieme organizzato di informazioni (movimenti contabili, archivi: clienti/fornitori, personale, magazzino) Proprietà:

Archivi e database. Lezione n. 7

Access. P a r t e p r i m a

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Introduzione all Information Retrieval

8 Tecniche di recovery

Materiali per il modulo 1 ECDL. Autore: M. Lanino

TEORIA sulle BASI DI DATI

La Metodologia adottata nel Corso

Il Sistema Operativo: il File System

Architettura MySQL. E Motori MySQL

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Architettura hardware

Il linguaggio SQL: transazioni

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

DB - Cenni sulla gestione delle transazioni

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

INTRODUZIONE. Motivazioni e Obbiettivi

Base di dati e sistemi informativi

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Lezione V. Aula Multimediale - sabato 29/03/2008

Il Sistema Operativo

Capitolo 13. Interrogare una base di dati

Architettura dei calcolatori II parte Memorie

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Le Basi di dati: generalità. Unità di Apprendimento A1 1

I database relazionali (Access)

Introduzione ai database relazionali

I cookie sono classificati in base alla durata e al sito che li ha impostati.

Archivi e Basi di Dati

Indici basati su alberi

Sistemi Informativi e Basi di Dati

I Sistemi Informativi

DATABASE.

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Protezione. Protezione. Protezione. Obiettivi della protezione

Introduzione alle basi di dati (prima parte)

Corso di Informatica (Basi di Dati)

Informatica DR KLOE Calcolo

Data Base. Prof. Filippo TROTTA

Le Infrastrutture Software ed il Sistema Operativo

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Cosa è un foglio elettronico

Strutturazione logica dei dati: i file

Il File System. Il file system

Transcript:

Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente 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 l accesso concorrente ai dati evitandone le conseguenze indesiderate 2

DBMS: Architettura Consideriamo due diversi tipi di utenti utenti convenzionali/applicazioni che modificano dati e formulano interrogazioni l amministratore 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 dei dati e controllo, e le linee tratteggiate indicano solo il flusso dei dati 3 DBMS: Architettura Query\update Utente/Applicazione Query Compiler Query plan Execution Engine richieste di indici, record e file Index/file/record comandi su pagine Buffer Lettura/scrittura pagine Storage metadati, statistiche metadati, indici, statistiche transazioni Transaction Logging/ Recovery Buffers pagine di log Amministratore Comandi DDL Concurrency control Lock Table DDL Compiler metadati dischi 4

Data Definition Language (DDL): Comandi 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 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 con il DBMS 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

Query Processing Il Query Compiler 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 Resource (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 ed inoltrate al Buffer, che ha il compito di trasportare in memoria principale le pagine rilevanti (per la risposta alla query) dallo... Storage, che ha il compito di gestire i dati memorizzati nelle pagine dei... Dischi, che immagazzinano stabilmente tutti i dati 7 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: - Concurrency Control : garantisce atomicità e isolamento - Logging/Recovery : garantisce durabilità e consistenza 8

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: l effetto di una transazione eseguita in ambiente concorrente deve essere lo stesso della medesima transazione eseguita singolarmente - Durability: l effetto di una transazione sul database non deve mai essere perso, neppure in presenza di crash 9 Log 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 ma prima di continuare si assicura che siano stati effettivamente scritti sul disco. 10

ConcurrencyControl 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 11 Buffer 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 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 l accesso veloce ai dati 12

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 l albero 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 13 Componenti dell architettura Esamineremo le varie componenti e discuteremo le loro relazioni. Più precisamente: Dischi e file Storage manager Buffer manager Index/file/record manager Execution engine Query compiler Concurreny control Logging/recovery Transaction manager 14