Bases de Données Réparties

Slides:



Advertisements
Présentations similaires
[number 1-100].
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Université du Havre Master 2 Validation atomique Le processus de commit (validation) des transactions distribuées.
CLIENT/SERVEUR 1.
Informatique appliquée à la gestion Bases de données www. labri
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Classe : …………… Nom : …………………………………… Date : ………………..
1/32 Forum des utilisateurs du SISMER – Novembre 2005 Le portail NAUTILUS accès en ligne aux données et nouveau site WEB du SISMER Michèle FICHAUT Mickael.
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Les Prepositions.
Fonctionnalités des SGBD
Le Modèle Logique de Données
Directeur de Thèse : Pr. Witold Litwin
Manipulations multibases et distribuées Partie 1
Algèbre relationnelle
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Indicateurs de position

Plan de formation Chapitre 1 : Présentation de SAP
TP 3-4 BD21.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
NFE 107 : Urbanisation et architecture des systèmes d'information
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les BDAs (Les bases de données réparties)
Développement d’applications web
Contrôles d'accès aux données
Principes de persistance dans les applications orienté objet
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Chap 4 Les bases de données et le modèle relationnel
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
La Saint-Valentin Par Matt Maxwell.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Notre calendrier français MARS 2014
Les concepts et les méthodes des bases de données
LES SUPPORTS INDIVIDUELS D AIDE A LA DECISION UNE PRESENTATION DE : DIALLO, OUSMANE B.
C'est pour bientôt.....
Veuillez trouver ci-joint
Initiation aux bases de données et à la programmation événementielle
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Gestion de données distribuées Intégration - Médiation
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
Introduction.
CALENDRIER-PLAYBOY 2020.
Gérer la sécurité des mots de passe et les ressources
Les Chiffres Prêts?
Les Composants de l’architecture Oracle
Tolérance de parallélisme
Bases de Données Réparties
Créer des packages.
Bases de données fédéréEs hétérogènes
Bogdan Shihedjiev - Architectures distribuées 1 Architectures réparties Architecture Client-serveur Two-tied architecture (deux niveaux)
DB2. Universal Database. D. Chamberlin, Morgan-Kaufman Delmal, P. SQL2. INPRES, * A First Course in Database Syst. Ullman, J., Widom, J.,
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Najib OURADI-Hightech  « To the user, a distributed system should look exactly like a nondistributed system» (C. Date, Introduction to Database.
Séance /10/2004 SGBD - Approches & Principes.
Transcription de la présentation:

Bases de Données Réparties 1. Définition 2. Architectures 3. Conception de BDR 4. Traitement des requêtes 5. Transaction répartie 6. Passerelles avec autres SGBD

1. Définition BD Répartie Ensemble de bases localisées sur différents sites, perçues par l'utilisateur comme une base unique Chaque base possède son schéma local Le schéma de la base répartie constitue le schéma global il n'est généralement pas matérialisé il peut servir de support de conception Les données sont accédées via des vues intégrées assurent la transparence à la localisation permettent des recompositions de tables par union/jointure

SGBD réparti Rend la répartition (ou distribution) transparente dictionnaire des données réparties traitement des requêtes réparties gestion de transactions réparties gestion de la cohérence et de la sécurité

Evaluation de l'approche BDR avantages extensibilité partage des données hétérogènes et réparties performances avec le parallélisme disponibilité avec la réplication inconvénients administration complexe distribution du contrôle difficulté de migration

Migration vers une BDR Décomposition en BD locales Intégration logique des BD locales existantes BD BD1 BD2 BD3

2. Architecture de schémas indépendance applications/BDR schéma global lourd à gérer application 1 application 2 Schéma global Schéma local 1 Schéma local 2 Schéma local 3

Schéma global schéma conceptuel global schéma de placement donne la description globale et unifiée de toutes les données de la BDR (e.g., des relations globales) indépendance à la répartition schéma de placement règles de correspondance avec les données locales indépendance à la localisation, la fragmentation et la duplication Le schéma global fait partie du dictionnaire de la BDR et peut être conçu comme une BDR (dupliqué ou fragmenté)

Exemple de schéma global Schéma conceptuel global Client (nclient, nom, ville) Cde (ncde, nclient, produit, qté) Schéma de placement Client = Client1 @ Site1 U Client1 @ Site2 Cde = Cde @ Site3

Architecture fédérée moyen contrôlé de migration application 1 Schéma fédéré 1 Schéma fédéré 2 Schéma local 1 Schéma local 2 Schéma local 3

3. Conception des bases réparties … BDR BD2 BDn BD1 décomposition intégration

Conception par décomposition Table globale fragmentation allocation Site 1 Site 2

Objectifs de la décomposition fragmentation trois types : horizontale, verticale, mixte performances en favorisant les accès locaux équilibrer la charge de travail entre les sites (parallélisme) duplication (ou réplication) favoriser les accès locaux augmenter la disponibilité des données

Fragmentation horizontale Fragments définis par sélection Client1 = Client where ville = "Paris" Client2 = Client where ville  "Paris" Client nclient nom ville C 1 C 2 C 3 C 4 Dupont Martin Smith Paris Lyon Lille Client1 nclient nom ville C 1 C 3 Dupont Martin Paris Reconstruction Client =Client1 U Client2 Client2 nclient nom ville C 2 C 4 Martin Smith Lyon Lille

Fragmentation horizontale dérivée Cde Fragments définis par jointure Cde1 = Cde where Cde.nclient = Client1.nclient Cde2 = Cde where Cde.nclient = Client2.nclient Reconstruction Cde = Cde1 U Cde2 ncde nclient produit qté D 1 D 2 D 3 D 4 C 1 C 2 C 4 P 1 P 2 P 3 P 4 10 20 5 Cde1 Cde2 ncde nclient produit qté ncde nclient produit qté D 1 D 2 C 1 P 1 P 2 10 20 D 3 D 4 C 2 C 4 P 3 P 4 5 10

Fragmentation verticale Fragments définis par projection Cde1 = Cde (ncde, nclient) Cde2 = Cde (ncde, produit, qté) Reconstruction Cde = [ncde, nclient, produit, qté] where Cde1.ncde = Cde2.ncde Utile si forte affinité d'attributs Cde ncde nclient produit qté D 1 D 2 D 3 D 4 C 1 C 2 C 4 P 1 P 2 P 3 P 4 10 20 5 Cde1 Cde2 ncde nclient ncde produit qté D 1 D 2 D 3 D 4 C 1 C 2 C 4 D 1 D 2 D 3 D 4 P 1 P 2 P 3 P 4 10 20 5

Allocation des fragments aux sites Non-dupliquée partitionnée : chaque fragment réside sur un seul site Dupliquée chaque fragment sur un ou plusieurs sites maintien de la cohérence des copies multiples Règle intuitive: si le ratio est [lectures/màj] > 1, la duplication est avantageuse

Exemple d'allocation de fragments Client1 Client2 nclient nom ville nclient nom ville C 1 C 3 Dupont Martin Paris C 2 C 4 Martin Smith Lyon Lille Cde1 Cde2 ncde client produit qté ncde client produit qté D 1 D 2 C 1 P 1 P 2 10 20 D 3 D 4 C 2 C 4 P 3 P 4 5 10 Site 1 Site 2

Conception BDR par intégration Traduction de schémas Traducteur 1 Traducteur 2 Traducteur 3 S local 1 S local S local 2 3 Intégration de schémas Intégrateur Schéma Global

4. Evaluation de requêtes réparties Requête sur tables globales Schéma de fragmentation Fragmentation Requête sur fragments Schéma d'allocation Optimisation Plan d'exécution réparti

Exemple d'évaluation simple Select A from R where B = b Fragmentation R = R1 U R2 Select A from R1 where B =b union Select A from R2 where B = b R1 = R1 @ Site1 R2 = R2 @ Site2 R2 = R2 @ Site3 Optimisation Select A from R1 @ Site1 where B = b union Select A from R2 @ Site3 where B = b

5. Notion de Transaction Répartie application Begin Read Write Abort Commit résultats Gérant de Transactions Globales STrans. STrans. Gérant de Transactions Locales Gérant de Transactions Locales 9 9

Protocole de validation en 2 étapes Objectif : Exécuter la commande COMMIT pour une transaction répartie Phase 1 : Préparer à écrire les résultats des mises-à-jour dans la BD Phase 2 : Ecrire ces résultats dans la BD Coordinateur : composant système d’un site qui applique le protocole Participant : composant système d’un autre site qui participe dans l'exécution de la transaction 10 10

Etude de cas de défaillances Participant Coordinator INITIAL VOTE-ABORT PREPARE write abort in log No Yes write ready VOTE-COMMIT GLOBAL-ABORT write commit GLOBAL-COMMIT Abort Commit WAIT READY ABORT COMMIT write begin_commit (Unilateral abort) ACK end_of_transaction Any No? Type of msg ? Ready to Commit ? 11 11

Validation normale P1 Coordinateur P2 préparer préparer prêt prêt valider valider fini fini 12 12

Panne d'un participant avant Prêt timeout abandon panne reprise } prêt  fini préparer P1 P2 Coordinateur Toutes les defaillances sont gerees par des timeout 13 13

Panne d'un participant après Prêt  } fini reprise panne prêt préparer P1 P2 Coordinateur fait valider timeout Si timeout, renvoyer valider a nouveau si le participant est en panne avant d ’avoir ecrit prêt dans son log, il abandonne unilateralement 14 14

Panne du coordinateur P1 Coordinateur P2 préparer prêt valider fini  P1 P2 Coordinateur Le participant est bloque. Un protocole de terminaison est necessaire(naif: attendre la reprise du coordinateur; cooperative termination protocol, …) 15 15

6. Extracteurs et Passerelles données Transformation table procédure SQL Passerelle Select données résultat Fournisseurs indépendants Outils ETL (ETI, Data Stage, Informatica, Sagent, Genio, Amadea, Sunopsis, …). Editeurs de SGBD passerelles entre le SGBD et les données sources

SGBD réparti hétérogène Outils SGBDR Interface réseau Interface réseau Interface réseau Interface SGBD1 Interface SGBD2 SGBD1 SGBD2

Produits SGBD relationnels VirtualDB (Enterworks) Oracle, DB2, SQL Server 2000, Sybase, Informix VirtualDB (Enterworks) basé sur GemStone, vue objet des tables Open Database Exchange (B2Systems)

Oracle/Star SGBD Oracle SQL*Net gestion du dictionnaire de la BDR SQL*Net transparence au réseau connexion client-serveur, loggin à distance automatique évaluation de requêtes réparties validation en deux étapes et réplication SQL*Connect : passerelle vers les bases non-Oracle

Database link Lien à une table dans une BD distante specifié par : nom de lien nom de l'utilisateur et password chaîne de connexion SQL*Net (protocole réseau, nom de site, options, etc…) Exemple CREATE DATABASE LINK empParis CONNECT TO patrick IDENTIFIEDBY monPW USING Paris.emp

Oracle/Star : architecture Outils Oracle SQL*Net SQL*Net SQL*Net SQL*Connect SQL*Connect DB2 Sybase