TRANSAZIONI DISTRIBUITE TRANSAZIONI

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "TRANSAZIONI DISTRIBUITE TRANSAZIONI"

Transcript

1 TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità locale e globale Protocollo 2PL (Two-Phase Locking) distribuito Situazioni di stallo Riferimenti [1] A.Albano Costruire sistemi per basi di dati, Addison Wesley, 2001 [4] P.Atzeni,S.Ceri,P.Fraternali,S.Paraboschi,R.Torlone Basi di dati architetture e linee di evoluzione, McGraw-Hill, 2003 [5] M.T.Ozsu,P.Valduriez Principles of Distributed Database Systems, 2nd edition, Prentice Hall, 1991 Transazioni distribuite 1 TRANSAZIONI Una transazione è una unità elementare di lavoro svolta da una applicazione; comandi di transazione: Start transaction / end transaction Commit / Rollback Se una transazione esegue un rollback oppure viene uccisa dal sistema si dice che la transazione va in abort Proprietà acide di una transazione (ACID) Atomicity, atomicità: una transazione è una unità indivisibile di esecuzione (tutta o niente, abort undo) Consistency, consistenza: non devono essere violati i vincoli di integrità della base di dati (verifica immediata o differita al momento del commit, es. cicli nei vincoli di integrità referenziali) Isolation, isolamento: l esito di una transazione è indipendente dall esecuzione concorrente di altre transazioni (2PL vs 2PL stretto) Durability, persistenza: le modifiche effettuate da una transazione andata in commit devono essere permanenti (guasti redo) Transazioni distribuite 2 1

2 Caratteristiche delle transazioni distribuite Una transazione distribuita è composta da più sottotransazioni eseguite in modo concorrente da processi diversi In un DBMS distribuito le sottotransazioni vengono eseguite su nodi diversi della rete Una transazione distribuita accede quindi a dati allocati su nodi diversi La transazione distribuita deve comunque essere indivisibile Le sottotransazioni devono essere opportunamente coordinate Transazioni distribuite 3 Distributed Execution Monitor Nel sistema c è un modulo che gestisce l esecuzione delle transazioni, in ambiente distribuito è chiamato Distributed Execution Monitor Il DEM passa opportuni comandi al Data Processor che invece ha la funzione di accedere ai dati All interno del DEM possiamo individuare due componenti Lo Scheduler che si occupa di alternare le operazioni delle varie transazioni in esecuzione Il Transaction Manager che gestisce le transazioni, accetta i comandi di transazione e fa in modo che vengano eseguiti Transazioni distribuite 4 2

3 Modello del Distributed Execution Monitor Begin_trans, Read, Write Commit, Abort Risultati Distributed Execution Monitor Transaction Manager TM Con altri SC Con altri TM Con altri data processor Scheduler SC verso data processor Transazioni distribuite 5 Operazioni e Transaction Manager Begin_transaction Sta per cominciare una nuova transazione Il TM registra il nome della transazione, l applicazione da cui ha origine,.. Read Se il dato x è memorizzato localmente, il suo valore viene letto e restituito Altrimenti il TM sceglie una copia di x e chiede che venga restituita Write Il TM coordina l aggiornamento del valore di x in tutti i siti dove è memorizzato Commit Il TM coordina l aggiornamento fisico di tutti i database che contengono copie di tutti i dati che erano stati scritti Abort Il TM fa in modo che le transazioni non abbiano effetto sul database Transazioni distribuite 6 3

