Les BDAs (Les bases de données réparties)

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Licence pro MPCQ : Cours
Distance inter-locuteur
Évaluation des requêtes relationnelles
Réflexivité et réseaux d’ information
Les numéros
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Fonctionnalités des SGBD
Le Modèle Logique de Données
Directeur de Thèse : Pr. Witold Litwin
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles


1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
NFE 107 : Urbanisation et architecture des systèmes d'information
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Un système de médiation basé sur les ontologies
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.
Développement d’applications web
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Contrôles d'accès aux données
le profil UML en temps réel MARTE
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Synchronisation et communication entre processus
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 2 : Les applications fonctionnelles.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
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.
Bases de Données Réparties
Titre : Implémentation des éléments finis sous Matlab
Modèle Logique de Données
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
22 janvier 2013 Commercialiser en 2013 ! Que de variables à ajuster ! 1.
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
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Universté de la Manouba
Cours de Base de Données & Langage SQL
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
1 10 pt 15 pt 20 pt 25 pt 5 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Les fonctions.
Les concepts et les méthodes des bases de données
Titre : Implémentation des éléments finis en Matlab
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Introduction.
Commission paritaire de suivi des opérations de reclassement repositionnement dans le cadre du droit d’option Statistiques novembre 2010.
Les Chiffres Prêts?
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Bases de données fédéréEs hétérogènes
Optimisation de requêtes
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Sélection de colonnes (la projection)
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
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.
Transcription de la présentation:

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

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

Motivation Relation employé E (#,nom,loc,sal,…) Deux sites : Sa, Sb Pb de la centralisation =>Performances (bottleneck) & augmenter la disponibilité Deux sites : Sa, Sb

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

BDR = BD + Réseau BD répartie (distributed database) Ensemble de BDs gérées par des sites différents et qui apparaissent à l’utilisateur 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

Applications 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

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

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

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

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

Types de BDR

BDR Homogène 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 langage de requêtes Exemple: DB2, ORACLE (SQL) Données de la base sont réparties sur plusieurs sites

Processus de Répartition BD Clients de Constantine Exemple BD Clients Processus de Répartition BD Clients d’Oran BD Clients d’Alger BD Clients de Constantine

BDR Hétérogènes Deux niveaux d’hétérogénéité: BDR hétérogène 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) 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.

Exemple

Définition d’une BDR Site local Site de naissance (ne change pas) Site de stockage (peut changer) Site de l’usager 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 (ALGER @ S1) S2 = site de stockage ALI de S1 déplace la relation de S2 vers S3 MIGRATE TABLE ALGER@S1 TO S3

Architecture des schémas d’une BDR

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

Approche descendante BD ECLATEMENT Conception d’une BD répartie Maîtrise de la complexité de la répartition (fragmentation, duplication, placement) Définition des schémas locaux à partir du schéma global BD BD1 BD2 BD3

Approche ascendante Intégration/fédération de BD existantes Maîtrise de l’hétérogénéité sémantique (BD) et syntaxique (SGBD, communications,....) Maîtrise de l’intégration des schémas locaux pour créer un schéma global INTEGRATION BDR BD fédérée BD1 BD2 BD3

Ascendante / Descendante (d’une autre perspective)

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

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

Objectifs de la décomposition

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

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

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

Fragmentation Horizontale Dérivée(1) Fragmentation d’une table en fonction des fragments horizontaux d’une autre table.

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

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

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

Fragmentation Mixte Obtention des fragments mixtes: Fragmentation mixte résulte de l’application successive d’opérations de fragmentation horizontale et de fragmentation verticale

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

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

Comment Fragmenter?

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

Procédure de fragmentation (1) Informations sur la base de données : Prédicats simples : Exemple p1: Ville =“Alger” p2: Salaire ≤ 70 000 Étant donnée une relation R(A1 , A2 , ..., An ) Un prédicat simple pj défini sur R est défini: pj : Ai θ valeur avec: θ ∈ {=, <, >, ≤, ≥, ≠}; et valeur ∈ domaine(Di)

Procédure de fragmentation (2) Soit Pr = {p1, p2, ..., pm} un ensemble de prédicats simples définis sur la relation Ri, l’ensemble de minterms M= {m1, m2 , ..., mz } est défini comme suit: Exemple m1 : (Ville =“Poitiers”) ∧ (Salaire ≤ 10 000) m2 : NOT(Ville=“Poitiers”) ∧ (Salaire ≤ 10 000) m3 : (Ville =“Poitiers”) ∧ NOT(Salaire ≤ 10 000) m4 : NOT(Ville =“Poitiers”) ∧ NOT(Salaire ≤ 10 000) M = {mi | mi = ∧Pj ∈ Pr p*j }, 1 ≤ i ≤ z, 1 ≤ j ≤ z; where p*j = pj or ¬pj

Informations sur la BD Fréquence d’accès d’une requête : acc (qi ) Sélectivité d’un minterm : sel (mi) Le nombre de tuples de la relation satisfaisant la clause du minterm Fréquence d’accès d’une requête : acc (qi ) 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 !

Minterm predicates (1)

Minterm predicates (2)

Fragments finaux

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

Partie Complémentaire (Architectures)

Client/Serveur (1) Une répartition hiérarchique des fonctions 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 Données sur le serveur partagées entre N clients Interfaces graphiques sur la station de travail personnelle Communication par des protocoles standardisés Distribution des programmes applicatifs afin de minimiser les coûts

Client/Serveur (2)

Collaborating Servers Query Client

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

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

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