La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours pour les Master I Les BDAs (Les bases de données réparties)

Présentations similaires


Présentation au sujet: "Cours pour les Master I Les BDAs (Les bases de données réparties)"— Transcription de la présentation:

1 Cours pour les Master I Les BDAs (Les bases de données réparties)

2 Bibliographie Pr. Ladjel Bellatreche Bases de données réparties, Pr. Ladjel Bellatreche (Ensma) Principles of Distributed Database Systems,Edition- M. Tamer Özsu & Patrick Valduriez 2

3 MotivationMotivation Relation employé E (#,nom,loc,sal,…) 3 Deux sites : S a, S b

4 Bases de données réparties (BDR) Différents niveaux de répartition Données Données Schémascatalogues Schémas ou catalogues de la BD SGBD SGBD Traitement (requêtes, transactions) Traitement (requêtes, transactions) Composants matériels: Composants matériels: mémoires, disques, … 4

5 BDR = BD + Réseau BD répartie (distributed database) Ensemble de BDs gérées par des sites différents et qui apparaissent à lutilisateur comme une base unique « To the user, a distributed system should look exactly like a non distributed system » (Chris. Date, Introduction to Database Systems) SGBD Réparti (SGBDR) Logiciel qui gère une BDR et qui rend la répartition transparente Client de SGBDR Application qui accède aux informations distribuées par les interfaces du SGBDR 5

6 ApplicationsApplications Cas de grosses entreprises ou organismes ayant des agences géographiquement distribuées: Banques Fabrication Médicales (BD biologiques) Militaires Systèmes de réservation de compagnies aériennes WEB 6

7 ApplicationsApplications 7 Relation employé E (#,nom,loc,sal,…)

8 Objectifs des BDR 8 Autonomie locale Autonomie locale Transparence ž Performance améliorée Ÿ Fiabilité et disponibilité accrues Partage accru de données et ressources Expansion graduelle

9 Nouveaux défis (1) 9 Conception dune BDR Conception dune BDR Fragmentation Allocation Réplication (totale ou partielle) Transparence à la répartition Transparence à la répartition Extension de la notion dindépendance logique et physique des données Extension de la notion dindépendance logique et physique des données Localisation (réplication, fragmentation) Localisation (réplication, fragmentation) Aucune spécification de la localisation des données Aucune spécification de la localisation des données

10 Nouveaux défis (2) 10 Optimisation de requêtes réparties Optimisation de requêtes réparties Choix de la copie en lecture Choix de la copie en lecture Mise à jour de toutes les copies Mise à jour de toutes les copies Plan d'exécution réparti Transactions réparties Transactions réparties Maintien des propriétés ACID des transactions Maintien des propriétés ACID des transactions Utilisateur aura à formuler ses transactions de la même manière que dans un environnement centralisé Utilisateur aura à formuler ses transactions de la même manière que dans un environnement centralisé

11 Types de BDR 11

12 BDR Homogène 12 Obtenue en divisant une BD en un ensemble de BD locales, chacune étant gérée par le même SGBD Obtenue en divisant une BD en un ensemble de BD locales, chacune étant gérée par le même SGBD Même modèle de données Même modèle de données Même langage de requêtes Même langage de requêtes Exemple: DB2, ORACLE (SQL) Exemple: DB2, ORACLE (SQL) Données de la base sont réparties sur plusieurs sites Données de la base sont réparties sur plusieurs sites

13 ExempleExemple 13 BD Clients BD Clients dOran BD Clients dAlger BD Clients de Constantine Processus de Répartition

14 BDR Hétérogènes 14 Deux niveaux dhétérogénéité: Deux niveaux dhétérogénéité: Les BD ont le même modèle (relationnel) mais sont gérées par des SGBD différents (Oracle, SQL server, ….) Les BD ont le même modèle (relationnel) mais sont gérées par des SGBD différents (Oracle, SQL server, ….) Les BD ont des modèles différents (relationnel, objet) et gérées par des SGBD différents (Oracle, O2) Les BD ont des modèles différents (relationnel, objet) et gérées par des SGBD différents (Oracle, O2) BDR hétérogène BDR hétérogène BD répartie obtenue en intégrant dans une BD unique un ensemble de BD locales gérées par des SGBD différents. BD répartie obtenue en intégrant dans une BD unique un ensemble de BD locales gérées par des SGBD différents.

15 ExempleExemple 15

16 Définition dune BDR 16 Site local Site local Site de naissance (ne change pas) Site de naissance (ne change pas) Site de stockage (peut changer) Site de stockage (peut changer) Site de lusager Site de lusager ALI de site S1 crée une relation R et la stocke dans S2 ALI de site S1 crée une relation R et la stocke dans S2 CREATE TABLE ALGER(NA, Type, Poids, Gare, Etat) ON S2 S1 = site de naissance S1) S1 = site de naissance S1) S2 = site de stockage S2 = site de stockage ALI de S1 déplace la relation de S2 vers S3 ALI de S1 déplace la relation de S2 vers S3 MIGRATE TABLE TO S3