4 Classificazione delle transazioni (1) Classificazione delle transazioni basata sulla natura dei comandi SQL che le compongono Richieste remote Transazioni di sola lettura verso un solo DBMS remoto (più comandi SELECT verso un unico DBMS remoto) Transazioni remote Transazioni costituite da più comandi (SELECT, INSERT, DELETE, UPDATE) diretti ad un unico DBMS remoto Transazioni distribuite Transazioni rivolte a più DBMS, ma un singolo comando SQL fa riferimento ai dati di un solo DBMS Richieste distribuite Transazioni arbitrarie, formate da più comandi SQL, e ciascuno di essi può far riferimento a dati distribuiti su qualunque DBMS Transazioni distribuite 7 Classificazione delle transazioni (2) Questa classificazione fa riferimento alla nozione di trasparenza a livello di linguaggio Ad esempio se abbiamo trasparenza a livello di frammentazione (l utente fa una query generica senza sapere se la relazione è frammentata e l eventuale allocazione dei frammenti) la query risultante è classificabile come richiesta distribuita La classificazione fa riferimento alle situazioni: Una transazione può solo leggere Una transazione può scrivere ma scrive su un solo DBMS Una transazione può scrivere su più nodi ma ogni comando, quindi anche ogni scrittura, è indirizzato ad un solo DBMS: necessità di un protocollo di commit a due fasi Una transazione può avere un comando (o più) che fa riferimento a più nodi (es. join): necessità di un ottimizzatore delle interrogazioni Transazioni distribuite 8 4

5 Esempio1 di transazione Conto_corrente ( num_cc, nome, saldo) divisa in due frammenti Conto_corrente1 (num_cc <= 10000) Conto_corrente2 (num_cc > 10000) Query che trasferisce 100 euro dal conto 3100 al conto con trasparenza a livello di allocazione (l utente è a conoscenza dei frammenti ma non dei nodi su cui sono allocati) Begin transaction update Conto_corrente1 set saldo = saldo 100 where num_cc = 3100; update Conto_corrente2 set saldo = saldo where num_cc = End transaction Transazioni distribuite 9 Esempio2 di transazione (1) Conto_corr (num, saldo) e Conto_risp (num, saldo) allocate in nodi diversi Transazione: sposta un ammontare da Conto_risp a Conto_corr viene eseguita come due processi diversi che si scambiano messaggi la transazione inizia nel nodo dove si trova Conto_risp la transazione effettua alcune operazioni, poi attiva la sottotransazione partecipante e le manda un messaggio Riferimento [1] Transazioni distribuite 10 5

6 Esempio2 di transazione (2) PROCESS Coordinatore; VAR EXEC SQL BEGIN DECLARE SECTION x_amm, amm, x_saldo: INTEGER; numero, da_conto, a_conto: ARRAY [1 6] OF CHAR; EXEC SQL END DECLARE SECTION BEGIN TRANSACTION WRITELN ( Scrivi Ammontare, da quale conto, a quale conto ); READ (amm, da_conto, a_conto); EXEC SQL SELECT saldo INTO :x_saldo FROM Conto_risp WHERE num = :da_conto IF x_saldo < amm THEN BEGIN WRITELN ( saldo insufficiente ); ROLLBACK; END ELSE BEGIN EXEC SQL UPDATE Conto_risp SET saldo = :saldo - :amm WHERE num = :da_conto; CREATE Partecipante; SEND (amm, a_conto) TO Partecipante; COMMIT; END END TRANSACTION; END Coordinatore Transazioni distribuite 11 Esempio2 di transazione (3) PROCESS Partecipante VAR EXEC SQL BEGIN DECLARE SECTION amm, x_saldo: INTEGER; a_conto: ARRAY [1 6] OF CHAR; EXEC SQL END DECLARE SECTION BEGIN RECEIVE ( amm, a_conto) FROM Coordinatore; EXEC SQL UPDATE Conto_corr SET saldo=saldo + :amm WHERE num = :a_conto; IF SQLCODE = 0 THEN COMMIT ELSE ROLLBACK END Partecipante Transazioni distribuite 12 6

