Architetture distribuite

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architetture distribuite"

Transcript

1 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 Basi di dati replicate Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 2

2 Paradigma client-server Tecnica per strutturare sistemi software Viene resa "pubblica" una "interfaccia di servizi" Due tipologie di sistemi: CLIENT richiedono i servizi SERVER forniscono i servizi servizi richiesti dal CLIENT svolti dai SERVER Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 3 Client-server nei sistemi informativi Separazione funzionale ideale CLIENT presentazione dell'informazione SERVER gestione dei dati SQL il linguaggio ideale per separare gli ambienti CLIENT formula query, elabora risultati SERVER esegue query RETE trasferisce i comandi di attivazione (es: di procedure SQL) e i risultati Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 4

3 Architettura client-server classica CLIENT compone richieste in SQL SERVER esegue richieste in SQL Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 5 Architettura con server applicativo CLIENT richiede applicazioni CLIENT CLIENT SERVER APPLICATIVO compone richieste in SQL DATABASE SERVER esegue richieste in SQL Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 6

4 Sommario Architetture client-server Basi di dati distribuite Basi di dati parallele Basi di dati replicate Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 7 DB Distribuiti Un DB distribuito è una collezione di dati: Logicamente appartenenti allo stesso sistema. I dati hanno cioè caratteristiche tali che li legano insieme cosicché un DB distribuito è diverso da un insieme di DB centralizzati. Sono distribuiti su più server collegati in rete. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 8

5 Motivazioni Natura intrinsecamente distribuita delle organizzazioni Evoluzione degli elaboratori Aumento della capacità' elaborativa Riduzione di prezzo Evoluzione della tecnologia dei DBMS Standard di interoperabilità Evoluzione delle reti Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 9 DB Distribuiti: Classificazione Se su tutti i server è usato lo stesso DBMS si parla di DB omogenei. Se i DBMS sono diversi si parla di DB eterogenei. E anche importante sapere se i vari server sono collegati da una LAN o da una WAN. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 10

6 Tipici esempi di applicazioni Omogeneo Eterogeneo LAN Applicazioni gestionali e finanziarie Applicazioni gestionali interfunzionali WAN Sistemi di prenotazione, applicazioni finanziarie Sistemi di prenotazione integrati, sistemi interbancari Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 11 Problemi delle basi di dati distribuite Autonomia e cooperazione Trasparenza Efficienza Affidabilità Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 12

7 Autonomia e cooperazione L'esigenza di autonomia: Una reazione ai ''Centri EDP'' Portare competenze e controllo laddove vengono gestiti i dati Rendere la maggior parte delle applicazioni NON distribuite (!) L'esigenza di cooperazione: Alcune applicazioni sono intrinsecamente distribuite e richiedono l'accesso a più basi di dati Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 13 Frammentazione dei dati Posso frammentare lo schema Vincoli di integrità referenziale non sono più esprimibili in maniera immediata Posso frammentare la tabella Frammentazione orizzontale I frammenti sono insiemi di tuple con lo stesso schema. La relazione originale si ottiene con l unione. Frammentazione verticale I vari frammenti hanno uno schema ottenuto come sottoinsieme dello schema della relazione di partenza. La relazione originale si ottiene con un join. La frammentazione deve essere garantire completezza e ricostruibilità. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 14

8 Frammentazione orizzontale: esempio CONTO-CORRENTE (NUM-CC, FILIALE, SALDO) TRANSAZIONE (NUM- CC,DATA,PROGR,AMMONTARE, CAUSALE) 3 filiali Frammentazione principale CONTO1 = σ Filiale=1 (CONTO-CORRENTE) CONTO2 = σ Filiale=2 (CONTO-CORRENTE) CONTO3 = σ Filiale=3 (CONTO-CORRENTE) Frammentazione derivata TR1 = Transazioni relative a conti di CONTO1 TR2 = Transazioni relative a conti di CONTO2 TR3 = Transazioni relative a conti di CONTO3 Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 15 Frammentazione verticale: esempio Impiegato(CF,Indirizzo, Dipartimento) Dipartimento(Nome,Città) AnagraficaImpiegato(CF,Indirizzo) DipartimentoImpiegato(CF,Dipartimento) La chiave è replicata ( la relazione è ricostruibile) Il vincolo di integrità referenziale si applica ad una sola relazione Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 16

