1 Laurea Magistrale in Informatica Architetture basi di dati A.A. 2010-2011 Docente: Prof. Carlo Batini Progettazione di basi di dati distribuite.

Slides:



Advertisements
Presentazioni simili
Analisi dati con Excel Parte I.
Advertisements

Sistemi Informativi di Rete AA (IV) Progettazione di siti Web: un approccio per Entita e Relazioni.
LA PROGETTAZIONE LOGICA Seconda parte
Una Introduzione alle Basi di Dati
Biglietti e Ritardi: schema E/R
Data warehousing con SQL Server
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 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
L’uso dei database in azienda
Macchine non completamente specificate
Corso di Informatica (Basi di Dati)
1 Corso di Informatica (Basi di Dati) Esercitazione 1 (19 dicembre 2008) Modello Entità-Relazione Da: Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
Scheduling in GrADS Il progetto GrADS (Grid Application Development Software) ha lo scopo di semplificare lo sviluppo di unapplicazione Grid. Tra le funzionalità
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
Analisi delle corrispondenze
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
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.
Partizionamento/accorpamento di concetti
Daniel Stoilov Tesi di Laurea
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
DBMS ( Database Management System)
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Basi di Dati Microsoft Office: Access OpenOffice: Base Informatica 1 (SAM) - a.a. 2010/11.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Corso di Laurea in Informatica
MODELLO LOGICO DEI DATI
Informatica 1 (SAM) - a.a. 2010/11 1 Basi di Dati - 2 Microsoft Office: Access OpenOffice: Base.
Sistemi di Elaborazione delle Informazioni Mod.I.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Progettazione di basi di dati distribuite Marco Mangiacavalli Matricola:
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Progettazione di basi di dati distribuite Marco Mangiacavalli Matricola: I miei commenti in rosso CB.
Microsoft Access Chiavi, struttura delle tabelle.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Informatica e Informatica di Base
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Eprogram informatica V anno.
Cloud informatica V anno.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e.
Integrali definiti I parte
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Excel Funzioni di ricerca.
0 Laboratorio Informatica - SAS – Anno Accademico LIUC Alcune indicazioni Dettaglio lezioni: Prima : Michele Gnecchi – Introduzione a SAS Guide.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Query Optimization nei DDBMS.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
Transcript della presentazione:

1 Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Progettazione di basi di dati distribuite

2 Attenzione La metodologia descritta in questa dispensa e’ stata presentata in una forma semplificata a lezione.

3 Riferimenti Questa trasparenze

4 Progettazione DDBMS Progettazione concettuale Progettazione logica locale Progettazione fisica locale Analisi dei requisiti Progettazione della distribuzione

5 Progetto della distribuzione E’ diviso in 4 fasi + 1 preliminare: 0. Raccolta e analisi dei requisiti per la distribuzione 1. Progetto della frammentazione 2 Allocazione non ridondante 3. Allocazione ridondante 4. Ricostruzione degli schemi locali Vediamole separatamente

6 0. Raccolta dei requisiti e degli input

7 Tavole in input alla metodologia Tavola di frequenza –Indica il numero di attivazioni di ogni applicazione presso ogni sito Tavole di partizionamento –Indicano per ogni entita’ i potenziali criteri di partizionamento orizzontale, espressi tramite predicati.

8 Tipologie di partizionamento Partizionamento primario –Il partizionamento di una entita’ E e’ espresso usando predicati disgiunti sugli attributi di E

9 Partizionamento primario E E1 E2 E3 p1 p2 p3

10 Partizionamento derivato –Il partizionamento di una entita’ E1 e’ determinato da una relazione binaria tra E1 ed una seconda entita’ E2 che e’ gia’ partizionata. Siano E11 e E12 i frammenti di E1. Il partizionameno derivato di E2 e’ definito come: –E21 e’ l’insieme di ennuple il relazione con le ennuple di E11 –E22 e’ l’insieme di ennuple il relazione con le ennuple di E12 –E11 ed E12 sono vincolati a essere disgiunti –Quindi non tutte le relazioni possono essere candidate a derivare un partiizonamento

11 Esempio EF Partizionamento primario E1E2E3 Partizionamento secondario E1 E2 E3 F1 F2 F3