7 Atomicità di una transazione Una transazione distribuita è composta da più sottotransazioni eseguite su nodi diversi Ogni sottotransazione può andare in commit o in abort indipendentemente dalle altre La transazione distribuita può andare in commit solo se tutte le sottotransazioni terminano correttamente Deve quindi essere seguito un protocollo particolare per arrivare alla decisione di commit o abort per la transazione Protocollo di commit a due fasi (Two-Phase Commit Protocol, 2PC) Tutti i server su cui sono eseguite le sottotransazioni sono detti partecipanti ; esiste un processo detto coordinatore Vengono scritti nuovi tipi di record nel log per rendere il protocollo resistente ai guasti Transazioni distribuite 13 2PC / Two-Phase Commit Protocol Abbiamo un numero arbitrario di partecipanti e un coordinatore Partecipanti: RM, Resource Manager (sono le sottotransazioni) Coordinatore: TM, Transaction Manager Un RM viene eseguito sotto il controllo del Transaction Manager locale ed esegue quanto localmente necessario: scrittura sul Log di Begin, Insert, regola WAL (Write Ahead Log), commit precedenza, Il TM spesso è eseguito sul nodo che ha attivato la transazione Fase uno Vengono interrogate le sottotransazioni, raccolte le loro decisioni e deciso un commit globale (se tutte hanno comunicato una terminazione positiva) o un abort globale Fase due La decisione globale viene comunicata alle sottotransazioni che effettuano le relative operazioni Transazioni distribuite 14 7

8 Protocollo 2PC - Log TM e RM hanno ognuno un proprio Log Record particolari scritti da TM nel suo Log PREPARE contiene l identificativo dei processi RM (nodo e processo) GLOBAL COMMIT esprime la decisione atomica e persistente di terminare con successo l intera trasmissione GLOBAL ABORT COMPLETE viene scritto al termine del 2PC Record particolari scritti da ogni RM nel suo Log READY contiene l identificativo (nodo e processo) di TM, esprime la volontà irrevocabile di partecipare al 2PC per contribuire ad un commit Transazioni distribuite 15 Protocollo 2PC in assenza di guasti prima fase TM Registra Prepare nel proprio Log Imposta un tempo massimo di attesa, timeout Invia un messaggio Prepare a tutti gli RM RM Un RM in stato affidabile scrive Ready nel proprio Log e trasmette a TM un messaggio di Ready (vote-commit) Un RM non in stato affidabile (fallimento di transazione) invia un messaggio di not-ready (vote-abort) e termina il protocollo TM Colleziona tutte le risposte Se riceve da tutti gli RM un messaggio di Ready scrive Global Commit nel proprio Log Se non riceve tutte risposte positive, o se allo scadere del timeout non ha ancora ricevuto risposta da tutti gli RM, scrive Global Abort sul proprio Log Es. di risposta mancante: RM ha deciso autonomamente un abort Transazioni distribuite 16 8

9 Protocollo 2PC in assenza di guasti seconda fase TM Trasmette la sua decisione agli RM Imposta un timeout RM in stato ready Riceve da TM la decisione globale Scrive Commit o Abort sul proprio Log Invia un messaggio di Ack (Acknowledge) al TM L esecuzione del Commit o Abort procede localmente TM Colleziona tutti gli Ack Se riceve tutti gli Ack scrive Complete nel proprio Log Se scatta il timeout senza aver ricevuto tutte le risposte, imposta un nuovo timeout e ripete la trasmissione verso gli RM che non hanno risposto, e così via finché non arrivano tutti gli Ack Transazioni distribuite 17 Azioni del protocollo 2PC coordinatore INITIAL PREPARE partecipante INITIAL Write begin_commit WAIT VOTE-ABORT Write abort no Ready to commit? si VOTE-COMMIT Write ready Any NO? no si Write abort GLOBAL-COMMIT GLOBAL-ABORT READY Write commit COMMIT ABORT ACK ACK Write abort abort Type of msg? commit Write commit Write end_of_transaction ABORT COMMIT Transazioni distribuite 18 9