17 Architecture des schémas dune BDR 17

18 Conception des BDR 18 Approche descendante Approche descendante Environnement homogène Environnement homogène Conception à partir de zéro Conception à partir de zéro Nouvelles étapes avant la conception physique Nouvelles étapes avant la conception physique Localisation des données Localisation des données Schémas locaux Schémas locaux Approche ascendante Approche ascendante On part de BD existantes (souvent hétérogènes) On part de BD existantes (souvent hétérogènes)

19 Approche descendante 19 BD BD1BD1BD2BD2BD3BD3 ECLATEMENTECLATEMENT Conception dune BD répartie Conception dune BD répartie Maîtrise de la complexité de la répartition (fragmentation, duplication, placement) Maîtrise de la complexité de la répartition (fragmentation, duplication, placement) Définition des schémas locaux à partir du schéma global Définition des schémas locaux à partir du schéma global

20 Approche ascendante 20 BDR BD fédérée BD1BD1BD2BD2BD3BD3 INTEGRATIONINTEGRATION Intégration/fédération de BD existantes Intégration/fédération de BD existantes Maîtrise de lhétérogénéité sémantique (BD) et syntaxique (SGBD, communications,....) Maîtrise de lhétérogénéité sémantique (BD) et syntaxique (SGBD, communications,....) Maîtrise de lintégration des schémas locaux pour créer un schéma global Maîtrise de lintégration des schémas locaux pour créer un schéma global

21 Ascendante / Descendante (dune autre perspective) 21

22 Approche ascendante 22 Intégration des BD locales existantes dans une seule base Intégration des BD locales existantes dans une seule base La distribution des données est préexistante La distribution des données est préexistante Sémantique des schémas participants Sémantique des schémas participants

23 Approche descendante 23 La distribution des données est bien présente La distribution des données est bien présente Les tables du schéma global sont fragmentées ( processus de fragmentation ) Les tables du schéma global sont fragmentées ( processus de fragmentation ) Fragment Fragment Sous-table obtenue par sélection de lignes et de colonnes à partir dune table globale Sous-table obtenue par sélection de lignes et de colonnes à partir dune table globale Les fragments sont donc placés sur des sites ( processus dallocation ) Les fragments sont donc placés sur des sites ( processus dallocation )

24 Objectifs de la décomposition 24

25 Techniques de fragmentation 25 Problème de fragmentation: Problème de fragmentation: Entrée: une relation dun schéma global Entrée: une relation dun schéma global Sortie: un schéma de fragmentation (ensemble de fragments) Sortie: un schéma de fragmentation (ensemble de fragments) Différents types de fragmentation Différents types de fragmentation Horizontale Horizontale Verticale Verticale Mixte Mixte

26 Fragmentation Horizontale 26 Décomposition de la table en groupes de lignes Décomposition de la table en groupes de lignes Deux types de fragmentation horizontale: Deux types de fragmentation horizontale: Primaire Primaire Dérivée Dérivée

27 Fragmentation Horizontale Primaire 27 Obtention des fragments horizontaux: Obtention des fragments horizontaux: Fragmentation horizontale est définie par lopération de sélection Fragmentation horizontale est définie par lopération de sélection Exemple Exemple Client(N°Client, Nom, Ville) peut être fragmentée : Client(N°Client, Nom, Ville) peut être fragmentée : Client1= SELECT * FROM Client WHERE Ville = Paris Client1= SELECT * FROM Client WHERE Ville = Paris Client2= SELECT * FROM Client WHERE Ville <> Paris Client2= SELECT * FROM Client WHERE Ville <> Paris Reconstruction de la relation initiale: Reconstruction de la relation initiale: Client = Client1 Client2 Client = Client1 Client2

28 Fragmentation Horizontale Dérivée(1) 28 Fragmentation dune table en fonction des fragments horizontaux dune autre table. Fragmentation dune table en fonction des fragments horizontaux dune autre table.