12 1. Progetto della frammentazione Applica frammentazioni orizzontali e verticali. Per scegliere i frammenti, si applica il criterio della uniformita’ di accesso da parte delle applicazioni eseguite sul sito. Una applicazione troppo stretta del criterio porta a frammentazioni molto granulari (un attributo, al limite una n-pla), con maggiori costi di gestione. C’e’ una soglia (individuata in modo euristico, approssimato) superata la quale la frammentazione non conviene piu’.

13 Esempio Milano e < 25 anni Milano e >= 25 anni Brescia e < 25 anni Brescia e >= 25 anni Persone di Milano e Brescia Cerca persone Con citta’ = x Cerca persone Con eta’ = 25

14 Fase 2. Allocazione non ridondante Tra le diverse copie di frammenti identici, selezionate nei vari siti, associa il frammento al sito dove viene piu’ usato. La frequenza d’uso e’ calcolata sulla base di un terzo tipo di tavole, le tavole di polarizzazione, come mostrato nella successiva trapsarenza.

15 Tavole di polarizzazione Indicano quantitativamente come le partizioni influenzano la localita’ delle elaborazioni effettuate dalle applicazioni. Un valore di polarizzazione Pijk indica la probabilita’ che un dato frammento k sia acceduto da una data applicazione i eseguita in un dato sito j.

16 Numero accessi ad un dato frammento a un dato sito Una misura quantitativa e’ data partendo dalle tavole di frequenza e dalla tavole di polarizzazione. Sia i la generica applicazione j il generico sito fij la frequenza della applicazione i dal sito j Pijk la polarizzazione del frammento k per la applicazione i eseguita al sito j Allora il numero di accessi al frammento k dal sito j e’ dato da n kj = Σ i: i usa k fij P ijk Percio’ il frammento k e’ allocato al sito j* tale che n kj* = max tutti i j n kj

17 Fase 3. Allocazione ridondante Associa ulteriori siti ai frammenti precedentemente assegnati a un solo sito. Ad ogni passo, viene scelto il sito che piu’ beneficia della ulteriore allocazione di un frammento Il beneficio, in termini di maggiori accessi in locale dalle interrogazioni, e quindi minori trasferimenti, deve essere ampiamente controbilanciato dalle minori esigenze di aggiornamento di copie multiple. Si puo’ usare una formula che esprime la differenza per un frammento k al sito j: D kj = Σ i: i legge k fij P ijk - Σ i: i scrive k Σ h ≠j f ih P ihk

18 Fase 4: Ricostruzione degli schemi locali Ricostruisce gli schemi locali come unione di tutti i frammenti associati al corrispondente sito nei passi precedenti.

19 Esempio

20 Caso di studio: sistema di prenotazione aerea Una compagnia aerea deve gestire le prenotazioni dei suoi aerei. La base dati e’ distribuita su tre siti degli Stati Uniti, ad es. –Denver con codice 1, localizzato nell’area ovest –New York, codice 2, localizzato nell’area nord –Atlanta, codice 3, localizzato nell’ area sud La base dati rappresenta gli aeroporti dove opera, gli orari dei voli, le disponibilita’, e le prenotazioni. Ogni volo, per semplicita’, e’ tra un aeroporto di partenza e un aeroporto di arrivo.

21 Aree, Aeroporti, Rotte 2. Nord 1. Ovest 3. Sud Denver New York Atlanta

22 Schema della base di dati Volo Numero Data Gate Ritardo Mappa posti Posti disponibili Aeroporto Identificatore (Acronimo) Citta’ Area Da A Passeggero Nome Telefono Prenotaz. Check in Numero posto Cod. Bagaglio Classe Ora partenza Ora arrivo

23 Schema della base di dati Flight # Date Gate Delay Seats layout Seats available Airport ID City Area From To Passeggero Nome Telefono Prenotaz. Check in Numero posto Cod. Bagaglio Classe Leaves Arrives

24 Operazioni a. Prenota passeggero, effettua una prenotazione, transazione b. Check in passeggero, effettua il check in di un passeggero quando arriva all’aeroporto, transazione c. Partenze dei prossimi trenta voli, fornisce una report dei prossimi 30 voli che partono da un aeroporto, interrogazione