10 Struttura del 2PC centralizzato coordinatore partecipanti coordinatore partecipanti coordinatore PREPARE VOTE-ABORT / VOTE-COMMIT GLOBAL-ABORT / GLOBAL-COMMIT ABORT / COMMIT Fase 1 Fase 2 Transazioni distribuite 19 Protocollo 2PC - osservazioni Assenza di comunicazione fra TM e RM Durante la prima fase: Abort globale Durante la seconda fase: ripetizione della trasmissione da parte di TM Un RM ready perde la propria autonomia rispetto a TM e rimane in attesa di quanto deciderà TM Intervallo di incertezza: intervallo fra la scrittura sul Log di Ready e la scrittura di Commit o Abort Durante l intervallo di incertezza i lock acquisiti permangono, non vengono ancora rilasciati (se si ha un fallimento di TM o della rete si deve aspettare il ripristino dal fallimento): protocollo blocca nte Le prossime figure sono riprese da [4] Nella seconda viene visualizzato un client che lancia il processo applicativo RM ( e poi altri ) e ne attende la terminazione; una volta che gli RM comunicano di aver terminato, lancia il 2PC interagendo con il TM In questo modello è il client a coordinare un esecuzione distribuita Transazioni distribuite 20 10

11 Protocollo 2PC finestra di incertezza Prepare Global decision Complete TM prepare msg ready msg Ready decision msg Local decision ack msg RM Finestra di incertezza Transazioni distribuite 21 Protocollo 2PC nel contesto di una transazione CLIENT exec done 2PC done TM Begin Update Update RM Transazioni distribuite 22 11

12 Protocollo 2PC guasti caduta di un partecipante Ricordiamo che la caduta di un partecipante comporta la perdita dei buffer Nel protocollo di ripresa a caldo, viene esaminato il Log Se l ultimo record scritto dal partecipante è Una azione: le azioni devono essere disfatte Abort: le azioni devono essere disfatte Commit: le azioni devono essere rifatte Se, in questi ultimi due casi, non è stato inviato ack, si noti che il TM continua a ripetere la seconda fase finché non ottiene risposta (a seguito del recovery di RM) Ready: l esito globale è in dubbio; vengono chieste informazioni al TM Transazioni distribuite 23 Protocollo 2PC guasti caduta del coordinatore Ultimo record nel Log: Prepare Il TM ripete la prima fase del protocollo (se gli RM sono ancora pronti, si potrà avere un Commit) Ultimo record nel Log: Global Decision Ad alcuni RM potrebbe non essere ancora stata comunicata la decisione globale La seconda fase viene riiniziata inviando a tutti la decisione globale Ultimo record nel Log: Complete Il fallimento del TM non ha conseguenze sulla transazione Motivi della ripetizione della seconda fase È scaduto il timeout nel funzionamento normale Recovery di RM o TM Ripetizione seconda fase: RM può ricevere più volte la stessa decisione, questa può essere ignorata ma deve essere risposto ack Transazioni distribuite 24 12

13 Protocollo 2PC - guasti perdita di messaggi / partizionamento rete Perdita di Prepare o di Ready ( o Not-ready) Scade il timeout senza risposta e si ha un Global Abort Perdita di Decision o di Ack: Scade il timeout della seconda fase che viene ripetuta Partizionamento della rete Per il TM è come se tutti i partecipanti sconnessi dalla sottorete cui appartiene il coordinatore fossero falliti Per un RM sconnesso dalla sottorete cui appartiene il coordinatore è come se fosse fallito il coordinatore La transazione avrà successo solo se TM e tutti gli RM appartengono ad una sottorete Transazioni distribuite 25 Concorrenza Correttezza di una esecuzione concorrente distribuita: concetto di serializzabilità La serializzabilità locale delle varie sottotransazioni non garantisce la serializzabilità delle transazioni globali Esempio [4] supponiamo di avere due transazioni T 1 e T 2 che operano su due dati, x e y, allocati rispettivamente nei nodi 1 e 2. Indichiamo con S1 e S2 le storie locali T 1 : r 11 (x) w 11 (x) r 12 (y) w 12 (y) T 2 : r 22 (y) w 22 (y) r 21 (x) w 21 (y) S1 : r 11 (x) w 11 (x) r 21 (x) w 21 (x) S2 : r 22 (y) w 22 (y) r 12 (y) w 12 (y) S1 e S2 sono localmente serializzabili (sono seriali), ma nel grafo dei conflitti globale c è un ciclo: Nodo 1: T 1 precede ed è in conflitto con T 2 Nodo 2: T 2 precede ed è in conflitto con T 1 Transazioni distribuite 26 13