29 Fragmentation Horizontale Dérivée(2) 29 Obtention des fragments horizontaux dérivés. Obtention des fragments horizontaux dérivés. Fragments dérivés sont obtenus par lopération de semi-jointure Fragments dérivés sont obtenus par lopération de semi-jointure Exemple Exemple Commande(N°Client, N°Produit, Date, Qte, N°Représentant) Commande(N°Client, N°Produit, Date, Qte, N°Représentant) Commande1= SELECT * FROM Commande Commande1= SELECT * FROM Commande WHERE N°client IN ( SELECT N°Client FROM CLIENT1) Commande2= SELECT * FROM Commande Commande2= SELECT * FROM Commande WHERE N°Client IN ( SELECT N°Client FROM CLIENT2) Reconstruction de la relation initiale: Reconstruction de la relation initiale: Commande = Commande1 Commande2 Commande = Commande1 Commande2

30 Fragmentation Verticale (1) 30 Décomposition de la table en groupes de colonnes. Décomposition de la table en groupes de colonnes.

31 Fragmentation Verticale (2) 31 Obtention des fragments verticaux: Obtention des fragments verticaux: Fragmentation verticale est définie par lopération de projection Fragmentation verticale est définie par lopération de projection Exemple Exemple Client(N°Client, Nom, Sexe,Ville) peut être fragmentée : Client(N°Client, Nom, Sexe,Ville) peut être fragmentée : Client 1 = SELECT N°Client, Nom FROM Client Client 1 = SELECT N°Client, Nom FROM Client Client 2 = SELECT N°Client, Sexe, Ville FROM Client Client 2 = SELECT N°Client, Sexe, Ville FROM Client Reconstruction de la relation initiale: Reconstruction de la relation initiale: Client = Client 1 join Client 2 Client = Client 1 join Client 2 Pourquoi le N°Client est dupliqué dans les deux fragments?

32 Fragmentation Mixte 32 Obtention des fragments mixtes: Obtention des fragments mixtes: Fragmentation mixte résulte de lapplication successive dopérations de fragmentation horizontale et de fragmentation verticale Fragmentation mixte résulte de lapplication successive dopérations de fragmentation horizontale et de fragmentation verticale

33 Avantages et inconvénients de la fragmentation 33 + Réduction des accès non pertinents + Parallélisme intra-requête + Combinée avec dautres techniques doptimisation (index, vues matérialisées, etc.) génération des fragments disjoints est un problème difficile génération des fragments disjoints est un problème difficile Accès multiples aux fragments nécessitent des opérations de jointure et dunion Accès multiples aux fragments nécessitent des opérations de jointure et dunion La migration des données (conséquence dune mauvaise fragmentation horizontale) La migration des données (conséquence dune mauvaise fragmentation horizontale)

34 Règles de correction 34 Complétude Complétude Assure que tous les tuples dune relation sont associés à au moins un fragment (fragmentation verticale) Assure que tous les tuples dune relation sont associés à au moins un fragment (fragmentation verticale) Reconstruction Reconstruction Assure quune relation peut être reconstruite à partir de ses fragments Assure quune relation peut être reconstruite à partir de ses fragments Disjonction Disjonction Assure que les fragments dune relation sont disjoints deux à deux Assure que les fragments dune relation sont disjoints deux à deux

35 Comment Fragmenter? 35

36 Fragmentation dirigée par des requêtes 36 Optimiser les requêtes les plus fréquentes: Optimiser les requêtes les plus fréquentes: Règle 20/80; Règle 20/80; Connaissance préalable des requêtes; Connaissance préalable des requêtes; Fréquences daccès des requêtes. Fréquences daccès des requêtes. Travail de ladministrateur de la BD Travail de ladministrateur de la BD Changement de requêtes peut entraîner une re-fragmentation Changement de requêtes peut entraîner une re-fragmentation Tuning de la base de données Tuning de la base de données

37 Procédure de fragmentation (1) 37 Informations sur la base de données : Informations sur la base de données : Prédicats simples : Prédicats simples : Exemple Exemple p1: Ville =Alger p1: Ville =Alger p2: Salaire p2: Salaire Étant donnée une relation R(A 1, A 2,..., A n ) Un prédicat simple p j défini sur R est défini: p j : A i θ valeur avec: θ {=,,,, }; et valeur domaine(D i ) Étant donnée une relation R(A 1, A 2,..., A n ) Un prédicat simple p j défini sur R est défini: p j : A i θ valeur avec: θ {=,,,, }; et valeur domaine(D i )

