Najib OURADI-Hightech 2013-2014.  « To the user, a distributed system should look exactly like a nondistributed system» (C. Date, Introduction to Database.

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
CLIENT/SERVEUR 1.
Material/Sources: Daniel Bardou, Julie Dugdale &
Introduction aux environnements répartis
Réflexivité et réseaux d’ information
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Optimisation algébrique de requêtes relationnelles
Relations avec les entity beans Michel Buffa UNSA

NFE 107 : Urbanisation et architecture des systèmes d'information
Système de stockage réseaux NAS - SAN
Organisation du système d’information comptable et de gestion
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 contraintes d’integrité
Les BDAs (Les bases de données réparties)
FrontCall - 4C Les Centres de Contacts Virtuels
Contrôles d'accès aux données
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Parcours de formation SIN-7
Introduction à la conception de Bases de Données Relationnelles
Atomicité Transactions Atomiques Recouvrement à Base de Journal
Le Reengineering.
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
Les formes normales.
Le Travail Collaboratif ...
Modèle Logique de Données
SYSTEME DE GESTION DE BASES DE DONNEES
Staf 2x Cours de bases de données
Les concepts et les méthodes des bases de données
Module 3 : Création d'un domaine Windows 2000
1 Protection des arbres multicast avec une forêt duale Mohand Yazid SAIDI Bernard COUSIN Miklós MOLNÁR 15 Février 2006.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
La réplication dans les réseaux mobiles ad hoc
Bases de Données Réparties
Créer des packages.
Définitions Gestion Exemple
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.
Module 9 : Transfert de données. Vue d'ensemble Présentation du transfert de données Outils d'importation et d'exportation de données disponibles dans.
Intégration de schémas
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
Bogdan Shihedjiev - Architectures distribuées 1 Architectures réparties Architecture Client-serveur Two-tied architecture (deux niveaux)
Initiation à la conception des systèmes d'informations
LE DATA WAREHOUSE.
Module 3 : Création d'un domaine Windows 2000
STRUCTURES DES DONNEES. L’ORGANISATION DES DONNEES. BASES DES DONNEES
Les différents modèles d’architecture technique
N.Mellouli-Nauwynck & M.Lamolle1 Intégration de bases de données hétérogènes N.Mellouli-Nauwynck M.Lamolle.
1  G. Gardarin GESTION DE TRANSACTIONS l 2. Journaux et reprise l 3. Scénarios de reprise l 4. Modèles étendus l 5. Cas des systèmes répartis.
No SQL. Sommaire 1. Présentation a) Qu’est ce que le NoSQL b) Un SGBD NoSQL 2. Bornes 3. Outils de veille 4. Article.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Module 1 : Vue d'ensemble de Microsoft SQL Server
Web Services 17/01/2009.
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.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Module 2 : Planification de l'installation de SQL Server
INTRODUCTION AUX BASES DE DONNEES
Introduction aux Bases de Données et au langage SQL
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
ECR (Efficient Consumer Response)
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Cours 11 Entrepôts de données
Haute disponibilité pour les bases de données Osman AIDEL.
module SIE depuis 2011 et IAMD depuis l’an dernier ! Gestion de Masse de Données (GMD) Introduction Adrien Coulet
Transcription de la présentation:

Najib OURADI-Hightech

 « To the user, a distributed system should look exactly like a nondistributed system» (C. Date, Introduction to Database Systems)

 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  Les données sont accédées via des vues intégrées qui permettent des recompositions de tables par union/jointure  SGBD réparti ou SGBD distribué (Distributed DBMS) : Système gérant une collection de BD logiquement reliées, réparties sur différents sites en fournissant un moyen d’accès rendant la distribution transparente  Base de donnée fédérée (Federated BD) Plusieurs BD hétérogènes capables d’interopérer via une vue commune (modèle commun)  Multibase : Plusieurs BD (hétérogènes ou non) capables d’interopérer sans une vue commune (absence de modèle commun)

 Réparties :  Amélioration des performances (placer les traitements à l’endroit où se trouvent les données)  Disponibilité en raison de l’existence de plusieurs copies  Maintient d’une vision unique de la base de données malgré la répartition  Fédération :  Donner aux utilisateurs une vue unique des données implémentées sur plusieurs systèmes a priori hétérogènes (plate-formes et SGBD)  Cas typique rencontré lors de la concentration d’entreprises, faire cohabiter les différents systèmes tout en leur permettant d’interopérer

 On ne met en place une BD répartie qu’en cas  de réel besoin  Démarche de conception délicate  Gestion complexe  L’évolution du SI peut invalider la solution retenue…  Des raisons valables :  Volumes de données, sites distants, etc.  Fusions de SI  Fragilité des infrastructures télécom (backup)

 Transparence pour l’utilisateur  Autonomie de chaque site  Absence de site privilégié  Continuité de service  Transparence vis à vis de la localisation des données  Transparence vis à vis de la fragmentation  Transparence vis à vis de la réplication  Traitement des requêtes distribuées  Indépendance vis à vis du matériel  Indépendance vis à vis du système d’exploitation  Indépendance vis à vis du réseau  indépendance vis à vis du SGBD

 Coût : la distribution entraîne des coûts supplémentaires en terme de communication, et en gestion des communications (hardware et software à installer pour gérer les communications et la distribution);  Problème de concurrence;  Sécurité : la sécurité est un problème plus complexe dans le cas des bases de données réparties que dans le cas des bases de données centralisées;

 Descendante : Top-down (du centralisée au distribuée)  Ascendante Bottom-up ( a partir de SGBDs existants vers des vues intégrées)