14 Serializzatore distribuito Ambiente distribuito: metodi che sono una generalizzazione di quelli utilizzabili sui sistemi centralizzati Serializzatore distribuito: Ogni sistema locale ha il proprio serializzatore che garantisce la serializzabilità della storia locale I serializzatori locali cooperano tra loro scambiandosi messaggi in modo da ottenere una storia globale serializzabile Consideriamo una generalizzazione del protocollo 2PL (Two- Phase Locking) Protocollo 2PL I dati vengono bloccati e rilasciati con primitive di tipo lock/unlock Dopo un unlock non possono più essere effettuati lock Protocollo 2PL stretto (garantisce l isolamento ) Gli unlock vengono effettuati tutti insieme al momento del Commit Transazioni distribuite 27 Protocollo 2PL distribuito Ogni scheduler esegue localmente un 2PL stretto Quando viene ricevuta una richiesta di blocco per un dato x, viene controllato se il dato è già bloccato, ed eventualmente la transazione viene sospesa Viene seguito un protocollo 2PC per il Commit globale La sottotransazione rilascia tutti i suoi blocchi quando riceve dal coordinatore il messaggio abort o commit Transazioni distribuite 28 14

15 Situazioni di stallo Il protocollo 2PL può portare a situazioni di stallo Una situazione di stallo globale (su più nodi) può verificarsi anche in assenza di stalli locali Esempio [1] - x, y siano dati memorizzati in N1 e N2 T 1 : r 1 (x) w 1 (y) c 1 inizia nel nodo N1 T 2 : r 2 (y) w 2 (x) c 2 inizia nel nodo N2 Si consideri la storia seguente N1: il serializzatore riceve r 1 (x) e assegna il lock rl 1 (x) N2: il serializzatore riceve r 2 (y) e assegna il lock rl 2 (y) N1: il ser. riceve w 2 (x), mette T 2 in attesa, aggiunge T 2 T 1 al proprio grafo di attesa N2: il ser. riceve w 1 (y), mette T 1 in attesa, aggiunge T 1 T 2 al proprio grafo di attesa Si ha un ciclo nel grafo di attesa globale Transazioni distribuite 29 Rilevazione delle situazioni di stallo Uso di timeout Rilevazione centralizzata: costruzione del grafo di attesa globale da parte di un controllore [1] [5] Su un nodo particolare è attivato il controllore (rilevatore globale) I serializzatori locali comunicano via via al controllore le modifiche al grafo di attesa locale Periodicamente il controllore effettua l unione dei grafi locali, se rileva un ciclo sceglie la transazione da interrompere stallo fantasma : una situazione di stallo che appare nel grafo globale, ma dovuta a ritardi nella trasmissione di modifiche del grafo locale Proposto per INGRES distribuito Algoritmo IBM DB2 distribuito: cfr. [3] Transazioni distribuite 30 15

Basi di Dati Distribuite

Basi 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

Dettagli

Architetture distribuite

Architetture 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

Dettagli

Architetture Distribuite

Architetture Distribuite Architetture Distribuite Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Sommario Architetture client-server Basi di dati distribuite

Dettagli

Tecnologia di un Database Server (centralizzato) Introduzione generale

Tecnologia 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

Dettagli

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

Basi 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

Dettagli

Basi di dati distribuite. BD distribiute 1

Basi di dati distribuite. BD distribiute 1 Basi di dati distribuite BD distribiute 1 Motivazioni della distribuzione dei dati natura intrinsecamente distribuita delle organizzazioni evoluzione degli elaboratori - aumento della capacità elaborativa

Dettagli

Linguaggio SQL: costrutti avanzati

Linguaggio 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

Dettagli

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

Pag. 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

Dettagli

Architetture distribuite