38 Procédure de fragmentation (2) 38 Soit P r = {p 1, p 2,..., p m } un ensemble de prédicats simples définis sur la relation R i, lensemble de minterms M= {m 1, m 2,..., m z } est défini comme suit: Soit P r = {p 1, p 2,..., p m } un ensemble de prédicats simples définis sur la relation R i, lensemble de minterms M= {m 1, m 2,..., m z } est défini comme suit: Exemple Exemple m 1 : (Ville =Poitiers) (Salaire ) m 1 : (Ville =Poitiers) (Salaire ) m 2 : NOT(Ville=Poitiers) (Salaire ) m 2 : NOT(Ville=Poitiers) (Salaire ) m 3 : (Ville =Poitiers) NOT(Salaire ) m 3 : (Ville =Poitiers) NOT(Salaire ) m 4 : NOT(Ville =Poitiers) NOT(Salaire ) m 4 : NOT(Ville =Poitiers) NOT(Salaire ) M = {m i | m i = P j P r p* j }, 1 i z, 1 j z; where p* j = p j or ¬p j M = {m i | m i = P j P r p* j }, 1 i z, 1 j z; where p* j = p j or ¬p j

39 Informations sur la BD 39 Sélectivité dun minterm : sel (m i ) Sélectivité dun minterm : sel (m i ) Le nombre de tuples de la relation satisfaisant la clause du minterm Le nombre de tuples de la relation satisfaisant la clause du minterm Fréquence daccès dune requête : acc (q i ) Fréquence daccès dune requête : acc (q i ) Ce sont des informations permettant de décider que si le fragment généré par le minterm vaut la peine dêtre fragmenter et migrer sur un site à part !

40 Minterm predicates (1) 40

41 Minterm predicates (2) 41

42 Fragments finaux 42

43 Prise en considération de la sémantique 43 Élimination des fragments contradictoires dépend de la sémantique des applications Élimination des fragments contradictoires dépend de la sémantique des applications Exemple Exemple Si LOC est SA, SB, alors on ajoute les fragments suivants: Si LOC est SA, SB, alors on ajoute les fragments suivants:

44 (Architectures)(Architectures) 44 Partie Complémentaire

45 Client/Serveur (1) 45 Modèle d'architecture applicative où les programmes sont répartis entre processus clients et serveurs communiquant par des requêtes avec réponses. Modèle d'architecture applicative où les programmes sont répartis entre processus clients et serveurs communiquant par des requêtes avec réponses. Une répartition hiérarchique des fonctions Une répartition hiérarchique des fonctions Données sur le serveur partagées entre N clients Données sur le serveur partagées entre N clients Interfaces graphiques sur la station de travail personnelle Interfaces graphiques sur la station de travail personnelle Communication par des protocoles standardisés Communication par des protocoles standardisés Distribution des programmes applicatifs afin de minimiser les coûts Distribution des programmes applicatifs afin de minimiser les coûts

46 Client/Serveur (2) 46

47 Collaborating Servers 47 Client Query

48 Peer-to-peer (P2P) 48 Aucune différence entre le client et le serveur Aucune différence entre le client et le serveur Le client peut jouer le rôle de serveur et vice versa Le client peut jouer le rôle de serveur et vice versa Chaque machine a sa propre base de données (+SGBD) Chaque machine a sa propre base de données (+SGBD) Les BDR dans le contexte P2P reste un sujet de recherche!! Les BDR dans le contexte P2P reste un sujet de recherche!!

49 Architecture GAV et LAV 49 GAV : Global as View GAV : Global as View Schéma global défini comme une vue intégrante sur schémas locaux Schéma global défini comme une vue intégrante sur schémas locaux Approche ascendante depuis les sources vers le médiateur Approche ascendante depuis les sources vers le médiateur Difficulté pour ajouter une source Difficulté pour ajouter une source LAV : Local As View LAV : Local As View Chaque source locale est définie comme une vue locale du schéma global Chaque source locale est définie comme une vue locale du schéma global Approche descendante depuis le médiateur vers les sources Approche descendante depuis le médiateur vers les sources Difficulté pour réconcilier source et vue locale Difficulté pour réconcilier source et vue locale

50 50 Ce qui na pas été entamé dans cette partie Processus dallocation des fragments Processus dallocation des fragments Optimisation de Requêtes (Contexte réparti) Optimisation de Requêtes (Contexte réparti) Évaluation des requêtes dans un environnement réparti Évaluation des requêtes dans un environnement réparti Bases de données hétérogènes Bases de données hétérogènes Architecture de médiation Architecture de médiation Adaptateur (Wrapper) Adaptateur (Wrapper) Médiateur Médiateur


Télécharger ppt "Cours pour les Master I Les BDAs (Les bases de données réparties)"

Présentations similaires


Annonces Google