9 Allocazione dei dati Ogni frammento è realizzato tramite una o più tabella in un db allocato su un certo server. Allocazione non ridondante ogni frammento o relazione viene allocato su un solo server. ridondante alcuni frammenti o relazioni sono allocati su più server. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 17 Interazione con un DB distribuito Livello di trasparenza Trasparenza di Frammentazione Interagiamo con il db distribuito come se fosse centralizzato. Non ci dobbiamo preoccupare né della eventuale frammentazione né delle allocazioni. Trasparenza di Allocazione Dobbiamo conoscere come sono frammentati i dati ma dobbiamo indicarne la allocazione. Se il sistema è ad allocazione ridondante non dobbiamo indicare a quale replica ci riferiamo per l accesso (trasparenza di replicazione) Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 18

10 Livelli di Trasparenza Trasparenza di Linguaggio Dobbiamo indicare sia i frammenti sia la loro allocazione ma non dobbiamo preoccuparci dei vari dialetti SQL usati dai vari sistemi. Assenza di trasparenza Il sistema è eterogeneo e i dialetti SQL sono diversi e noi dobbiamo specificare le varie query opportunamente. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 19 Livelli di Trasparenza: Esempio Fornitore Fornitore1 Fornitore2 (Oracle) (SQLServer) (SQLServer) Problema: Selezionare il nome di un fornitore dato il suo numero Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 20

11 Livelli di Trasparenza: Esempio Trasparenza di frammentazione select nome from fornitore where numero = 125 Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 21 Livelli di Trasparenza: Esempio Trasparenza di allocazione select nome from fornitore1 where numero = 125 Se non lo trovo select nome from fornitore2 where numero = 125 Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 22

12 Livelli di Trasparenza: Esempio Trasparenza di linguaggio select nome into from where numero = 125 Se non lo trovo select nome from where numero = 123 Assenza di trasparenza Bisogna tenere conto dei dialetti SQL nella formulazione delle query Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 23 Transazioni e DB Distribuiti Richieste remote Operazioni di sola lettura indirizzate ad un solo DBMS Transazioni remote Insieme arbitrario di comandi SQL indirizzate ad un solo DBMS Transazioni distribuite (2PC) Indirizzate a più DBMS, ma ogni comando SQL fa riferimento a dati gestiti da un solo DBMS. Richieste distribuite (2PC + Ottimizzazione Distribuita) Transazioni arbitrarie, in cui il singolo comando SQL può fare riferimento anche a dati gestiti da più DBMS Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 24

13 Acidità delle transazioni distribuite Ragioneremo sulle transazioni distribuite Consistenza Limiti tecnologici impongono che i vincoli imposti siano solo locali. Consistenza globale consistenza locale Persistenza I meccanismi utilizzati per il caso centralizzato restano validi La gestione corretta dei log a livello locale persistenza globale Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 25 Acidità delle transazioni distribuite Isolation Se ogni sistema usa il 2PL stretto la scheduling globale è serializzabile Problema del deadlock distribuito Se ogni sistema usa il metodo dei timestamps, ed essi sono assegnati in maniera globale alle sottotransazioni,lo scheduling globale è serializzabile. Atomicity È il problema che bisogna affrontare e la cui soluzione richiede l introduzione di nuovi record nel file di log. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 26

14 Commit a 2 fasi (2PC) I server vengono denominati: Resource Manager (RM); Transaction Manager (TM). L analogia più calzante è quella di un matrimonio con i promessi sposi (i RMs) ed un celebrante (TM). Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 27 Commit a 2 fasi (2PC) Il celebrante chiede ai partecipanti se vogliono sposarsi (cioè se vogliono concludere positivamente la transazione). Se tutti i partecipanti sono d accordo, il matrimonio si fa. Se almeno uno dei partecipanti non è d accordo il matrimonio si annulla. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 28