Architetture distribuite Architetture distribuite Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 6 Appunti dalle lezioni Sommario Architetture client-server Basi di dati distribuite Basi di dati parallele

Dettagli

DB - Cenni sulla gestione delle transazioni

DB - 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

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità

Tecnologia 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à

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

L architettura di un DBMS

L 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

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

Recovery manager Gestore della affidabilità

Recovery 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,

Dettagli

Esecuzione concorrente di transazioni

Esecuzione 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

Dettagli

Azioni. 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. 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)

Dettagli

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

TRANSAZIONI. 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,

Dettagli

Transazioni - Parte 1

Transazioni - Parte 1 Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria

Dettagli

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

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

8 Tecniche di recovery

8 Tecniche di recovery 8 Tecniche di recovery Se viene sottomessa una transazione T, o tutte le operazioni di T sono completate ed il loro effetto è registrato permanentemente nel DB, o T non ha nessun effetto né sul DB né su

Dettagli

Il linguaggio SQL: transazioni

Il 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

Dettagli

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

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni Capitolo 13 Gestione delle transazioni Transazioni L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché gli accessi al disco sono frequenti e relativamente

Dettagli

Architetture Distribuite per Basi di Dati

Architetture Distribuite per Basi di Dati Architetture Distribuite per Basi di Dati Carlo Combi e Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine 1 Architetture distribuite per Basi di Dati Introduzione

Dettagli

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill /XFLGLVXOFRQWUROORGHOODFRQFRUUHQ]D Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill $QRPDOLD /RVW8SGDWH Si considerino le due transazioni identiche: W1

Dettagli

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

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche. Query/update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura pagine Architettura di un DBMS Utente/Applicazione

Dettagli

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

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché

Dettagli

Modello relazionale. ing. Alfredo Cozzi 1

Modello relazionale. ing. Alfredo Cozzi 1 Modello relazionale E fondato sul concetto matematico di relazione tra insiemi di oggetti Una relazione su n insiemi A1, A2,..,An è un sottoinsieme di tutte le n-uple a1,a2,,an che si possono costruire

Dettagli

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9 Prefazione... 1 Contenuti... 1 Ringraziamenti... 2 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 1.1 Dichiarazione di funzioni e procedure... 3 1.2 Istruzioni PSM... 4 2 Vincoli e Trigger...

Dettagli

Introduzione all Architettura del DBMS

Introduzione all Architettura del DBMS 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

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Sistemi transazionali. sistemi transazionali 1

Sistemi 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

Dettagli

Sincronizzazione nei Sistemi Distribuiti

Sincronizzazione nei Sistemi Distribuiti Sincronizzazione nei Sistemi Distribuiti Sincronizzazione dei Clock In un sistema centralizzato la misurazione del tempo non presenta ambiguità. (ogni computer ha il proprio clock) In un sistema distribuito

Dettagli

Basi di Dati Complementi Esercizi Esercizi su concurrency control

Basi di Dati Complementi Esercizi Esercizi su concurrency control Basi di Dati Complementi Esercizi Esercizi su concurrenc control Esercizio. Dati gli schedule : s r w r w r w s r w r w r3 w r r3 s3 r r3 rz w w3 a. specificare, con una breve giustificazione, a quali

Dettagli

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi 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

Dettagli

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione

Transazioni. 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

Dettagli

Basi 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 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

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

11. Basi di dati distribuite ed architetture client-server

11. Basi di dati distribuite ed architetture client-server 11. Basi di dati distribuite ed architetture client-server In questa lezione focalizzeremo la nostra attenzione sui Database distribuiti (DDB), i sistemi per la gestione di Database Distribuiti (DDBMS),

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia 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

Dettagli

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

Data 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

Dettagli

Gestione delle transazioni. Concetto di transazione

Gestione 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)

Dettagli

6 BASI DI DATI DISTRIBUITE. Paradigma client-server I- ARCHITETTURE CLIENT-SERVER SERVER. Paradigmi per la distribuzione dati.