… BDR BD2 BD n BD1 décomposition intégration

Table globale fragmentation allocation Site 1Site 2

 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

 Copie de chaque relation sur plusieurs site.  Réplication complète= copie sur tous les sites.  Avantages Disponibilité des données. Augmentation du parallélisme Diminution du coût imposé par les transmissions  Inconvénients Difficulté d’assurer la cohérence des différentes copies. Propagation des mises à jour.

 Elle consiste à découper les relations en sous-relations appelées fragments.  La répartition se fait donc en deux étapes: la fragmentation et l’allocation de ces fragments aux sites intéressés.  Pourquoi fragmenter? Généralement les applications utilisent des sous-ensembles de relations. Une relation entière peut représenter une unité de distribution très grande Utilisation de petits fragments permet de faire tourner plus d’un processus simultanément.  Comment fragmenter? On distingue trois possibilité de fragmentation: Fragmentation Horizontale Fragmentation Verticale Fragmentation Hybride

 Complétude: R fragmentée en R 1 R 2,…,R n chaque élément se trouvant dans R doit figurer dans au moins un fragment R i  Évite les pertes de données pendant la fragmentation  Reconstruction: soit la relation R, F= {R 1, R 2,., R n }  il est toujours possible de reconstruire R en appliquant des opérations sur F  Disjonction – fragments de R contient des sous ensembles de R. R i  R j = .  Garantit l’absence de redondance

 Les fragmentation horizontale concerne les données.  Chaque fragment représente un ensemble de tuples.  Pour fragmenter, on a besoin d’information sur la BD (schéma global,…) et les applications (requêtes utilisées,…).  Les fragments sont définis par des opérations de sélection sur les relations.

 Fragments définis par sélection  Client1 = Client where ville = « Rabat »  Client2 = Client where ville  « Rabat » Reconstruction Client =Client1 U Client2 nclientnomville C 1 C 2 C 3 C 4 Ali Ahmed Nadia Sara Rabat Casa Rabat Fès nclientnomville C 1 C 3 Ali Nadia Rabat nclientnomville C 2 C 4 Ahmed sara Casa Fès Client Client1 Client2

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 D 1 D 2 D 3 D 4 C 1 C 2 C 4 P 1 P 2 P 3 P 4 Cde qté ncde nclient produit D 1 D 2 C 1 P 1 P 2 Cde1 qté ncde nclient produit D 3 D 4 C 2 C 4 P 3 P 4 Cde2 qté 5 10

 La fragmentation concerne le schéma.  Les fragments sont définis par des opérations de projection.  La reconstruction est définie par jointure.  La clé doit être répétée dans chaque fragment.  Pour appliquer la fragmentation verticale, il existe deux possibilités:  Clustering: affecter chaque attribut à un fragment, puis à chaque étape fusionner certains fragments et s’arrêter lors de la satisfaction de certaines conditions.  Splitting: on part de la relations, puis on décide de la partitionner en des fragments en se basant sur des informations concernant les applications et les attributs.

 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 ncde nclient produit D 1 D 2 D 3 D 4 C 1 C 2 C 4 P 1 P 2 P 3 P 4 Cde qté ncde nclient D 1 D 2 D 3 D 4 C 1 C 2 C 4 Cde1 ncde Cde2 P 1 P 2 P 3 P D 1 D 2 D 3 D 4 produit qté

 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

 Supposons qu’on dispose d’un ensemble de fragments F={F1, F2, …Fn} et d’un réseau constitué d’un ensemble de sites S={S1, S2, …Sn}.  Une distribution optimale de F sur S est définie en considérant deux mesures:  Un coût minimal La fonction coût est une combinaison d’un ensemble de coûts: ▪ Coût de stockage de chaque fragment Fi sur un site Sj. ▪ Coût de modification de Fi sur un site Sj. ▪ Coût d’interrogation de Fi sur un site Sj. ▪ Coût de communication.  Une meilleure performance Minimiser le temps de réponse.

