conceptionBDRep

conceptionBDRep - Deux approches possibles : schéma global...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Deux approches possibles : schéma global existe et il faut le répartir : cas d'une migration d'une solution centralisée vers une solution répartie schéma global n'existe pas mais on dispose d'un ensemble de schémas locaux que l'on veut intégrer en un schéma global (intégration de schéma) Variantes existent : les sites locaux peuvent n'exporter qu'une partie de leur schéma les sites locaux n'ont pas forcément de schéma (système de fichiers ou site Web par exemple) Prendre plusieurs schémas et les intégrer (synthétiser) en un seul ne se ramène pas à de l'union il faut comparer les abstractions de chaque schéma local et éventuellement détecter qu'elles sont identiques ou de simples variantes l'une de l'autre problème avec dimension syntaxique (les langages ne sont pas forcément les mêmes) et surtout sémantique difficilement automatisable mais il existe des outils d'aide BD répartie avec schéma global BD fédérée BD répartie avec médiateur et wrappers ! Client 1 Client 2 # Client 1 SF1 Client 2 SF2 SE2 SL2 BD2 SF : schéma fédéré SE : schéma externe SL : schéma local BD : base de données SG SL 1 BD 1 BD SG SL 2 BD 2 SG SL 3 BD 3 Chaque site dispose d'un schéma local (SL) et du schéma global (SG) Chaque client peut s'adresser soit au schéma global Chaque soit à un schéma local soit SE1 SE1 SL1 BD1 SE3 SL3 BD3 " %! & ! ( # Client 1 ! Client 2 médiateur SG Architecture complexe les BD ne sont pas forcément homogènes (langage des SL peuvent être différents mais même langage pour les SE et les SF) une BD peut exporter une partie de son schéma (plus grande autonomie) on peut créer plusieurs fédérations à partir des mêmes BDs $ Wrapper 1 SL1 SL1 BD1 BD Oracle Wrapper 2 SL2 BD2 Fichiers structurés ' * ( On présente ici le cas de la répartition d'un schéma centralisé existant Schéma centralisé Ensemble de requêtes à optimiser Chaque BD possède son propre langage et ne dispose pas forcément d'un "vrai" SL le médiateur dispose d'un schéma global homogène peut être relationnel, objet ou bien XML pas forcément un "vrai" schéma global wrapper est un traducteur du langage du médiateur vers le langage de la BD ne supporte pas forcément toutes les fonctionnalités (p.e jointure ou mises à jour) nécessite l'écriture d'un wrapper pour toute nouvelle source de données (génération automatique de wrappers est étudiée) ) Algorithme de conception Schéma réparti "optimal" + , Fragmentation Découper une relation en relations plus Découper petites petites , Compagnies NC CNOM NBEMP C1 BU 30 C2 IB 80 C3 BO 5 C4 SW 10 Employés NE ENOM AGE E1 SH 34 E2 ML 40 E3 FE 26 E4 RB 45 Critères de fragmentation Pas de pertes d'information Reconstruction possible Partition / Duplication Travaille_pour NE NC DUREE VILLE NE E1 C1 3 Grenoble E2 C2 4 Paris E3 C4 2 Damas E4 C2 10 Genève # # # . Définitions / On décompose une relation en groupes de n-uplets Les groupes sont définis par des prédicats de sélection Horizontale Par voisinage Verticale Avantage Favorise les requêtes portant sur les Favorise prédicats de fragmentation prédicats 0Compagnies1 = σ Compagnies2 = σ NBEMP < 30 0(Compagnies) (Compagnies) (Compagnies) Compagnies1 = σ Compagnies1 Compagnies2 = σ NBEMP < 30 (Compagnies) (Compagnies) (Compagnies) NBEMP ≥ 30 30 NBEMP ≥ 30 30 Compagnies1 NC CNOM NBEMP NC C3 BO 5 C4 SW 10 NC CNOM NBEMP C1 BU 30 C2 IB 80 " Compagnies2 00! Perte Perte d'information 1 Dépend du choix des prédicats . Définition ! Reconstruction Par Union C'est une fragmentation horizontale qui se calcule en référence à une autre fragmentation horizontale Avantage Partition / Duplication Dépend du choix des prédicats $ Favorise les requêtes portant sur une Favorise jointure jointure ' 0- Travaille_pour 0Idée : Utiliser la propriété de jointure Idée Travaille_pour1 NE NC DUREE E3 C4 2 VILLE Damas NE NC DUREE VILLE NE E1 C1 3 Grenoble E2 C2 4 Paris E3 C4 2 Damas E4 C2 10 Genève Compagnies1 NC CNOM NBEMP C3 BO 5 C4 SW 10 NC CNOM NBEMP C1 BU 30 C2 IB 80 ) Travaille_pour2 Compagnies2 NE NC DUREE VILLE E1 C1 3 Grenoble E2 C2 4 Paris E4 C2 10 Genève + * R S = πR-attributs(R S) # 0- Définition de la semi-jointure Définition semi Travaille_pour NE NC DUREE VILLE NE E1 C1 3 Grenoble E2 C2 4 Paris E3 C4 2 Damas E4 C2 10 Genève Compagnies1 Travaille_pour1=Travaille_pour Compagnies1 Travaille_pour2=Travaille_pour Compagnies2 NC CNOM NBEMP C3 BO 5 C4 SW 10 Travaille_pour1 NE NC DUREE E3 C4 2 VILLE Damas 00! Perte Perte d'information 2 1 Pas de perte si base cohérente # ! S placée par voisinage sur R Reconstruction Par union Dépend de la relation par rapport à laquelle on fragmente R S = (R1 ∪ R2) (S1 ∪ S2) = (R1 S1) ∪ (R1 S2) ∪ (R2 S1) ∪ (R2 S2) = (R1 S1) ∪ (R2 S2) R1 S2 (R2 S1) est vide ou est déjà calculé Partition / Duplication . Définition ! On décompose une relation en groupes d'attributs UNE clé doit apparaître dans tous les groupes 0πNC, CNOM ((Compagnies) Compagnies) Compagnies2 = πNC, NBEMP (Compagnies) Compagnies1 = Avantage Favorise les Favorise projections projections requêtes avec des " 0πNC, CNOM ((Compagnies) Compagnies) Compagnies2 = πNC, NBEMP (Compagnies) Compagnies1 Compagnies1 = Compagnies1 NC CNOM NC C1 BU C2 IB C3 BO C4 SW 00! Perte Perte d'information 1 Non, si respect de la définition Reconstruction Par jointure Compagnies2 NC NBEMP C1 30 C2 80 C3 5 C4 10 Partition / Duplication $ Critère inapplicable ' * ! # Fragmentation mixte : horizontale + verticale Allocation des fragments aux sites Duplication : efficace en accès coût élevé en mise à jour ) ...
View Full Document

This note was uploaded on 12/10/2010 for the course GLT 12 taught by Professor Jimmymaster during the Spring '10 term at Paris Tech.

Ask a homework question - tutors are online