25 Schemi globali delle operazioni Schema Prenotazione (a) Volo Data Posti disponibili (O,W) Aeroporto Identificatore (K) Da A Passeggero Nome Telefono Prenotaz. Classe (W) Ora Partenza (K) Ora Arrivo (K) Indica il cammino di accesso Numero medio di istanze visitate Numero totale di istanze della entita’ Indica che viene scritto Indica che fa parte degli attributi in input Indica che viene letto (O) e scritto (W)

26 Schemi globali delle operazioni Schema Check-in (b) Volo Numero (K) Data (K) Mappa posti (O,W) Passeggero Nome (K) Prenotaz. Check in Numero posto (W) Cod. Bagaglio (W) Classe (O)

27 Schemi globali delle operazioni Schema Rapporto Partenze (c) Volo Numero (O) Data (K) Gate (O) Ritardo (O) Posti disponibili Aeroporto Identificatore (K) Citta’ / Area Da Aeroporto Identificatore (O) Citta’ (O) A Classe Ora Partenza (K,O)

28 Fase 0. Raccolta dei requisiti e degli input In questo passo definiamo: 1. Le tavole degli accessi per le entita’, che per ogni operazione e per ogni attributo di una entita’ fornisce la tipologia di accesso: –K, dato in input –O, dato letto –W, dato scritto 2. Le tavole di frequenza 3. Le tavole di polarizzazione

29 Tavola degli accessi per la entita’ Volo AttributiOperazioni abc NumeroKO DataKKK Mappa dei postiO/W DataO RitardoO Posti disponibiliO/W RADa/APrenotazioneDa AN3130 Dice se sono utilizzate relazioni per l’accesso Numero totale di istanze visitate

30 Tavola delle frequenze per operazioni presso i siti Siti /Operazioni123 a b c

31 Fase 1: Progetto della frammentazione

32 Progetto della frammentazione Utilizzando le tavole di polarizzazione Per ogni entita’ (Aeroporto, Passeggero, Volo) –1. Costruiamo i gruppi di frammenti che possono essere scelti, sulla base delle tavole di frammentazione, individuando prima i partizionamenti primari e poi quelli derivati. –2. Tra i gruppi di frammenti individuati, scegliamo i gruppi che presentano un insieme di applicazioni favorite dalla frammentazione superiore all’insieme delle applicazioni che risultano sfavorite.

33 Tavola dei frammenti primari Consideriamo i due casi di partizionamento degli aeroporti e dei passeggeri Aeroporti: scegliamo l’attributo Area (con dominio 1,2,3) come attributo di partizionamento Passeggeri: consideriamo il prefisso di telefono dello stato come attributo di partizionamento. Il prefisso corrisponde alle prime tre cifre. Partizioniamo i prefissi in tre gruppi.

34 Scelta dei frammenti primari Entita’Attributo di partizionamento Predicati Selettivita’ dei predicati AeroportoAreaArea = ‘1/O’ Area = ‘2/N’ Area = ‘3/S’ PasseggeroTelefono (prime tre cifre) Telephone = ‘415*’ or ‘408*’ or… Telephone = ‘904*’ or ‘713*’ or… Telephone = ‘201*’ or ‘617*’ or… 35 30

35 Esempio per Aeroporto Aeroporto Aeroporto1 (Area 1) Aeroporto2 (Area 2) Aeroporto3 (Area 3)

36 Scelta dei frammenti derivati Consideriamo il caso del partizionamento primario su Aeroporto. Sono possibili 4 casi: –L’entita’ Volo puo’ essere partizionata in due modi, basati sulle relazioni Da e A e il partizionamento di Aeroporto in aree (vedi primi due casi  )

37 Schema della base di dati Volo Numero Data Gate Ritardo Mappa posti Posti disponibili Aeroporto Identificatore (Acronimo) Citta’ Area Da A Passeggero Nome Telefono Prenotaz. Check in Numero posto Cod. Bagaglio Classe Ora partenza Ora arrivo

38 Tavola dei frammenti derivati Entita’Relazione per la derivazione Entita’ baseNome della partizione Selettivita’ del predicato VoloDaAeroportoAreaLa stessa VoloAAeroportoAreaLa stessa