15 Durability Ogni DBMS ha ovviamente la capacità di gestire applicazioni in modo autonomo. Un progetto accurato della distribuzione dovrebbe garantire che la maggior parte possibile delle applicazioni operino localmente. Nel caso di transazioni distribuite sono possibili diversi malfunzionamenti; Caduta del TM; Caduta di uno di RM; Caduta della Rete. Nuovi record nei log. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 29 2PC in assenza di guasti Rapide scritture su log e scambi di messaggi prepare global decision complete TM prepare msg ready ready msg decision msg finestra di incertezza local decision ack msg RM Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 30

16 Nuovi record nel log del TM Ai record classici si aggiunge: Record di prepare Il TM scrive sul proprio log l identificativo dei processi RM partecipanti. Record global commit / global abort Si riporta la decisione presa relativamente alla transazione in esame. Record di complete Il protocollo è stato portato a termine. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 31 Nuovi record nel log del RM Ai record classici si aggiunge il record di ready: Se accetto: Indica l irrevocabile decisione di partecipare al commit globale. Deve essere scritto quando si è in uno stato stabile (risorse bloccate) e rispettando la WAL e la commit precedenza per il proprio log. Una volta scritto questo record, l RM perde ogni autonomia decisionale. Se rifiuto: Poi vediamo Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 32

17 To be noted Un RM dopo essersi dichiarato ready perde la sua autonomia e attende la decisione del TM. Un guasto del TM lascia l RM in uno stato di incertezza, in cui tutte le risorse acquisite con lock sono bloccate. L intervallo tra la scrittura dei record ready e commit o abort è chiamato finestra di incertezza. Il protocollo è progettato per minimizzare la sua durata. I protocolly di recovery sono svolti dai TM o RM dopo i guasti; ristabiliscono uno stato finale corretto che dipende dalla decisione globale del TM Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 33 Cosa accade se. Qualche RM non manda la decisione locale Allo scadere del time-out si opta per global abort Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 34

18 Cosa accade se. Qualche RM decide l abort della transazione Anziché mandare un messaggio di ready, manda un messaggio di not-ready. Il processo che gestisce l RM termina dopo l abort Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 35 Cosa accade se. Cade il TM e l ultimo record è prepare Problema: il messaggio di prepare è arrivato a tutti, a nessuno o a qualcuno? Alla ripresa del TM si può decidere per un global abort e svolgendo la seconda parte del protocollo. E anche possibile cercare di ripetere la prima fase. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 36

19 Cosa accade se. Cade il TM e l ultimo record è global decision Quanti RM siano stati avvertiti della decisione? Bisogna ripetere la seconda riavvertendo tutti gli RM. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 37 Cosa accade se. Un partecipante cade prima del record ready Non ci sono modifiche sostanziali rispetto al caso centralizzato. La transazione va disfatta perché la transazione globale è andata in global abort. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 38

20 Cosa accade se. Un partecipante cade dopo il record ready L RM deve conoscere la decisione globale. L RM interroga il TM oppure il TM reinvia la decisione ad intervalli regolari Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 39 Cosa accade se. Si perde il prepare msg o qualche ready msg Situazioni indistinguibili (dal punto di vista del TM) Scatta il timeout sulla prima fase e si decide un global abort. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 40

21 Cosa accade se. Si perde il global decision msg o qualche ack Situazioni indistinguibili (dal punto di vista del TM) Scatta il timeout sulla seconda fase e questa viene ripetuta. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 41 Osservazione La possibile ripetizione della seconda fase (scadenza del timeout normalmente o recovery del TM o dell RM) fa sì che che l RM possa ricevere il messaggio di global decision più volte. L RM ignora i messaggi successivi ma deve sempre mandare l ack per consentire la chiusura del protocollo. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 42