6 BASI DI DATI DISTRIBUITE. Paradigma client-server I- ARCHITETTURE CLIENT-SERVER SERVER. Paradigmi per la distribuzione dati. Paradigmi per la distribuzione dati Basi di dati II 6 BASI DI DATI DISTRIBUITE I-Architettura client-server Separazione del database server dal client II- Basi di dati distribuite Molti database server

Dettagli

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Dettagli

Archivi e database. Lezione n. 7

Archivi e database. Lezione n. 7 Archivi e database Lezione n. 7 Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante

Dettagli

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. Capitolo 2 Esercizio 2.1 Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. 1. r1(x), w1(x), r2(x), w2(y), a1, c2 2. r1(x),

Dettagli

Sincronizzazione e coordinamento nel distribuito

Sincronizzazione e coordinamento nel distribuito Sincronizzazione e coordinamento nel distribuito Sincronizzazione in sistemi centralizzati uso di primitive basate implicitamente sull esistenza della memoria condivisa Sincronizzazione in sistemi distribuiti

Dettagli

Transazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013

Transazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 Transazioni in SQL Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 1 Introduzione Informalmente, una transazione è una sequenza (arbitrariamente lunga) di operazioni

Dettagli

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni Replicazione Replicazione dei dati: gestione e manutenzione di un insieme di copie dei dati Motivazioni: - disponibilità - tolleranza ai guasti - prestazioni aching diverso da replicazione aching non aumenta

Dettagli

SISTEMI DISTRIBUITI. Criteri classificazione DBMS distribuiti

SISTEMI DISTRIBUITI. Criteri classificazione DBMS distribuiti SISTEMI DISTRIBUITI Criteri di classificazione dei sistemi distribuiti Autonomia, distribuzione, eterogeneità Architetture per DBMS distribuiti Client/server Peer-to-peer Multi-database Regole di Date

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza

Tecnologia di un Database Server (centralizzato) Gestione della concorrenza Concorrenza Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione della concorrenza Angelo Montanari Dipartimento di Matematica e Informatica Università

Dettagli

ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza

ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza ARCHITETTURA DI UN B.D.M.S. Parte I Il controllo di concorrenza Michele de Nittis Generalità A livello astratto un DataBase Management System può essere suddiviso nei seguenti moduli: OTTIMIZZATORE FILE

Dettagli

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati

Che 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

Dettagli

MODELLO AD AMBIENTE GLOBALE

MODELLO AD AMBIENTE GLOBALE MODELLI DI INTERAZIONE TRA PROCESSI Modello ad ambiente globale ( global environment ) Modello a scambio di messaggi ( message passing ) MODELLO AD AMBIENTE GLOBALE Il sistema è visto come un insieme di