39 Scelta dei frammenti derivati Consideriamo il caso del partizionamento primario su Aeroporto. Sono possibili 4 casi: –L’entita’ Passeggero. In questo caso il partizionamento e’ in due passi, da Aeroporto a Volo e da Volo a Passeggero.

40 Schema della base di dati Volo Numero Data Gate Ritardo Mappa posti Posti disponibili Aeroporto Identificatore (Acronimo) Citta’ Da A Passeggero Nome Telefono Prenotaz. Check in Numero posto Cod. Bagaglio Classe Ora partenza Ora arrivo

41 Scelta dei frammenti derivati Consideriamo il caso del partizionamento primario su Aeroporto. Sono possibili 4 casi: –L’entita’ Passeggero. In questo caso il partizionamento e’ in due passi, da Aeroporto a Volo e da Volo a Passeggero. 1. da Aeroporto a Volo. In questo caso i passeggeri sono partizionati sulla base del volo in cui hanno fatto la prima prenotazione (FIRST RESERVATION LOCATION) 2. da Volo a Passeggero. In questo caso i passeggeri sono partizionati sulla base di tutte le prenotazioni che hanno. In questo caso sono possibili 7 casi, a seconda che i passeggeri abbiano prenotato nelle aree A, B, C, AB, BC, AC, ABC.

42 Tavola dei frammenti derivati Entita’Associazione per la derivazione Entita’ baseNome della partizione Selettivita’ del predicato VoloDaAeroportoAreaSame VoloAAeroportoAreaSame PasseggeroPrenotazioneVoloFirst Reservation Location Same PasseggeroPrenotazioneVoloFlight Departure Area Note 

43 Tavola dei frammenti derivati Entita’Associazione per la derivazione Entita’ baseNome della partizione Selettivita’ del predicato VoloDaAeroportoAreaSame VoloAAeroportoAreaSame PasseggeroPrenotazioneVoloFirst Reservation Location Same PasseggeroPrenotazioneVoloFlight Departure Area Note 

44 Predicati per il caso 4 Note: Flight departure is based on 7 predicates Predicate selectivity P1: Tutti i voli prenotati dai passeggeri che partono dall’area 1 20 P2: Tutti i voli prenotati dal passeggeri che partono dall’area 2 20 P3: Tutti i voli prenotati dal passeggeri che partono dall’area 3 20 P4: Tutti i voli prenotati dai passeggeri che partono dalle aree 1 e 2 10 P5: Tutti i voli prenotati dai passeggeri che partono dalle aree 1 e 3 10 P6: Tutti i voli prenotati dai passeggeri che partono dalle aree 2 e 3 10 P7: Tutti i voli prenotati dal passeggeri che partono da tutte le aree 10

45 Esempio per Volo Volo Aeroporto Da Volo1 Aeroporto1 Da Volo2 Aeroporto2 Da Volo3 Aeroporto3 Da

46 Tavola di polarizzazione Nelle pagine successive e’ mostrata la tavola di poliarizzazione. Ogni riga e’ associata a un predicato di partizionamento, cioe’ a un frammento. Il predicato e’ specificato a due livelli.

47 Tavola di polarizzazione Nelle pagine successive e’ mostrata la tavola di polarizzazione. Ogni riga e’ associata a un predicato di partizionamento, cioe’ a un frammento. Il predicato e’ specificato a due livelli. Ogni colonna e’ associata a una esecuzione di una applicazione (a,b,c) presso un sito (1,2,3) Alcune aree (denotate da croce) sono irrilevanti, perche’ l’applicazione non visita la entita’

48 Tavola di polarizzazione - prima parte a. Prenotaz.b. Check inc. Partenze Aeroporto per Area P1Non si applica P2 P3 Passeggero per telefono P1Non si applica P2 P3 Passeggero per Aeroporto di prima prenotazione P1Non si applica P2 P3

49 Schemi globali delle operazioni Schema Prenotazione (a) Volo Data Posti disponibili (O,W) Aeroporto Identificatore (K) Da A Passeggero Nome Telefono Prenotaz. Classe (W) Ora Partenza (K) Ora Arrivo (K)

50 Schemi globali delle operazioni Schema Check-in (b) Volo Numero (K) Data (K) Mappa posti (O,W) Passeggero Nome (K) Prenotaz. Check in Numero posto (W) Cod. Bagaglio (W) Classe (O)