P 1 P D 1 D 2 C 1 Cde1 ncde clientproduit D 3 D 4 C 2 C 4 P 3 P 4 Cde2 qté 5 10 nclientnom ville C 1 C 3 Ali Nadia Rabat C 2 C 4 Ahmed Sara Casa Fes Client1 Client2 nclientnomville Site 1 Site 2 ncde clientproduit qté

FRAGMENTATION ALLOCATION Relation Globale Relations locales Fragments

 Hétérogénéité « sans problème »  SE et réseau : géré par SGBD (si « bon » SGBD)  Version de SGBD : niveau de SGBD le plus ancien  Hétérogénéité plus délicate  SGBD : problème des dialectes de SQL  passerelles entre SGBD : ▪ Ex : ODBC (au départ sous Windows mais porté sous d’autres OS) ▪ Ex : passerelles propriétaires SGBD à SGBD

 On dispose de différentes bases de données (les schémas locaux) et on veut les intégrer pour construire un schéma global.  L’intégration des bases de données peut être effectuée en deux étapes: la traduction des schémas et l’intégration des schémas. Traducteur1Traducteur2Traducteur n Intégrateur SCG BD1BD2BDn

 Transformer le schéma local en un autre schéma.  Exemple: transformer un schéma en modèle réseau en un schéma en modèle relationnel Schémas intermédiaires  Pré-intégration - Identification des éléments reliés (e.g. domaines équivalents) et établissement des règles de conversion (e.g. 1 inch =2.54 cm).  Comparaison - Identification des conflits de noms (synonymes, homonymes) et des conflits structurels(clé, dépendances,…).  Conformance - Résolution des conflits de noms (renommage) et des conflits structurels (changements des clés…)  Fusion et Restructuration - Fusion des schémas intermédiaires et restructuration pour créer un schéma intégré optimal..

 Passage par un modèle commun AvantagesInconvénients -Développement d’un seul traducteur par SGBD. -Simplification de la modélisation. -Transparence. - Difficulté de définir un modèle canonique aussi riche que les modèles locaux. -Temps de réponse accru pour les interrogations locales.

Fragmentation Optimisation Schéma de fragmentation Schéma d'allocation Requête sur tables globales Requête sur fragments Plan d'exécution réparti

Fragmentation Optimisation R = R1 U R2 Select A from R where B = b Select A from R1 where B =b union Select A from R2 where B = b Select A from Site1 where B = b union Select A from Site2 where B = b R1 = Site1 R2 = Site2

 Minimiser une fonction coût :  Fonction générale Où (n : nombre de sites impliqués)  Autres : Tenir compte  du parallélisme  des coûts des transferts  des profils des fragments (Taille, nombre de n-uplets, etc.)  de la taille des résultats intermédiaires  de l’instant de l’optimisation (compilation/exécution)  de la topologie du réseau  du coût de l’optimisation, etc.

 Décisions incluses dans le plan d’exécution  Ordre des jointures  Stratégie de jointure  Sélection des copies (site le plus proche, le moins engorgé)  Choix des sites d’exécution (coûts des communications)  Choix des algorithmes d’accès répartis  Choix du mode de transfert (tuple/tuple, paquets)

application Gérant de Transactions Globales Gérant de Transactions Locales Gérant de Transactions Locales résultats Begin Read Write Abort Commit STrans.

 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  Objectif : Exécuter la commande COMMIT pour une transaction répartie  Préparer ▪ Le coordinateur demande aux autres sites s’ils sont prêts à valider leurs mises à jour.  Succès : Valider (Commit) ▪ Tous les participants effectuent leur validation sur ordre du client.  Echec : Annuler (Rollback) ▪ Si un participant n’est pas prêt, le coordinateur demande à tout les autres sites de défaire la transaction.  REMARQUE  Le protocole nécessite la journalisation des mises à jour préparées et des états des transactions dans un journal local à chaque participant.

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

préparer prêt valider fini préparer prêt valider fini P1 P2 Coordinateur

timeout abandon panne reprise } prêt                 fini fini préparer P1P2 Coordinateur

      } fini reprise panne prêt préparer P1P2 Coordinateur prêt fait valider prêt timeout

préparer fini prêt valider fini       prêt valider  préparer prêt P1P2 Coordinateur

 TP est le standard proposé par l’ISO dans le cadre OSI  Protocole arborescent  Tout participant peut déclencher une sous- transaction  Un responsable de la validation est choisi  Un coordinateur est responsable de ses participants pour la phase 1 ▪ collecte les PREPARE ▪ demande la validation  Le point de validation est responsable de la phase 2 ▪ envoie les COMMIT Coordinateur local Point de validation (Noeud critique) Coordinateur local