22 Ottimizzazione read-only Quando un RM ha svolto solo operazioni di lettura, Risponde read-only al messaggio di prepare message e esce dal protocollo. Il TM ignora tutti gli RM read-only nella seconda fase del protocollo. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 43 Protocollo di abort presunto (cenni) E una ottimizzazione, usata da quasi tutti i sistemi commerciali: Se un TM riceve una richiesta di remote recovery da una transazione in dubbio che non gli è nota, risponde per default che la transazione ha fatto un global abort Come conseguenza, se vengono persi prepare e global abort si ottiene comunque un comportamento corretto => non è necessario scriverli in modo sincrono sul log. Inoltre, il record complete non può essere omesso. In conclusione, gli unici record che devono essere scritti in modo sincrono sono: Ready(RM), global commit e commit locale (TM). Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 44

23 Protocollo di commit a quattro fasi Il processo TM viene replicato tramite un processo di backup collocato su un nodo differente. Il TM informa il backup delle sue decisioni prima di comunicarle agli RM. Se il TM ha un guasto, il backup può intervenire: Come prima cosa attiva un altro backup. Successivamente continua la esecuzione del protocollo di commit. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 45 Protocollo di commit a 4 fasi Prepare Global Commit coordinatore (TM) P GC backup Complete 2 fasi aggiunte partecipante (RM) Ready Commit Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 46

24 Protocollo di commit a tre fasi (cenni) Idea: grazie ad una terza fase, ogni partecipante può diventare un TM. Il partecipante eletto TM guarda il suo log: Se l ultimo record è ready può imporre un global abort. Se l ultimo ready e pre-commit può imporre un global commit. Difetto: il protocollo allunga la finestra di incertezza e può essere scorretto in presenza di partizioni di rete. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 47 Protocollo di commit a 3 fasi (cenni) Prepare Pre-commit Global Commit Complete Ready Pre Commit Local Commit Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 48

25 Standardizzazione del protocollo (cenni) Standard X-open DTP interfaccia TM: definisce i servizi del coordinatore offerti ad un client per eseguire il commit di partecipanti eterogenei interfaccia XA: definisce i servizi di partecipanti passivi che rispondono a chiamate del coordinatore (offerta da molti DBMS sul mercato) Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 49 Caratteristiche X-Open DTP (cenni) Gli RM sono passivi: rispondono a remote procedure calls dei TM Protocollo: commit a due fasi con ottimizzazioni (abort presunto e read-only) Previste decisioni euristiche: dopo un guasto, gli operatori possono forzare abort o commit, se le decisioni forzate sono inconsistenti ciò viene riportato al client. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 50

26 Interfaccia TM (cenni) tm_init e tm_exit iniziano e terminano un dialogo client -TM tm_open e tm_term aprono e chiudono una sessione col TM tm_begin inizia una transazione tm_commit richiede un commit globale tm_abort richiede un abort globale Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 51 Interfaccia XA (cenni) xa_open e xa_close: iniziano e terminano un dialogo TM - RM xa_start e xa_end attivano e completano una transazione xa_precomm richiede all RM di svolgere la prima fase del protocollo xa_commit e xa_abort comunicano la global decision all RM xa_recover inizia una recovery dell RM; ogni RM risponde alla richiesta con tre insiemi di transazioni: in dubbio, decise con commit euristico, decise con abort euristico. Il TM termina le transazioni in dubbio e indica (xa_forget) all RM di dimenticare transazioni decise in modo euristico. Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 52

27 Sommario Architetture client-server Basi di dati distribuite Basi di dati parallele Basi di dati replicate Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 53 Obiettivo: Efficienza Ottimizzazione delle query Modalità di esecuzione seriale parallela Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 54

28 Esecuzione seriale CENTRO CONTO2 CONTO3 CLIENT CONTO1 FILIALE1 Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 55 Esecuzione parallela CLIENT CONTO1 CONTO2 CONTO3 FILIALE1 FILIALE2 FILIALE3 Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 56

29 Scalabilità delle applicazioni Carico: insieme di tutte le applicazioni (query) Scalabilità: abilità di conservare prestazioni elevate al crescere del carico Dimensioni di crescita : numero delle query complessità delle query Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 57 Due tipologie di carico Transazionale carico: transazioni brevi misura: tps (transazioni per secondo) tempo di risposta: pochi secondi Analisi dei dati carico: query SQL complessa tempo di risposta: variabile Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 58