51 Schemi globali delle operazioni Schema Rapporto Partenze (c) Volo Numero (O) Data (K) Gate (O) Ritardo (O) Posti disponibili Aeroporto Identificatore (K) Citta’ / Area Da Aeroporto Identificatore (O) Citta’ (O) A Classe Ora Partenza (K,O)

52 Tavola di polarizzazione Nelle pagine successive e’ mostrata la tavola di poliarizzazione. Ogni riga e’ associata a un predicato di partizionamento, cioe’ a un frammento. Il predicato e’ specificato a due livelli. Ogni colonna e’ associata a una esecuzione di una applicazione (a,b,c) presso un sito (1,2,3). Alcune aree (denotate da croce) sono irrilevanti, perche’ l’applicazione non visita la entita’ Ogni cella specifica la percentuale degli accessi a un frammento nel caso di scelta del corrispondente predicato. Se non e’ specificato niente, il valore corrisponde a distribuzione uniforme sui valori non specificati.

53 Tavola di polarizzazione - prima parte a. Prenotaz.b. Check inc. Partenze Aeroporto per Area P P P Passeggero per telefono P1 60 P2 65 P Passeggero per Aeroporto di prima prenotazione P P P Perche’ i passeggeri che fanno due o piu’ tratte possono prenotare solo in una Perche’ i report si fanno solo dall’aeroporto cui si riferiscono

54 Tavola di polarizzazione – seconda parte a. Prenotaz.b. Check inc. Partenze Passeggero per area partenza P140 P240 P330 P43020 P P P720 Volo per partenza (Da)P P P Volo per arrivo (A)P P P

55 Progetto della frammentazione Passo 2 Per ogni entita’, –Per ogni gruppo di frammenti individuati, 1. Allochiamo tentativamente il gruppo nei nodi sulla base della percentuale massima degli accessi, per i diversi nodi, nelle tavole di polarizzazione, 2. A questo punto, calcoliamo per ogni gruppo di frammenti, in termini di accessi, quali siano le applicazioni favorite dalla frammentazione e quali siano quelle sfavorite, scegliendo il valore positivo migliore.

56 Cosa si intende per favorite e sfavorite? Favorite  Σ Numero di Accessi in locale (poco costosi) Sfavorite  Σ Numero di Accessi in remoto (molto costosi) Partendo dall’ insieme di frammenti allocato, calcoliamo: Σ accessi in locale – Σ accessi in remoto

57 Ricordiamo la Tavola delle frequenze per operazioni presso i siti Siti /Operazioni123 a b c

58 Numero accessi ad un dato frammento da un dato sito Il numero di accessi al frammento k dal sito j e’ dato da: n kj = Σ i: i usa k fij P ijk

59 Scelta per Aeroporto a. Prenotaz.b. Check inc. Partenze Aeroporto per Area P P P

60 Scelta per Aeroporto a. Prenotaz.b. Check inc. Partenze Aeroporto per Area P P P

61 Sviluppiamo il caso di Passeggero

62 Scelta per passeggero – tre possibilita’ a. Prenotaz.b. Check inc. Partenze Passeggero per telefono P P P Passeggero per Aeroporto di prima prenotazione P P P

63 Scelta per passeggero – tre possibilita’ a. Prenotaz.b. Check inc. Partenze Passeggero per area partenza P P P P P P P720

64 Passo 1. Allocazioni “tentative”

65 Scelta per passeggero – allocazione dei frammenti a. Prenotaz.b. Check inc. Partenze Passeggero per telefono P P P Passeggero per Aeroporto di prima prenotazione P P P Allocato al nodo  Accessi in locale Non allocato  Accessi in remoto

66 Scelta per passeggero – allocazione dei frammenti a. Prenotaz.b. Check inc. Partenze Passeggero per area partenza P P P P P P P720

67 2. Calcolo del Δ = Σ accessi in locale – Σ accessi in remoto

68 Confrontiamo (per brevita’) solo i due casi di: 1. Passeggero per aeroporto di prima destinazione e 2. Passeggero per area partenza