Dettagli

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

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Sistemi di gestione delle basi di dati 1 Cos è un DBMS? Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni (ad esempio, Madonna

Dettagli

INTRODUZIONE. Motivazioni e Obbiettivi

INTRODUZIONE. Motivazioni e Obbiettivi INTRODUZIONE Motivazioni dei sistemi distribuiti Caratteristiche generali Alcuni richiami sui database centralizzati Standardizzazione dei dati (ANSI/SPARC) Funzioni dei DBMS relazionali Problematiche

Dettagli

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 Testo: Sviluppare semplici programmi che permettano di verificare i diversi livelli di isolamento previsti da SQL

Dettagli

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche 5.1 Implementazione dei monitor con i semafori Un monitor è un tipo di

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1

Gestione 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

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

Dettagli

Ordinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita

Ordinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita Lezione 11 Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita Ordinamento degli eventi Un sistema monoprocessore Unico clock Unica memoria Ordinamento degli eventi Mutua esclusione Deadlock

Dettagli

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

File 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

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO (designata) (designante) Viene rappresentata inserendo, nella tabella dell entità designante,

Dettagli

Parte 1 Gestione della concorrenza

Parte 1 Gestione della concorrenza Gestione dei dati Parte 1 Gestione della concorrenza Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria dell informazione, informatica e statistica Sapienza Università di Roma Anno Accademico 2012/2013

Dettagli

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI

BASI 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

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

BASI 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 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.

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto Modello a scambio di messaggi type messaggio = record origine: ; destinazione: ; contenuto:

Dettagli

Linee guida per la programmazione di transazioni in PL/SQL

Linee guida per la programmazione di transazioni in PL/SQL Linee guida per la programmazione di transazioni in PL/SQL Giuseppe Berio Giuseppe Berio DI - Unito 1 Esempio La transazione deve registrare l evasione di un ordine, rappresentato su più tabelle specializzate

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Basi di dati 1 Introduzione ai sistemi di basi di dati Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Introduzione ai sistemi di basi

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Sistemi Web Tolleranti ai Guasti

Sistemi Web Tolleranti ai Guasti Sistemi Web Tolleranti ai Guasti Candidato: Paolo Romano Relatore: Prof. Salvatore Tucci Correlatore: Prof. Bruno Ciciani Sommario Il problema: garantire semantica exactly once alle transazioni Web. Sistema

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

perpretate da utenti autorizzati perpretate da agenti ostili

perpretate da utenti autorizzati perpretate da agenti ostili 1! " # 2 1 ! perpretate da utenti autorizzati perpretate da agenti ostili 3 a livello fisico: furti, danni a livello logico di intercettazione di deduzione di intrusione di disturbo (anche virus, worm)

Dettagli

Capitolo 7. Esercizio 7.1

Capitolo 7. Esercizio 7.1 Capitolo 7 Esercizio 7.1 Dato lo schema relazionale: IMPIEGATO (Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) Definire le seguenti regole attive in Oracle e DB2: 1. una regola, che quando il

Dettagli

CAPITOLO 24 I MONITOR

CAPITOLO 24 I MONITOR EFFETTO DELLE PRIMITIVE - signal E wait SUI SEMAFORI CAPITOLO 24 I MONITOR I semafori sono un mezzo efficace per la gestione della mutua esclusione in ambienti con processi concorrenti, ma spesso è difficile

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

execute reject delay

execute reject delay Scheduler Lo scheduler stabilisce l ordine di esecuzione delle operazioni. Le azioni che svolge sono: execute: l operazione può essere eseguita immediatamente, per cui viene passata al data manager reject:

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

Indice dei Contenuti

Indice dei Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A2 Introduzione ai database 1 Prerequisiti Concetto di sistema File system Archivi File e record 2 1 Introduzione Nella gestione di una attività, ad esempio un azienda, la

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

Gestione delle transazioni

Gestione delle transazioni Funzionalità avanzate dei DBMS Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Gestione delle transazioni Per approfondimenti: Ciaccia, Maio. Lezioni di basi di dati: pp 439-46 ORACLE

Dettagli

22/05/2013. Indice dei Contenuti. Global State (1) Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

22/05/2013. Indice dei Contenuti. Global State (1) Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni

Dettagli

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Riferimenti Bibliografici

Riferimenti Bibliografici Elaborazione Automatica dei Dati Enrico Cavalli Anno Accademico 2012-2013 Riferimenti Bibliografici Cavalli, Lorenzi Progettazione dei database linguaggio SQL dati in rete Access, MySQL, pagine ASP, Pagine

Dettagli

PTDR Disaster Recovery for oracle database

PTDR Disaster Recovery for oracle database PTDR Disaster Recovery for oracle database INTRODUZIONE... 3 INTRODUZIONE... 3 I MECCANISMI BASE DI ORACLE DATA GUARD... 3 COSA SONO I REDO LOG?... 4 IMPATTO SULL'ARCHITETTURA COMPLESSIVA... 4 CONCLUSIONI...

Dettagli

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

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Applicazione DBToolsSync Manuale Utente

Applicazione DBToolsSync Manuale Utente Applicazione DBToolsSync Manuale Utente L applicazione DBToolsSync pubblica dei dati su Web, mantenendoli sincronizzati. Il manuale è strutturato come segue: Presentazione generale dell applicazione Capitolo

Dettagli