30 Parallelismo Ottenuto tramite molti processori che cooperano in una unica architettura informatica Due tipi di parallelismo inter-query ciascuna query affidata ad un solo processore intra-query per carichi transazionali ciascuna query affidata a molti processori per carichi di analisi dei dati Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 59 Architetture a confronto SHARED-NOTHING rete veloce PROCESSORE PROCESSORE MEMORIA DISCO MEMORIA DISCO Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 60

31 Architetture a confronto SHARED-MEMORY DISCO. DISCO MEMORIA PROCESSORE PROCESSORE Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 61 Architetture a confronto SHARED-DISKS DISKS DISCO. DISCO PROCESSORE PROCESSORE MEMORIA MEMORIA Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 62

32 Benchmark Metodi per confrontare le prestazioni di sistemi diversi (in competizione) varie tipologie di carico transazionale analisi dei dati Misto standardizzazione: del database del carico codice transazioni modalità di invio frequenza di arrivo della modalità di misurazione Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 63 Curva di speed-up Misura il crescere di efficienza al crescere del numero di processori tps... curva reale numero di processori Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 64

33 Curva di scale-up Misura il crescere di costo unitario complessivo per transazione al crescere del numero di processori costo unitario... curva reale numero di processori Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 65 Join distribuito E' l'operazione di analisi dei dati più onerosa consideriamo: conto corrente transazione JOIN Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 66

34 Join distribuito UNIONE CONTO1 JOIN TRANS1 CONTO2 JOIN TRANS2 CONTO3 JOIN TRANS3 Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 67 Requisiti per il join distribuito I domini degli attributi di join devono essere partizionati e ogni partizione assegnata ad una coppia di frammenti ad esempio su valori numerici tra 1 e : da 1 a da a da a In molti sistemi paralleli i dati vengono inizialmente ridistribuiti sui dischi per ottenere questa distribuzione Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 68

35 Sommario Architetture client-server Basi di dati distribuite Basi di dati parallele Basi di dati replicate Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 69 Replicazione dei dati E' un ingrediente fondamentale dei sistemi informativi per garantire: efficienza affidabilità autonomia Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 70

36 Replicazione Asimmetrica Copia Primaria propagazione Copia Secondaria modifiche Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 71 Replicazione Simmetrica Copia 1 propagazione Copia 2 modifiche modifiche Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 72

37 Trasmissione sincrona delle variazioni COPIA 1 COPIA 2 transazione master Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 73 Trasmissione asincrona delle variazioni COPIA 1 COPIA 2 propagazione transazione master transazione di allineamento Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 74

38 Modalità di allineamento COPIA 1 COPIA 2 Refresh INTERO CONTENUTO DELLA COPIA 1 periodico a comando ad accumulo di variazione Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 75 Modalità di allineamento Incrementale Periodico a comando ad accumulo di variazione COPIA 1 COPIA 2 DELTA-PLUS DELTA-MINUS Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 76

39 Trigger di replicazione CREATE TRIGGER CAPTURE-INS AFTER INSERT ON PRIMARY FOR EACH ROW INSERT INTO DELTA-PLUS VALUES (NEW.*) CREATE TRIGGER CAPTURE-DEL AFTER DELETE ON PRIMARY FOR EACH ROW INSERT INTO DELTA-MINUS VALUES (OLD.*) CREATE TRIGGER CAPTURE-UPD AFTER UPDATE ON PRIMARY FOR EACH ROW BEGIN INSERT INTO DELTA-PLUS VALUES (NEW.*) INSERT INTO DELTA-MINUS VALUES (OLD.*) END Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 77 Esempio: replicazione in computer mobili Computer mobili: saltuariamente collegati ad una rete Copie disconnesse per ore o giorni intere, poi riconnesse (riconciliazione) Applicazione: agenti di vendita mobili Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 78

40 Allineamento di copie disconnesse Richiede spesso la replicazione simmetrica COPIA DEL VENDITORE COPIA CENTRALE (con riconciliazione) modifiche modifiche Basi di Dati 2 Prof. Antonio d Acierno Architetture distribuite 79

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

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

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

TRANSAZIONI DISTRIBUITE TRANSAZIONI

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

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

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 Parallele