69 Scelta per passeggero – allocazione dei frammenti a. Prenotaz.b. Check inc. Partenze Passeggero per Aeroporto di prima prenotazione P P P Accessi in locale Accessi in remoto

70 Scelta per passeggero – calcolo accessi a. Prenotaz.b. Check inc. Partenze Passeggero per Aeroporto di prima prenotazione P *10 -0* 20 0* *8 -12 *12 15 *8 P2 -0* *20 0* *8 +75 * *8 P *8 -13 *12 70* 8 Accessi in locale Accessi in remoto N.B. accessi espressi in decine (es. P1 al nodo 1 sarebbe *1)

71 Scelta per passeggero – analogo per passeggero per area di partenza (non sviluppato) a. Prenotaz.b. Check inc. Partenze Passeggero per area partenza P P P P P P P720 Accessi in locale Accessi in remoto (Somme e moltiplicazioni analoghe)

72 Risultato Δ Passeggero per area di partenza > Δ Passeggero per aeroporto di prima prenotazione Cosi’ pure per il secondo confronto (Passeggero per area di partenza vs Passeggero per telefono)

73 Scelta per passeggero a. Prenotaz.b. Check inc. Partenze Passeggero per area partenza P140 P240 P330 P43020 P P P720

74 Scelta per volo - 1 a. Prenotaz.b. Check inc. Partenze Volo per partenza (Da)P P P Volo per Arrivo (A)P P P

75 Scelta per volo - 2 a. Prenotaz.b. Check inc. Partenze Volo per partenza (Da)P P P Volo per Arrivo (A)P P P

76 Esito della fase 2. Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

77 Fase 2: Allocazione non ridondante

78 Allocazione non ridondante Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

79 Allocazione non ridondante - scelte In alcuni casi segue in modo diretto dalle scelte effettuate nella fase precedente: Aeroporto i, Volo i, e Passeggero i, sono allocati ai siti i= 1,2,3.

80 Allocazione non ridondante Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

81 Allocazione non ridondante Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

82 Allocazione non ridondante Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

83 Allocazione non ridondante Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

84 Allocazione non ridondante - scelte Per gli altri frammenti della entita’ Passeggero (P4, P5, P6 e P7), selezioniamo il sito che usa di piu’ il frammento, applicando le formule gia’ viste nella metodologia basate su tavole di polarizzazione e tavole di frequenza. Numero di accessi al frammento k dal sito j e’ dato da n kj = Σ i: i usa k fij P ijk

85 Predicati per il caso 4 Note: Flight departure is based on 7 predicates Predicate selectivity P1: Tutti i voli prenotati dai passeggeri che partono dall’area 1 20 P2: Tutti i voli prenotati dal passeggeri che partono dall’area 2 20 P3: Tutti i voli prenotati dal passeggeri che partono dall’area 3 20 P4: Tutti i voli prenotati dai passeggeri che partono dalle aree 1 e 2 10 P5: Tutti i voli prenotati dai passeggeri che partono dalle aree 1 e 3 10 P6: Tutti i voli prenotati dai passeggeri che partono dalle aree 2 e 3 10 P7: Tutti i voli prenotati dal passeggeri che partono da tutte le aree 10

86 Tavola delle frequenze per operazioni presso i siti Siti /Operazioni123 a. Prenotaz b. Check in c. Partenze

87 Scelta per passeggero a. Prenotaz.b. Check inc. Partenze Passeggero per area partenza P140 P240 P330 P43020 P P P720 Es. accessi al frammento P4 Dal nodo 1 = 0,30* = Dal nodo 2 = 0,20* = Scegliamo il nodo 2

88 Allocazione non ridondante - scelte Percio’ allochiamo Passeggero4, Passeggero6, e Passeggero7 al sito 2, Passeggero 5 al sito 3.

89 Allocazione non ridondante Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 Fram- menti

90 Allocazione non ridondante – 5 per gli altri frammenti selezioniamo il sito che li usa di piu’, utilizzando le formule gia’ introdotte per il passo 2. Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3

91 Fase 3: Allocazione ridondante

