Laurea Magistrale in Informatica Architetture basi di dati A.A. 2010-2011 Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Informatica e Telecomunicazioni
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Una Introduzione alle Basi di Dati
Data Bases Distribuiti Finalità Caratteristiche Struttura Mario Capurso
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Basi di Dati prof. A. Longheu
ESEMPI DI ARCHIVI DI DATI
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
L’uso dei database in azienda
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Struttura dei sistemi operativi (panoramica)
Basi di dati Università Degli Studi Parthenope di Napoli
Reti di Calcolatori IL LIVELLO RETE.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Daniel Stoilov Tesi di Laurea
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
INFORMATICA Corso Base Modulo G: I DataBase  Access.
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Docente: Roberto Basili Fond Inf (a.a ) Introduzione alla Progettazione Concettuale R. Basili.
Introduzione a Oracle 9i
Il modello di riferimento OSI
Basi di Dati e Sistemi Informativi
Architettura di storage ad alta affidabilita e bilanciamento di carico per volumi centrali e di esperimento A.Brunengo, M.Corosu INFN Sezione di Genova.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
I DATABASE.
I processi.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Education & Training Training per Microsoft Access 97 Perché Education & Training ? Perché StartPoints crede nell’importanza strategica delle Risorse Umane.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Sistema pubblico di connettività Cooperazione Applicativa Cooperazione Applicativa Roberto Benzi 30 giugno 2005.
Basi Dati e Laboratorio (6 + 6) crediti – curriculum Sistemi e Reti Basi dati 1 e Basi dati 2 prec.ordin. docenti: Barbara Demo Giuseppe Berio mail :
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Introduzione alle basi di dati
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Paolo Missier II Semestre, 2002 Basi di Dati - Complementi Basi di Dati Distribuite.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di basi di dati: metodologie e modelli
Basi di dati Funzionalità e Progettazione Giorgio Ghelli.
BDE-ARC 1 BDE Architetture distribuite. BDE-ARC 2 BDE Basi di dati distribuite a RETE : LAN (Local Area Network) LAN (Local Area Network) WAN (Wide Area.
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Le basi di dati.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Query Optimization nei DDBMS.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Anno Architetture dati - DBMS Centralizzati Recovery management Carlo Batini.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Transcript della presentazione:

Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi DBMS distribuiti (DDBMS)

1. Proprieta’ generali di un DDBMS

Vantaggi dei DDBMS: discuteremo  Localita’, i dati si trovano “vicino” alle applicazioni che li utilizzano piu’ frequentemente  Modularita’, le modifiche alle applicazioni e ai dati possono essere effettuate a basso costo  Resistenza ai guasti  Prestazioni/Efficienza

Localita’  La partizione dei dati corrisponde spesso ad una partizione naturale delle applicazioni e degli utenti  Utenti locali vs utenti globali –Es. Un’ organizzazione con sedi diverse distribuite geograficamente –I dati risiedono vicino a dove vengono usati piu’ spesso –Ma sono globalmente raggiungibili

Flessibilita’ + Distribuzione dei dati incrementale e progressiva: la configurazione si adatta alle esigenze delle applicazioni

Resistenza ai guasti - Presenza di elementi di rete: maggiore fragilita’ + Ma: presenza di ridondanza  maggiore resistenza ai guasti di dati e applicazioni ridondate (“fail soft”)

Prestazioni  Distribuendo un DB su nodi diversi, ogni nodo gestisce un DB di dimensioni piu’ ridotte  + Piu’ semplice da gestire e ottimizzare nelle applicazioni locali  + Ogni nodo puo’ essere ottimizzato indipendentemente dagli altri  + Carico totale (transazioni /sec) distribuito sui nodi  + Parallelismo tra transazioni locali che fanno parte di una stessa transazione distribuita  - Necessita’ di coordinamento tra i nodi  - Presenza di traffico di rete

Funzionalita’ specifiche dei DDBMS rispetto ai DBMS centralizzati

Relazione tra indipendenza locale / cooperazione tra server - 1  Ogni server mantiene la capacita’ di gestire applicazioni in modo indipendente  Le interazioni con altri server e applicazioni remote rappresentano un carico supplementare sul sistema Rete Server1 Server2 Servern BD2 BDn BD2

Relazione tra indipendenza locale / cooperazione tra server - 2  Traffico di rete in questa configurazione: –Per le interrogazioni  Queries provenienti dalle applicazioni  Risultati provenienti dal server –Per le transazioni  Richieste transazionali dalle applicazioni  Dati di controllo per il coordinamento Rete Server1 Server2 Servern BD2 BDn BD2

Relazione tra indipendenza locale / cooperazione tra server - 3  Ottimizzazione: l’elemento critico e’ la rete  Esigenza di distribuire i dati in modo che: –La maggior parte delle transazioni sia locale, o eviti trasmissione di dati tra nodi Rete Server1 Server2 Servern BD2 BDn BD2

Percio’  funzionalita’ specifiche dei DDBMS (rispetto ai DBMS)  Trasmissione sia di queries/transazioni che di frammenti di DB/dati di controllo tra i nodi  Frammentazione/replicazione/trasparenza: problemi legati al fatto che i dati sono allocati in modo distribuito  Query processor: il query plan deve prevedere una strategia globale accanto a strategie per le query locali  Controllo di concorrenza: algoritmi distribuiti  Strategie di recovery di singoli nodi, gestione di guasti globali

Caratteristiche strutturali dei DDBMS frammentazione, replicazione, trasparenza

Caratteristiche strutturali dei sistemi DDBMS  Frammentazione: Possibilita’ di allocare porzioni diverse del DB su nodi diversi Rete Server1 Server2 Servern BD2 BDn BD2 R R1 R2 R1

Caratteristiche strutturali dei sistemi DDBMS  Replicazione: Possibilita’ di allocare stesse porzioni del DB su nodi diversi Rete Server1 Server2 Servern BD2 BDn BD2 R R1 R2 R1

Caratteristiche strutturali dei sistemi DDBMS  Trasparenza: Possibilita’ per la applicazione di accedere ai dati senza sapere dove sono allocati Rete Server1 Server2 Servern BD2 BDn BD2 R R2 R1 Query Espressa Su R Query Su R1 Query Su R2

Frammentazione e replicazione dei dati

Il processo di frammentazione Base dati unica Frammentazione Allocazione nei nodi Nodo 1Nodo 2Nodo n

A ben vedere, due tipi di frammentazione R Frammentazione orizzontale Frammentazione verticale R A1 A2A3 R1 R2 R1 R2 A1A2 A1A3

Esempio: Relazione non frammentata

Relazione frammentata orizzontalmente

Relazione frammentata verticalmente

Quali regole di correttezza devono rispettare le frammentazioni?  Completezza – Ogni record della relazione R di partenza deve poter essere ritrovato in almeno uno dei frammenti  Ricostruibilita’ – La relazione R di partenza deve poter essere ricostruita senza perdita di informazione a partire dai frammenti  Disgiunzione – Ogni record della Relazione R deve essere rappresentato in uno solo dei frammenti, o in alternativa  Replicazione

Proprieta’ dei tipi di frammentazione  Data una relazione R, si definiscono due tipi di frammenti di R:  Frammentazione orizzontale: –Partizione di R in n relazioni (frammenti) {R 1,…R n } tali che: –Schema(Ri)= schema(R) per tutti gli i; –Ogni R i contiene un sottoinsieme dei record di R –Normalmente definito da una selezione, i.e. R i =  Ci (R) –Per la completezza: R 1  R 2  …  R n = R –La ricostruibilita’ e’ sempre garantita dalla unione  Frammentazione verticale: –Partizione di R in n relazioni (frammenti) {R 1,…R n } tali che: –Schema(R) = L = (A 1,…A m ), Schema(R i ) = L i = (A i1, …,A ik ) –Per la completezza: L 1  L 2  …  L n = L –Per garantire la ricostruibilita’: –L i  L j  chiave primaria (R) per ogni i  j

Esempio di frammentazione - 1  R = EMPLOYEE (Empnum, Name, Deptnum, Salary, Taxes )  F1: Frammentazione orizzontale: –EMPLOYEE1 =  Empnum<=3 EMPLOYEE –EMPLOYEE2 =  Empnum>3 EMPLOYEE  La ricostruzione richiede l’unione: –EMPLOYEE = EMPLOYEE1 U EMPLOYEE2

Esempio di frammentazione - 2  R = EMPLOYEE (Empnum, Name, Deptnum, Salary, Taxes )  F2: Frammentazione verticale: –EMPLOYEE1 =  EmpNum,Name EMPLOYEE –EMPLOYEE2 =  EmpNum,DeptNum,Salary,Tax EMPLOYEE  La ricostruzione richiede un equi-join sulla chiave in comune (natural join): –EMPLOYEE = EMPLOYEE1 join EMPLOYEE2 –Un esempio di frammentazione verticale che non garantisce la ricostruibilita’?

Le due frammentazioni sono corrette perche’  Completezza F1, F2: Per costruzione delle due tabelle Ricostruibilita’ F1: ovvio F2: Empnum, Name  Empnum, Deptnum, Salary, Tax  Empnum Disgiunzione F1, F2: Per costruzione delle due tabelle

Replicazione

 Aspetti positivi  La replicazione migliora le prestazioni –Consente la coesistenza di applicazioni con requisiti operazionali diversi sugli stessi dati –Aumenta la localita’ dei dati utilizzati da ogni applicazione  Ma aspetti negativi  Introduce complicazioni architetturali: –Gestione della transazioni e updates di copie multiple, che devono essere tutte aggiornate  Richiede un nuovo passo di progettazione: –Quali frammenti replicare –Quante copie mantenere –Dove allocare le copie

Allocazione dei frammenti: lo schema di allocazione o catalogo

Schemi di allocazione dei frammenti  Ogni frammento e’ allocato in generale su un nodo diverso (e su file diversi)  Quindi, lo schema globale esiste solo in modo virtuale –Non materializzato su un unico nodo  Lo schema di allocazione descrive il mapping: –Frammento  nodo Rete Server1 Server2 Servern BD2 BDn BD2 R2 FrammentoNodo 11 1n 22 R1 Schema globale R1 Catalogo R1 R2

Approfondimenti sulla trasparenza

Trasparenza nei DDBMS  Separazione della semantica di alto livello dalle modalita’ di frammentazione e allocazione Rete Server1 Server2 Servern BD2 BDn BD2 R R2 R1 Query Espressa Su R Query Su R1 Query Su R2

La trasparenza nei DBMS e’ di due tipi Le applicazioni (transazioni, interrogazioni) non devono essere modificate a seguito di cambiamenti nella definizione e organizzazione dei dati  1. Trasparenza (o indipendenza) logica: indipendenza dell’applicazione da modifiche dello schema logico –Un’applicazione che utilizza un frammento dello schema non subisce modifiche quando altri frammenti vengono modificati  2. Trasparenza (o indipendenza) fisica: indipendenza dell’applicazione da modifiche dello schema fisico  Garantite dai tre livelli ANSI – SPARC 

Architettura dati di riferimento per un DBMS Schema logico Schema esterno Schema fisico

Architettura dati di riferimento per un DDBMS Schema logico globale Schema esterno Schema logico locale Schema fisico locale Schema logico locale Schema fisico locale Frammentazione e allocazione Frammentazione e allocazione Frammentazione e allocazione

Livelli di trasparenza nei DDBMS

–Trasparenza di Frammentazione –Trasparenza di Replicazione (Allocazione) –Trasparenza di Linguaggio

Schema esempio SUPPLIER (SNum, Name, City)  Due frammenti orizzontali: –SUPPLIER1 =  City=‘London’ SUPPLIER –SUPPLIER2 =  City=‘Manchester’ SUPPLIER  Schema di allocazione su tre nodi:  Interrogazione Select Name from Supplier where Snum = snum Due repliche dello stesso frammento Frammenti logici

Trasparenza di Frammentazione  L’applicazione ignora del tutto l’esistenza di frammenti  E’ lo scenario migliore dal punto di vista della programmazione applicativa  L’applicazione e’ scritta in SQL standard

Trasparenza di frammentazione Esempio di query “Trova il supplier con SNum = snum” Rete London Man2 Man1 BD2 BDn BD2 SUPPLIER1 SUPPLIER2 procedure Query1(:snum,:name) select Name into :name from Supplier where SNum = :snum; end procedure

Trasparenza di Frammentazione  E’ a carico del sistema la traduzione della query globale in query locali –Frammenti: relazione  sotto-relazioni –Global query  fragment queries  Problema: una query definita su un’intera relazione va ora scomposta in piu’ query, una per ogni sotto-relazione

Trasparenza di Allocazione  L’applicazione e’ consapevole  dei frammenti, ma ne ignora l’allocazione sui nodi Rete London Man2 Man1 BD2 BDn BD2 SUPPLIER1 SUPPLIER2 procedure Query2(:snum,:name); select Name into :name from SUPPLIER1 where SNum = :snum; if isEmpty(:name) then select Name into :name from SUPPLIER2 where SNum = :snum; end procedure;

Trasparenza di linguaggio  L’applicazione deve specificare sia i frammenti che il loro nodo  E’ il livello minimo di trasparenza tra i tre descritti  Un nodo puo’ offrire interfacce che non sono standard SQL  Tuttavia, l’applicazione e’ scritta in SQL standard, a prescindere da eventuali altri linguaggi locali al nodo

Trasparenza di linguaggio Esempio di query Rete London Man2 Man1 BD2 BDn BD2 SUPPLIER1 SUPPLIER2 Indirizza esplicitamente una delle due repliche Queries espresse a livelli piu’ alti di trasparenza vengono tradotte a questo livello dall’ ottimizzatore di query distribuite procedure Query3(:snum,:name); select Name into :name from where SNum = :snum; if :empty then select Name into :name from where SNum = :snum; end procedure;