Intoduzione alle transazioni e alle proprieta ACID delle transazioni
|
|
- Silvia Carbone
- 6 anni fa
- Visualizzazioni
Transcript
1 Basi di Dati Complementi Parte 2: Tecnologie per MS Parte 2.4: Introduzione alle transazioni e Intoduzione alle transazioni e alle proprieta ACID delle Carlo Batini 2006 Carlo Batini Transazione Insieme di istruzioni di lettura e scrittura sulla base di dati, eventualmente immerse in un linguaggio programmativo, per cui siano garantite determinate proprieta (vedi tra poco) per la loro corretta esecuzione in ambiente concorrente. Un esempio di transazione Sposta 10 dal conto a al conto b Puo essere implementata con due istruzioni Togli 10 dal conto a Aggiungi 10 al conto Carlo Batini 2006 Carlo Batini Sintassi SQL per specificare transazioni begin transaction: specifica l'inizio della transazione (le operazioni non vengono eseguite sulla base di dati, ma in memoria centrale) commit work: le operazioni specificate a partire dal begin transaction vengono eseguite sulla base di dati con effetto durevole rollback work: si rinuncia all'esecuzione sulla base di dati delle operazioni specificate dopo l'ultimo begin Carlo Batini Sintassi SQL per specificare transazioni - 2 Le due istruzioni commit work e rollback work possono comparire piu volte nel corso del programma, in rami diversi del flusso di controllo Durante l esecuzione della transazione, e necessario che venga incontrata esattamente una istanza di una delle due istruzioni: commit work (commit) chiede di concludere con successo la transazione rollback work (abort): chiede al sistema di ripristinare lo stato precedente alla transazione, di solito a causa di una condizione logica di errore sotto il controllo dell Carlo Batini
2 Una transazione in SQL Sposta 10 dal conto al conto begin transaction; (0) set Saldo = Saldo 10 (1) where NumeroConto = ; if ( /* saldo < 0 */) then rollback work; set Saldo = Saldo + 10 (2) where NumeroConto = ; Proprieta delle transazioni Insieme di operazioni: 1. da considerare indivisibile ("atomico"), 2. che lascia la base dati in uno stato consistente, e 3. corretto anche in presenza di concorrenza, e 4. con effetti Carlo Batini 2006 Carlo Batini Proprieta ACID delle transazioni 1. Atomicità 2.Consistenza 3.Isolamento 4.Durabilità (persistenza) Definiamo ora le quattro proprieta ACID delle Carlo Batini 2006 Carlo Batini Proprieta di Atomicita - 1 La sequenza di operazioni sulla base di dati viene eseguita per intero o per nulla Esempio 1 viene eseguita (1) Il tentativo di eseguire (2) fallisce per qualche guasto A questo punto, la proprieta di atomicita richiede che l effetto di 1 venga annullato Il sistema deve riportare il allo stato precedente l inizio della transazione (0): questo e un rollback imposto dal sistema 1. Proprieta di Atomicita - 2 La sequenza di operazioni sulla base di dati viene eseguita per intero o per nulla Esempio 2: viene eseguita (1) La condizione viene valutata e risulta vera L applicazione chiede esplicitamente un rollback Il sistema deve riportare il allo stato precedente l inizio della transazione (0): questo e un rollback chiesto dall applicazione begin transaction; (0) set Saldo = Saldo 10 (1) where NumeroConto = ; if ( /* saldo < 0 */) then rollback work; set Saldo = Saldo + 10 (2) where NumeroConto = Carlo Batini begin transaction; (0) set Saldo = Saldo 10 (1) where NumeroConto = ; if ( /* saldo < 0 */) then rollback work; set Saldo = Saldo + 10 (2) where NumeroConto = Carlo Batini
3 Terminologia Abbiamo visto che esistono Rollback imposti dal sistema e Rollback richiesti dalla applicazione Le due tipologie vengono anche chiamate con il termine di abort 1. Atomicita - 3 La transazione non puo lasciare il in uno stato intermedio: Un guasto o un errore prima del commit causa un UNDO (disfare) delle operazioni gia eseguite Un guasto o un errore dopo il commit puo richiedere il REDO (rieseguire) delle operazioni eseguite, se il loro effetto sul non e garantito a causa del Carlo Batini 2006 Carlo Batini Proprieta di Consistenza Al termine dell'esecuzione di una transazione, i vincoli di integrità debbono essere soddisfatti "Durante" l'esecuzione ci possono essere violazioni, ma se restano alla fine allora il sistema deve eseguire un rollback come per il caso dell atomicita ; Consistenza per la transazione T: La somma dei saldi dei due conti correnti prima e dopo il trasferimento e uguale Ad es. tra l esecuzione di (1) e (2) lo stato del non e consistente Tuttavia, dopo il commit la somma dei saldi e effettivamente la stessa di quello iniziale Se il sistema determina una violazione di vincoli di integrita in fase di commit, allora la transazione subisce un rollback Quindi non e ammesso lasciare il in uno stato logicamente inconsistente 3. Concorrenza delle transazioni Il throughput di un sistema e il numero di transazioni per secondo (tps) eseguite dal sistema a regime In un sistema che non prevede esecuzione concorrente, il throughput e il valore che scaturisce da una esecuzione sequenziale delle transazioni In un MS, si vuole ottenere un throughput dell ordine di tps (transazioni per secondo) Questo impone un alto grado di concorrenza tra le transazioni in esecuzione Es Se una transazione impiega mediamente 0.1 secondi ad eseguire, ad un throughput di 100 tps corrispondono mediamente 10 transazioni in esecuzione concorrente Esempi tipici: applicazioni bancarie, di prenotazione Carlo Batini 2006 Carlo Batini Concorrenza - esempio Void chooseseat() { /* codice in linguaggio C che verifica la disponibilita di posti su un volo e prenota un posto */ (1) EXEC SQL SELECT occupied INTO :occ FROM flights (2) if (!occ) { EXEC SQL UPDATE Flights SET occupied = TRUE /* notifica posto prenotato */ else /* notifica volo completo */ 3. Concorrenza - 2 Supponiamo che la funzione chooseseat() venga eseguita simultaneamente da due o piu applicazioni (es due agenzie viaggi), che cercano di prenotare lo stesso posto sullo stesso volo E possibile un evoluzione temporale come la seguente: Operazione 1 Operazione 2 Esegue (1), trova posto Esegue (2), alloca il posto Esegue (1), trova posto Esegue (2), alloca il posto A questo punto, abbiamo una doppia prenotazione Il MS transazionale gestisce questo problema garantendo la proprieta di isolamento Carlo Batini 2006 Carlo Batini
4 3. Proprieta di Isolamento delle transazioni La proprieta di isolamento di una transazione garantisce che essa venga eseguita come se non ci fosse concorrenza Scriviamo la funzione precedente come una transazione: Void chooseseat() { Begin transaction (1) EXEC SQL SELECT occupied INTO :occ FROM flights (2) if (!occ) { EXEC SQL UPDATE Flights SET occupied = TRUE /* notifica posto prenotato */ else { /* notifica volo completo */ 4. Proprieta di Durabilita La conclusione positiva di una transazione corrisponde ad un impegno (in inglese commit) a mantenere traccia del risultato in modo definitivo, anche in presenza di guasti Come vedremo, questo ha delle implicazioni sul sistema di gestione dell affidabilita (recovery) del Carlo Batini 2006 Carlo Batini Proprieta ACID Le quattro proprieta fondamentali che devono essere garantite dalle transazioni: Atomicita Consistenza Isolamento Durabilita /Persistenza Tutte insieme vengono chiamate proprieta ACID Sistema transazionale Un sistema che supporta la definizione e l esecuzione di transazioni garantendo le proprieta Carlo Batini 2006 Carlo Batini Relazione tra le proprieta ACID e e i moduli del MS Atomicita e Durability affidabilita degli accessi e delle interrogazioni di Interrogazioni e aggiornamenti delle transazioni delle transazioni Isolamento concorrenza Consistenza dei vincoli di schema, parte del gestore delle transazioni Disattivato durante l esecuzione di una transazione, riattivato subito prima dell esecuzione del commit finale dei metodi d accesso memoria secondaria concorrenza Isolamento Consistenza affidabilità Atomicita Durability Memoria Carlo Batini 2006 Carlo Batini
5 degli accessi e delle interrogazioni delle transazioni di Interrogazioni e aggiornamenti dei metodi d accesso memoria secondaria Memoria secondaria concorrenza Richieste di servizio delle transazioni affidabilità Strategie di recovery Ripresa a caldo Ripresa a freddo Carlo Batini 2006 Carlo Batini Il Il buffer e una zona di memoria non persistente pre-allocata al MS Condivisa tra tutte le transazioni Utilizzata anche dal sistema (eg dal log, vedi in seguito) Gestione Il buffer e gestito con gli stessi criteri di una cache (gia visto) Operazioni primitive di gestione dei blocchi in cache Principio di localita dei dati e strategie di replacement dei blocchi Euristica: 80% delle applicazioni accede al 20% delle pagine Valutazione dell hit ratio come per i SO Il buffer manager gestisce una directory di riferimenti Pagina buffer pagina fisica (file, blocco) Cosa cambia nel caso di MS: occorre garantire Atomicita Durabilita Quindi sono necessarie strategie di recovery in caso di Carlo Batini 2006 Carlo Batini File System Architettura manager Richieste di servizio da scheduler e recovery manager Write,write_seq fix unfix use force Operazioni Elementari w(x) r(x) Scheduler ( concorrenza) Primitive di gestione Write, File System write_seq fixunfix use force Fix: chiede l accesso ad una pagina e provoca il suo eventuale caricamento nel buffer Primitiva di transazione Sotto il controllo dello scheduler Effetto: la pagina diventa attiva e disponibile alla transazione w(x)r(x) Carlo Batini 2006 Carlo Batini
6 Funzionamento di fix Se la pagina richiesta e disponibile (unfixed) e nel buffer Ritorna il riferimento alla pagina Altrimenti, due politiche possibili: Politica steal (ruba), su pagine attive e non attive 1. Selezionaunavittimavalida(cioe non lockata, cioe non assegnata in esclusiva ad altra transazione, vedi in seguito) 2. Trasferisci vittima in memoria di massa (primitiva, tra poco) 3. Carica la pagina richiesta da file system nella pagina di buffer scelta 4. Ritorna il riferimento alla nuova pagina Politica no steal (non ruba), solo su pagine non attive 1. Se vi sono solo pagine attive, la transazione e sospesa 2. Entrain unacoda 3. Quando si libera una pagina, la Carlo Batini Primitive di gestione Write, File System write_seq Unfix: rilascia la pagina Primitiva di transazione Use: accede alla pagina caricata; Primitiva di transazione fix unfix use force w(x)r(x) Schedule Carlo Batini Primitive di gestione Write, File System write_seq fix unfix use force Force: forza il trasferimento di una pagina dal buffer verso memoria persistente Primitiva di transazione. Puo essere usata anche dal buffer manager Sincrona / bloccante Flush: trasferisce una pagina dal buffer verso memoria persistente Primitiva riservata al buffer manager Asincrona,cioe indipendente dalle transazioni attive w(x)r(x) Carlo Batini Politiche di gestione Politiche di selezione delle pagine Steal: il buffer manager puo selezionare come vittima una pagina attiva o non attiva; No-steal: il buffer manager puo selezionare come vittima solo pagine non attive; Politiche di scrittura su File System Force: le pagine di una transazione attiva vengono scritte su File System in modo sincrono al momento del commit; No-force: le pagine di una transazione attiva vengono scritte dal buffer manager in modo asincrono rispetto alla transazione (con una primitiva Carlo Batini Confronto tra politiche No-steal e piu semplice da realizzare Non deve gestire la riallocazione di pagine a transazioni che hanno gia eseguito fix; Steal evita la necessita di un buffer grande per tenere in memoria tutte le pagine aggiornate No-force garantisce maggiore efficienza Il e eseguito secondo le politiche manager, indipendente dalle richieste delle transazioni Politica preferita nelle implementazioni: no Steal / noforce Ottimizzazioni possibili Pre-fetching, cioe pre acquisizione, o pre-ing, cioe pre invio su memoria secondaria. ottimizzazioni utilizzabili quando il comportamento delle transazioni e Carlo Batini 2006 Carlo Batini
7 manager e file system Il MS crea quindi uno strato di astrazione sopra il file system (FS), tramite manager (per garantire efficienza) Recovery manager (per garantire atomicita, persistenza) Nel tempo queste funzionalita stanno migrando verso il sistema operativo Primitive del file system usate dal MS Create e delete di un file Open e close di un file sul file in memoria centrale read(fileid,block,buffer): accesso diretto a un blocco e caricamento nel buffer; read_seq(fileid,f-block,count,f-buffer): accesso sequenziale a un numero prefissato di blocchi di file e caricamento nel buffer Primitive corrispondenti write e Carlo Batini 2006 Carlo Batini
Parte 3 Gestione del buffer e gestione del recovery
Gestione dei dati Parte 3 Gestione del buffer e gestione del recovery Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliBasi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliSistemi mono o multiutente. Un criterio per classificare un sistema di basi di dati è il numero degli utenti che possono fruirne simultaneamente.
TRANSAZIONI Introduzione alla gestione delle transazioni 2 Sistemi mono o multiutente Un criterio per classificare un sistema di basi di dati è il numero degli utenti che possono fruirne simultaneamente.
DettagliPag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo
Gestione delle transazioni Introduzione Transazioni in SQL Linguaggio SQL: costrutti avanzati 2 applicativo Operazioni bancarie operazione di prelievo dal proprio conto corrente mediante bancomat Gestione
DettagliRecovery manager Gestore della affidabilità
Riferimenti Basi di Dati Complementi Parte 2: Tecnologie per DBMS Parte 2.5: Recovery Manager Trasparenze parte Recovery manager Basi di Dati Atzeni et al. - Capitolo 2.1, 2.2 Anche: Garcia Molina, Ullman,
DettagliLinguaggio SQL: costrutti avanzati
Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione
DettagliLa durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a:
La durability Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 Appunti dalle lezioni Durability (Persistenza) I dati modificati da una transazione che ha fatto il commit non
DettagliCap. 1-I 1 I sistemi informatici
Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento
DettagliBasi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Architetture Distribuite per Basi di Dati Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Architetture Distribuite Parallelismo: usato per ottimizzare le prestazioni di componenti/sistemi
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliParte VII Gestione delle transazioni
Parte VII Gestione delle transazioni Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VII - 1 Funzioni del DBMS Gestione dei dati: cura la memorizzazione permanente dei dati ed il loro accessso Gestione
DettagliTransazioni. Transazioni. Stati di una transazione. Transazioni
Transazioni Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Transazioni Una transazione
DettagliTransazioni. Antonella Poggi. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza
Transazioni Antonella Poggi Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti sulla
DettagliIl linguaggio SQL: transazioni
Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di
DettagliUnità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati
Sicurezza nelle basi di dati Unità D3 Sicurezza e concorrenza nelle basi di dati Una base di dati è sicura quando soddisfa i seguenti parametri: regola l accesso ai dati protetti; evita la modifica o la
DettagliGestione della Concorrenza
Corso di Complementi di Basi di Dati Gestione della Concorrenza Angelo Montanari 1 Anomalie delle transazioni concorrenti -1 Perdita di aggiornamento Lettura sporca Aggiornamento fantasma 2 2 Anomalie
DettagliTecnologia di un Database Server (centralizzato) Gestione dell affidabilità
Affidabilità Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità Angelo Montanari Dipartimento di Matematica e Informatica Università
DettagliBasi di Dati prof. A. Longheu. 5 Progettazione fisica
Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione
DettagliTecnologia di un Database Server (centralizzato) Gestione del buffer
Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer
DettagliEsempio di sistema informativo
Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2009-2010 2010 Docente: Gigliola Vaglini Docente laboratorio: Luca Martini Esempio di sistema informativo GESTIONE
DettagliLaboratorio di Basi di Dati SQL avanzato
Laboratorio di Basi di Dati SQL avanzato Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Interrogazioni nidificate Syntax: SELECT {* [, ]} FROM [,
DettagliTali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla. eseguono azioni sulla base di dati stessa.
Una base di dati è ATTIVA quando consente la definizione e la gestione di regole attive o trigger. Tali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla base di dati
DettagliFondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 1: Introduzione Obiettivi La conoscenza della teoria delle basi di dati? No (o non solo) Piuttosto: Come si può affrontare un problema in
DettagliEsecuzione concorrente di transazioni
Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che
DettagliComponenti di un DBMS
Componenti di un DBMS Come fa un DBMS a garantire le proprietà ACIDe di una transazione? Vediamo i componenti principali dal più interno a quello di più alto livello: Controllore di Concorrenza Gestore
DettagliBasi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive
Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliGestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1
Gestione delle Transazioni Parte terza Argomenti: Gestore del Buffer,Ripristino, File di Log, Protocolli per il ripristino, Savepoint, Shadow Pages, Gestione del Buffer Obiettivi: Minimizzare gli accessi
DettagliBasi di Dati. Concetti e Principi Generali. Maria Mirto
Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati
DettagliBASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI
BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano tratto da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati
DettagliTrigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi
Basi di dati attive : regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi Oggi fanno parte dello standard SLQ-99 In passato ogni DBMS li implementava seguendo
DettagliDB - Cenni sulla gestione delle transazioni
transazioni Cenni sulla gestione delle transazioni in DBMS transazioni Cenni sulla gestione delle transazioni in DBMS Basato sulle slides di transazioni Cenni sulla gestione delle transazioni in DBMS Basato
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
DettagliCognome Nome Matricola Ordin.
Basi di dati II, primo modulo Tecnologia delle basi di dati Prova parziale 27 marzo 2009 Compito A Scrivere il nome su questo foglio e su quello protocollo. Rispondere su questo foglio, eventualmente con
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliAzioni atomiche. Definizioni. Proprietà
Azioni atomiche Definizioni Azione atomica: strumento di alto livello per strutturare programmi concorrenti e/o distribuiti, tolleranti a vari tipi di malfunzionamenti; o Realizzata con strumenti linguistici
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliFile e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS
1 Tecnologia delle BD: perché studiarla? File e indici I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto finora ignorare molti aspetti realizzativi abbiamo considerato il DBMS
DettagliTRANSAZIONI DISTRIBUITE TRANSAZIONI
TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità
DettagliModello a scambio di messaggi
Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente
DettagliUniversita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
DettagliSistemi transazionali. sistemi transazionali 1
Sistemi transazionali sistemi transazionali 1 Ricordiamo le principali caratteristiche dei DBMS condivisione dei dati - concorrenza qualità dei dati - integrità efficienza - caricamento, query, sort controllo
DettagliSistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
DettagliBASI DI DATI DISTRIBUITE. Esercizio n. 1 Si consideri la base dati:
BASI DI DATI DISTRIBUITE Esercizio n. 1 Si consideri la base dati: PRODUZIONE (NumeroSerie, TipoParte, Modello, Qta, Macchina) PRELIEVO (NumeroSerie, Lotto, Cliente, Venditore, Ammontare) CLIENTE (Nome,
DettagliArchivi e basi di dati
Archivi e basi di dati Vito Perrone Corso di Informatica A per Gestionali Memorie di massa 2 1 Indice Memorie di massa Organizzazione degli archivi e basi di dati Basi di dati relazionali 3 Introduzione
DettagliOgni ufficio è formato da 100 dipendenti, i quali hanno a loro volta 3 clienti ciascuno. Inoltre, ad ogni ufficio sono stati assegnati 4 fornitori.
Tecnologia delle Basi Dati Analisi del dbms Postgresql. Luigi Cestoni Prima Parte Descrizione del Database Abbiamo realizzato un database costituito da quattro tabelle: 1. dipendente( id,nome,cognome,eta,telefono,idufficio)
Dettagli5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche
Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con
DettagliBasi di dati Architetture e linee di evoluzione
Basi di dati Architetture e linee di evoluzione Paolo Atzeni Stefano Ceri Piero Fraternali Stefano Paraboschi Riccardo Tarlane web site McGraw-Hill IUAV - VENEZIA H 9891 BIBLIOTECA CENTRALE I J ()(),,.
Dettagli6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale
45 6.6 Regioni Critiche Condizionali 6.7 Monitor Costrutti linguistici inventati per evitare i problemi di programmazione che facilmente si fanno con i semafori Attenzione con i thread: in tale ambiente
DettagliCapitolo 6. Esercizio 6.1
Capitolo 6 Esercizio 6.1 Si consideri la base dati: PRODUZIONE (NumeroSerie, TipoParte, Modello, Qta, Macchina) PRELIEVO (NumeroSerie, Lotto, Cliente, Venditore, Ammontare) CLIENTE (Nome, Città Indirizzo)
DettagliOperazioni scatenanti. Nozione ed uso. Sintassi. Esempio
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati
DettagliBasi di Dati Distribuite
Basi di Dati Distribuite P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (McGraw-Hill Italia) Basi di dati: architetture linee di evoluzione - seconda edizione Capitolo 3 Appunti dalle lezioni SQL come DDL
DettagliPag Politecnico di Torino 1
Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliLe conversazioni. Dott. Doria Mauro
Hibernate Le conversazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione alle conversazioni In una applicazione reale le operazioni sono organizzate in classi controller con le funzioni di business
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
DettagliChiamata di procedura remota
Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da
DettagliIntroduzione alle Basi di Dati
Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni SQL
DettagliBASI DI DATI. basi di dati - introduzione ai sistemi informativi 1
BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
DettagliChe cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati
Che cos è un DBMS? Capitolo 1 Introduzione ai sistemi di basi di dati Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni
DettagliDB e DBMS. Corso di Fondamenti di Informatica (PEU-Z) Dott.ssa Rossella Aiello
DB e DBMS Corso di Fondamenti di Informatica (PEU-Z) Dott.ssa Rossella Aiello Testi di riferimento Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Mc Graw Hill 2014 (IV Edizione) Altri testi di consultazione
DettagliGestione delle transazioni
Gestione delle transazioni Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: transazioni.pdf Sistemi Informativi L-B Cos è una transazione? Una
DettagliEsecuzione concorrente di transazioni
Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I A N N O A C C A D E M I C O 2 0 1 0-2 0 1 1 Osservazione Per gestire con prestazione accettabili il carico di lavoro tipico
DettagliBasi di Dati. prof. Letizia Tanca. Le transazioni e il database server, cenni sui nuovi sistemi per Big Data
Basi di Dati prof. Letizia Tanca Le transazioni e il database server, cenni sui nuovi sistemi per Big Data (lucidi parzialmente tratti dal libro: Atzeni, Ceri, Paraboschi, Torlone Introduzione alle Basi
DettagliStruttura interna del sistema operativo Linux
Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04
DettagliBasi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base
DettagliProgettazione di Sistemi Informatici
Progettazione di Sistemi Informatici Stored routines e transazioni Domenico Diacono Corso ADM Gennaio 2008 Definizione di stored procedure Una stored routine è costituita o da una procedura o da una funzione
DettagliViene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE
Dato il seguente schema E/R E la sua traduzione nel seguente schema relazionale: disponibile in http://www.dbgroup.unimo.it/sire/20110513/20110513.bak Viene richiesto di 1) Risolvere la seguente interrogazione
DettagliTransazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione
Transazioni Transazioni Per mantenere le informazioni consistenti è necessario controllare opportunamente le sequenze di accessi e aggiornamenti ai dati Gli utenti interagiscono con la base di dati attraverso
DettagliModelli di interazione tra processi
Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliBasi di dati. Elena Baralis Politecnico di Torino
Libri di testo Atzeni, Ceri, Paraboschi, Torlone, Basi di dati, 2 a ed., McGraw Hill, 1999. Baralis, Belussi, Psaila, Basi di dati: temi d esame svolti, Esculapio, 2000. Introduzione - 2 Introduzione Sistema
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al
DettagliStruttura Logica del S.O:
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 6 Raffaella Gentilini 1 / 40 Sommario 1 Viste 2 3 2 / 40 Viste Viste le viste sono tabelle virtuali corrispondono al risultato di una query (SELECT) valutata
DettagliTriggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza
Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti
DettagliArchitetture distribuite
Architetture distribuite -ARC 1 Basi di dati distribuite a RETE : LAN (Local Area Network) WAN (Wide Area Network) b DBMS : Sistema omogeneo Sistema eterogeneo SYBASE ORACLE DB2 CLIENT -ARC 2 Problemi
DettagliI THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
DettagliModelli di interazione tra processi
Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema
DettagliCapitolo 2: Strutture dei sistemi di calcolo
Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori
DettagliCAPITOLO 22 PROBLEMA DEL PRODUTTORE/CONSUMATORE
CAPITOLO 22 PROBLEMA DEL PRODUTTORE/CONSUMATORE Il problema del produttore/consumatore Il primo approccio alla risoluzione del problema del produttore/consumatore considera un buffer infinito presentato
DettagliGestione delle transazioni. Concetto di transazione
Dario Maio http://www.csr.unibo.it/~maio/ dmaio@deis.unibo.it Concetto di transazione Una transazione è un unità logica di elaborazione che corrisponde a un insieme di operazioni fisiche elementari (letture/scritture)
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliBasi di dati. SQL: Caratteristiche evolute
Basi di dati SQL: Caratteristiche evolute Vincoli di integrità generici: check Specifica di vincoli di ennupla (e anche vincoli più complessi, non sempre supportati) check ( Condizione ) 2 Check, esempio
DettagliData Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario
Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione
DettagliSISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1
SISTEMI INFORMATIVI AZIENDALI introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
Dettagli2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
DettagliL architettura di un DBMS
L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze
DettagliCAP9. Device drivers
Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
DettagliCPU pipeline 4: le CPU moderne
Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16
DettagliBasi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliCAPITOLO 17 PROBLEMI DEL PRODUTTORE/CONSUMATORE v1
CAPITOLO 17 PROBLEMI DEL PRODUTTORE/CONSUMATORE v1 PRODUTTORE/CONSUMATORE Il problema del produttore/consumatore è uno dei problemi più comuni di concorrenza tra processi. Il problema presenta uno o più
DettagliComponenti di un sistema operativo
Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria
DettagliTRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.
Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Nel caso di successo, i risultati delle operazioni effettuate devono essere resi definitivi; invece,
DettagliCorso di Basi di Dati/Laboratorio di Basi di Dati
Corso di Basi di Dati/Laboratorio di Basi di Dati ed. 2007-2008 Alfredo Cuzzocrea (ICAR & DEIS, Università della Calabria) 0984-494618 cuzzocrea@si.deis.unical.it http://si.deis.unical.it/~cuzzocrea SITO
DettagliBASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com
BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com 1 Tecnologia di un Database Server - DEFINIZIONI - DATABASE SERVER: E un sistema dedicato alla gestione dei dati.
Dettagli1- AFFIDABILITA. Esercizio n.1
1- AFFIDABILITA Esercizio n.1 Il check-point prevede le seguenti attività (durante le quali non sono ammessi commit e abort): 1. scrittura in memoria stabile (force) di tutte le pagine "sporche" del buffer
Dettagli