92 Allocazione ridondante – in questo passo, duplichiamo i frammenti quando i benefici negli accessi superano di molto i costi degli aggiornamenti multipli; questo non e’ il caso di Aeroporto e Volo. Invece per Passeggero possiamo introdurre una limitata ridondanza. 2. Nord 1. Ovest 3. Sud Denver New York Atlanta A1 A2 A3 P1 P2 P3 P4 P5 P6 P7 V1 V2 V3 In particolare, possiamo duplicare i frammenti di Passeggero relativi a due o piu’ aree, in cui sia inclusa la 1 (P4, P5, e P7) P4 P5 P6 P7

93 Fase 4: Ricostruzione degli schemi

94 Risultato del progetto della distri- buzione: schemi locali per i siti Sito 1 Sito 3 Sito 2

95 Risultato del progetto della distri- buzione: schemi locali per i siti Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 1.Aggiunta delle Entita’ selezionate in Precedenza – Passeggero

96 Risultato del progetto della distri- buzione: schemi locali per i siti Volo1 Aeroporto1 Volo2 Aeroporto2 Volo3 Aeroporto3 Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 1.Aggiunta delle Entita’ selezionate in Precedenza – Passeggero

97 Risultato del progetto della distri- buzione: schemi locali per i siti Volo1 Aeroporto1 Volo2 Aeroporto2 Volo3 Aeroporto3 Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 2.Aggiunta delle Relazioni Prenotazione e Check-in Nei siti dove sono allocate le istanze corrispondenti

98 Risultato del progetto della distri- buzione: schemi locali per i siti Volo1 Aeroporto1 Prenotaz. Check in Volo2 Aeroporto2 Prenotaz. Check in Volo3 Aeroporto3 Prenotaz. Check in Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 2.Aggiunta delle Relazioni Prenotazione e Check-in Nei siti dove sono allocate le istanze corrispondenti

99 Risultato del progetto della distri- buzione: schemi locali per i siti Volo1 Aeroporto1 Prenotaz. Check in Volo2 Aeroporto2 Prenotaz. Check in Volo3 Aeroporto3 Prenotaz. Check in Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 3. Aggiunta della relazione Da, allocata in modo naturale nei vari siti a seguito del partizionamento orizzontale di Aeroporto e Volo proprio sulla base della relazione Da

100 Risultato del progetto della distri- buzione: schemi locali per i siti Volo1 Aeroporto1 Prenotaz. Check in Volo2 Aeroporto2 Prenotaz. Check in Volo3 Aeroporto3 Prenotaz. Check in Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Da Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 3. Aggiunta della relazione Da, allocata in modo naturale nei vari siti a seguito del partizionamento orizzontale di Aeroporto e Volo proprio sulla base della relazione Da

101 Risultato del progetto della distribuzione: schemi locali per i siti Volo1 Aeroporto1 Prenotaz. Check in Volo2 Aeroporto2 Prenotaz. Check in Volo3 Aeroporto3 Prenotaz. Check in Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Da Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 to 4. L’ aggiunta della relazione A puo’ essere fatta in Vari modi, perche’ Collega istanze di entita’ che possono essere allocate in siti diversi. Adottiamo la Soluzione che Alloca le istanze Di A nello stesso Sito delle corris- pondenti istanze di Volo

102 Volo1 Aeroporto1 Prenotaz. Check in Volo2 Aeroporto2 Prenotaz. Check in Volo3 Aeroporto3 Prenotaz. Check in Sito 1 Sito 2 Sito 3 Passeggero 1u Passeggero 4u Passeggero 5u Passeggero 7 Passeggero 2u Passeggero 4u Passeggero 6u Passeggero 7 Da A A A Passeggero 3u Passeggero 5u Passeggero 6u Passeggero 7 A A A3 Risultato del progetto della distribuzione: schemi locali per i siti 4. L’ aggiunta della relazione A puo’ essere fatta in Vari modi, perche’ Collega istanze di entita’ che possono essere allocate in siti diversi. Adottiamo la Soluzione che Alloca le istanze Di A nello stesso Sito delle corris- pondenti istanze di Volo

103 Conclusioni L’aspetto piu’ rilevante delle scelte fatte e’ che le richieste relative ai voli (prenotazione e check in) possono essere soddisfatte accedendo a dati che sono tutti nell’aeroporto di partenza. Come aspetto negativo, le informazioni sui passeggeri sono duplicate, e cio’ richiede una piu’ complessa gestione rispetto al caso di allocazione non ridondante