Basi di Dati Parallele Basi di Dati Parallele Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Scalabilità delle applicazioni Carico insieme di tutte le

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

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

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

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

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

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

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

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

Tecnologia dei Sistemi Informativi. architettura s.i. 1

Tecnologia dei Sistemi Informativi. architettura s.i. 1 Tecnologia dei Sistemi Informativi architettura s.i. 1 Sistema Informativo comprende risorse umane è fortemente integrato con il sistema organizzativo è essenziale per il funzionamento dell'azienda architettura

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

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

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

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

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

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

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

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

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

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

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

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

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

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

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

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

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

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

Indice. Ringraziamenti dell Editore

Indice. Ringraziamenti dell Editore Prefazione Autori Ringraziamenti dell Editore XVII XXI XXIII 1 Introduzione 1 1.1 Sistemi informativi, informazioni e dati 1 1.2 Basi di dati e sistemi di gestione di basi di dati 3 1.3 Modelli dei dati

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

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

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

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

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

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO Modulo 1: IL LINGUAGGIO HTML Formato degli oggetti utilizzati nel Web Elementi del linguaggio HTML: tag, e attributi

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

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

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

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

DEFINIZIONI FONDAMENTALI

DEFINIZIONI FONDAMENTALI Consorzio per la formazione e la ricerca in Ingegneria dell'informazione DEFINIZIONI FONDAMENTALI Per vincere ci vuole una buona partenza... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Introduzione alle basi di dati (prima parte)

Introduzione alle basi di dati (prima parte) Introduzione alle basi di dati (prima parte) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2007/2008

Dettagli

Cap. 5 Basi di dati attive

Cap. 5 Basi di dati attive SOMMARIO 2 Cap. 5 Basi di dati attive Introduzione. 3 Trigger in SQL:999.. Esecuzione di un solo trigger... 4 Esecuzione di più trigger... Esempio di esecuzione 23 Progettazione delle regole attive....

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

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

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

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

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto INTRODUZIONE AI SISTEMI DI BASI

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

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

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE Istituto di Istruzione Secondaria Superiore ETTORE MAJORANA 24068 SERIATE (BG) Via Partigiani 1 -Tel. 035-297612 - Fax 035-301672 e-mail: majorana@ettoremajorana.gov.it - sito internet: www.ettoremajorana.gov.it

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

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

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

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

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

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

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

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

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. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Obiettivi del corso Imparare

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

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

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language)

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language) Indice Introduzione XI Capitolo 1 Elementi di base dei database 1 1.1 Che cos è un database 1 1.2 L architettura di Oracle Database 10g 3 Progetto 1.1 L architettura di Oracle Database 10g 8 1.3 I tipi

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

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

2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011. Andrea Carnevali R&D Director GESINF S.r.l.

2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011. Andrea Carnevali R&D Director GESINF S.r.l. 2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011 Andrea Carnevali R&D Director GESINF S.r.l. Il progetto 2G è il nome della piattaforma che consentirà l evoluzione tecnologica

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 2011-2012 Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) 14 File e cartelle File system Software di utilità Il S.O. e le periferiche Il S.O. e la memoria

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

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

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

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

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

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

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

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

Software project management. www.vincenzocalabro.it

Software project management. www.vincenzocalabro.it Software project management Software project management Sono le attività necessarie per assicurare che un prodotto software sia sviluppato rispettando le scadenze fissate rispondendo a determinati standard

Dettagli

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4 Obiettivi Principali di un S.D. - 7 Tipi di Sistemi

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

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e

Dettagli

Architettura MySQL. E Motori MySQL

Architettura MySQL. E Motori MySQL E Motori MySQL Caratteristiche Differente dagli altri DBMS Non perfetta Ma flessibile Gestisce DataWarehouses, OLTP, ecc. Architettura delle Storage Engine Separa il query processing dai task di memorizzazione

Dettagli

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati Informatica B Introduzione alle Basi di Dati e ai DBMS Contenuti Introduzione a dati e basi dati DBMS Modello dei dati Informazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.),

Dettagli