Conception de BD réparties Fragmentation et réplication

Documents pareils
Module BDR Master d Informatique (SAR)

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

TP Bases de données réparties

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Réplication des données

Bases de données réparties: Fragmentation et allocation

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Notes de cours : bases de données distribuées et repliquées

Les bases de données

Base de données II Module 3b

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

Bases de Données Réparties

Gestion de données réparties. Cours 1

Intégrité des données

Architectures d'intégration de données

Intégration de données hétérogènes et réparties. Anne Doucet

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Cours Bases de données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de Données relationnelles et leurs systèmes de Gestion

CESI Bases de données

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de données et sites WEB

Chapitre 10. Architectures des systèmes de gestion de bases de données

Bases de données et sites WEB Licence d informatique LI345

Bases de Données Avancées

Cours Base de données relationnelles. M. Boughanem, IUP STRI

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

UML et les Bases de Données

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de Données. Plan

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Partie II Cours 3 (suite) : Sécurité de bases de données

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Gestion des identités Christian-Pierre Belin

et les Systèmes Multidimensionnels

Langage SQL : créer et interroger une base

CREATION WEB DYNAMIQUE

TP Contraintes - Triggers

Configuration de SQL server 2005 pour la réplication

Le modèle client-serveur

Présentation du module Base de données spatio-temporelles

Bases de Données OLAP

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Administration des bases de données. Jean-Yves Antoine

Bases de Données Avancées

Le Langage SQL version Oracle

Bases de données réparties et fédérées

Gestion des utilisateurs et de leurs droits

Chapitre 1 : Introduction aux bases de données

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

SQL Server 2012 et SQL Server 2014

Les Entrepôts de Données

Le Langage De Description De Données(LDD)

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Un concept multi-centre de données traditionnel basé sur le DNS

Cours Bases de données 2ème année IUT

Bases de données avancées Introduction

Java et les bases de données

Les bases de l optimisation SQL avec DB2 for i

Bases de données Cours 1 : Généralités sur les bases de données

Compétences Business Objects

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Introduction au Système de Gestion de Base de Données et aux Base de Données

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

Bases de données élémentaires Maude Manouvrier

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Datawarehouse and OLAP

CHAPITRE 1 ARCHITECTURE

INTRODUCTION : Données structurées et accès simplifié

Département Génie Informatique

et Groupe Eyrolles, 2006, ISBN :

Bases de données - Modèle relationnel

Module BDR Master d Informatique (SAR)

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Implémentation des SGBD

Introduction aux Bases de Données Relationnelles Conclusion - 1

Sujet Solution de sauvegarde de serveurs et postes de travail avec BackupPC et Bacula. par ALIXEN

Bases de données cours 1

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Master Exploration Informatique des données DataWareHouse

1. Base de données SQLite

I4 : Bases de Données

Le langage SQL Rappels

Session S12 Les bases de l optimisation SQL avec DB2 for i

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs

La replication dans PostgreSQL

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Gestion des transactions et accès concurrents dans les bases de données relationnelles

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Transcription:

Master d Informatique BDR - 4I803 COURS 5 Conception de BD réparties Fragmentation et réplication 2016 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et verticale Outils d interface SGBD extracteurs, passerelles Réplication SGBD répartis hétérogènes 2 Page 1

BD réparties (1) Principe : Un site héberge une BD : accès local rapide, interne au site. Accès global possible à des BD situées sur des sites externes Plusieurs niveaux d intégration (ordre croissant d intégration) : 1. Client/serveur : BD centralisée, seuls certains traitements (interface, p.ex.) sont locaux. 2. Accès distant (Remote Data Access) 3. Vues réparties : extension du mécanisme de vues pour définir des vues sur plusieurs sites. 4. médiateurs 5. BD réparties/fédérées 3 BD Réparties (2) BD réparties : Plusieurs bases sur plusieurs sites, mais une seule BD «logique». Fédérée : intègre des bases et des schémas existants Répartie «pur» : conçue répartie. Pas d accès locaux Les ordinateurs (appelés sites) communiquent via le réseau et sont faiblement couplés pas de partage de MC, disque, au contraire de BD parallèles Chaque site contient des données de la base, peut exécuter des transactions/requêtes locales et participer à l exécution de transactions/requêtes globales 4 Page 2

SGBD réparti SGBDR SGBD1 SGBD2 Rend la répartition (ou distribution) transparente dictionnaire des données (catalogue, métabase) réparties traitement des requêtes réparties gestion de transactions réparties gestion de la cohérence et de la sécurité 5 Paramètres à considérer Coût et temps de communication entre deux sites Accès réseau (longue distance, WAN, MAN) beaucoup plus coûteux que accès disque Fiabilité fréquence des pannes des sites, du réseau (cf. P2P) Accessibilité aux données accès aux données en cas de panne des sites, du réseau. accès aux sites les moins encombrés, les plus puissants 6 Page 3

Evaluation de l'approche BDR avantages extensibilité partage des données hétérogènes et réparties performances avec le parallélisme Disponibilité et localité avec la réplication inconvénients administration complexe complexité de mise en œuvre distribution du contrôle surcharge (l échange de messages augmente le temps de calcul) 7 Architecture de schémas application 1 application 2 Schéma global Schéma local 1 Schéma local 2 Schéma local 3 indépendance applications / bases locales schéma global lourd à gérer 8 Page 4

Schéma global Schéma conceptuel global description globale et unifiée de toutes les données de la BDR Nom des relations avec leurs attributs Fournir l'indépendance à la répartition Schéma de placement règles de correspondance avec les données locales Vues globales définies sur les relations locales (cf. global as view) Fournit l'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é) 9 Migration vers une BDR : 2 approches Intégration logique des BD locales existantes (fédérée, médiateur) BD Préserver l autonomie BD1 BD2 BD3 Décomposition en BD locales : répartie «pur» En fonction des accès prévus BD BD1 BD2 BD3 10 Page 5

Intégration de BD existantes BD BD1 BD2 BD3 11 Approche médiateur Conception d'une BDR par intégration BD1 BD2 BD3 Traduction de schémas (si hétérogènes) Traducteur 1 (wrapper) Traducteur 2 Traducteur 3 S local 1 S local 2 S local 3 Intégration de schémas Intégrateur Schéma Global 12 Page 6

Intégration de schémas 1. pré-intégration Les schémas sont transformés pour les rendre plus homogènes identification des éléments reliés (e.g. domaines équivalents) et établissement des règles de conversion (e.g. 1 inch = 2,54 cm) Pbs : hétérogénéité des modèles de données, des puissances d expression, des modélisations 2. comparaison identification des conflits de noms (synonymes et homonymes) et des conflits structurels (types, clés, dépendances) 3. conformance résolution des conflits de noms (renommage) et des conflits structurels (changements de clés, tables d'équivalence) Définition de règles de traduction entre le schéma intégré et les schémas initiaux. 13 Architecture fédérée application 1 application 2 Schéma fédéré 1 Schéma fédéré 2 Schéma local 1 Schéma local 2 Schéma local 3 moyen contrôlé de migration 14 Page 7

Décomposition BD BD1 BD2 BD3 15 Conception par décomposition Table globale fragmentation allocation réplication Site 1 Site 2 16 Page 8

Objectifs de la décomposition Fragmentation Trois types : horizontale, horizontale dérivée, verticale Possibilité de composer plusieurs fragmentations: mixte Performances en favorisant les accès (et traitements) locaux Equilibrer la charge de travail entre les sites (parallélisme) Contrôle de concurrence plus simple pour les accès à un seul fragment Trop fragmenter : BD éclatée, nombreuses jointures réparties Duplication (ou réplication) favoriser les accès locaux augmenter la disponibilité des données Trop répliquer : surcoût de maintenir cohérence des répliques 17 Types de Fragmentation horizontale verticale Clé = attribut commun horizontale dérivée 18 Page 9

Fragmentation Mixte horizontale verticale verticale horizontale 19 Fragmentation correcte Complète chaque élément de R doit se trouver dans un fragment Reconstructible on doit pouvoir recomposer R à partir de ses fragments (ressemble à décomposition de schéma vue en Li341 pour fragmentation verticale) [Disjointe] /*si on veut éviter réplication pour cohérence */ chaque élément de R ne doit pas être dupliqué (sauf clé en cas de fragmentation verticale) 20 Page 10

Fragmentation Horizontale Fragments définis par sélection Client 1 = σ ville = 'Paris' Client Client 2 = σ ville 'Paris' Client Inférence : correcte Reconstruction par union Client = Client 1 Client 2 En SQL : create view Client as select * from Client 1 union select * from Client 2 Client nclient nom ville C 2 C 3 C 4 Client1 Dupont Martin Martin Smith Paris Lyon Paris Lille nclient nom ville C 3 Client2 Dupont Martin Paris Paris nclient nom ville C 2 C 4 Martin Smith Lyon Lille 21 Fragmentation Horizontale par sélection Fragmentation de R selon n prédicats les prédicats {p 1,, p n } ex: {a<10, a > 5, b= x, b= y } L ensemble M des prédicats de fragmentation est : M = { m m = 1 k n p k * } avec p k * {p k, p k } Eliminer les m de sélectivité nulle ex: a>10 a < 5 Simplifier: a<10 a 5 b= x b y devient a 5 b= x Construire les fragments {R 1,, R k } Pour chaque m i, R i = σm i (R) Minimalité Ne pas avoir 2 fragments toujours lus ensemble Choisir les p i des requêtes les plus fréquentes Ref biblio récente (2015) sur la fragmentation et le choix des fragments optimaux. Regroupement hiérarchique d'ensembles de nuplets issus de requêtes fréquentes. Waterloo Univ: G. Aluç, M. T. Özsu, K. Daudjee and O. Hartig. "Executing Queries over Schemaless RDF Databases", ICDE 2015 (Int'l Conf. on Data Engineering) Page 11

Fragmentation Horizontale Dérivée Fragments définis par semi jointure Cde1 = select Cde.* from Cde, Client 1 where Cde.nclient = Client1.nclient Cde i = Cde Client i pour i dans{1; 2} Reconstruction par union Cde ncde nclient produit D 1 D 2 D 3 D 4 Cde1 C 2 C 4 P 1 P 2 P 3 P 4 ncde nclient produit D 1 D 2 Cde2 P 1 P 2 ncde nclient produit qté 10 20 5 10 qté 10 20 qté Cde = Cde 1 Cde 2 = i Cde i D 3 D 4 C 2 C 4 P 3 P 4 5 10 23 Propriétés de la fragmentation horizontale dérivée R: fragmentation horizontale fragments R i S: fragmentation horizontale dérivée fragments S i = S A R i Complète Chaque tuple de S doit joindre avec au moins un tuple de R s S, t S i, s = t Disjointe i,j tq i j, S i S j = (S R i ) (S R j ) = S (R i R j ) = Rappel: R1 R2 R1 R2 Reconstructible i S i = (S R 1 ) (S R 2 ) (S R n ) = S ( i R i ) = S contrainte d intégrité référentielle A = clé de R S.A référence R.A s S, r R, s.a = r.a Page 12

Fragmentation Verticale Fragments définis par projection Cde1 = π ncde, nclient Cde Cde2 = π ncde, produit, qté Cde Cde ncde nclient produit D 1 D 2 D 3 D 4 C 2 C 4 P 1 P 2 P 3 P 4 qté 10 20 5 10 Reconstruction par jointure Cde = Cde1 Cde2 En SQL : create view Cde as select * from Cde 1,Cde 2 where Cde 1.ncde = Cde 2.ncde Cde1 ncde D 1 D 2 D 3 D 4 nclient C 2 C 4 Cde2 ncde D 1 D 2 D 3 D 4 produit P 1 P 2 P 3 P 4 qté 10 20 5 10 25 Fragmentation Verticale Comment définir une fragmentation verticale? Affinité des attributs : mesure la proximité sémantique des attributs (combien «ils vont ensembles») Soit par connaissance de l application, soit par analyse des requêtes (on mesure combien de fois deux attributs donnés ont été interrogé ensembles) Résultat sous forme de matrice d affinité 2 approches : regroupement, partitionnement (grouping splitting) Idem que pour optimisation de schéma relationnel SPI, SPD Algorithme de regroupement des attributs bien adapté BEA : bond energy algorithm (Mc Cormick et al. 72) : O(n 2 ) insensible à l ordre de départ des attributs Part des attributs individuels et effectue des regroupements de groupes Algorithme de partitionnement : Part d une relation et observe le bénéfice qu on peut tirer à partitionner 26 Page 13

Matrice d affinité des attributs Matrice A aij = affinité de Ai avec Aj ex: nb de requêtes qui accèdent Ai et Aj A1 A2 A3 A4 A1 45 0 45 0 A2 80 5 75 A3 53 3 A4 78 Matrice A Matrice d affinité regroupement des attributs A1 A3 A2 A4 A1 45 45 0 0 A3 53 5 3 A2 80 75 A4 78 Page 14

Allocation des Fragments aux Sites Non-répliqué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 : coûteux (le fameux) Compromis Lecture/écriture: + le ratio Lectures/màj est > 1, + la duplication est avantageuse 29 Allocation de Fragments Problème: Soit F un ensemble de fragments S un ensemble de sites Q un ensemble d applications et leurs caractéristiques trouver la distribution "optimale" de F sur S Optimum coût minimal de communication, stockage et traitement Performance = temps de réponse ou débit Solution allouer une copie de fragment là où le bénéfice est supérieur au coût 30 Page 15

Exemple d'allocation de Fragments Client1 nclient nom ville C 3 Dupont Martin Paris Paris Client2 nclient nom ville C 2 C 4 Martin Smith Lyon Lille Cde1 = Cde >< Client1 ncde client produit qté D 1 D 2 P 1 P 2 10 20 Cde2 ncde client produit D 3 D 4 C 2 C 4 P 3 P 4 qté 5 10 Site 1 Site 2 31 Exemple Trois universités parisiennes (Jussieu, Sorbonne, Dauphine) ont décidé de mutualiser leurs équipements sportifs (locaux) et les entraîneurs. La gestion commune est effectuée par une base de données répartie, dont le schéma global est le suivant : PROF (Idprof, nom, adresse, tél, affectation, salaire) ETUDIANT (Idetu, nom, adresse, assurance, police, université, équipe) LOCAUX (Idlocal, adresse, université) EQUIPE (équipe, sport, niveau) HORAIRE (Idlocal, équipe, jour, heure_début, heure_fin, prof) Chaque université rémunère ses profs en envoyant un chèque à leur adresse, mais aussi elle doit pouvoir contacter tout prof qui utilise ses locaux. Chaque équipe correspond à un sport. La plupart des équipes ont droit à un (seul) créneau (jour, heure) dans un des locaux communs pour leur entrainement. Cependant, pour le sport «cyclisme», il n y pas besoin de locaux. Chaque université gère évidemment ses propres étudiants, ainsi que ses locaux et les créneaux correspondants. Les équipes ne sont associées à aucune université en particulier. Cependant, pour des questions d assurance, chaque université doit aussi gérer les étudiants qui utilisent ses locaux. Pour le cyclisme, c est Dauphine qui en a la charge. 32 Les relations globales sont fragmentées et réparties sur les différents sites. Page 16

Données réparties avec Oracle : Database link Lien à une table dans une BD distante spécifié par : nom de lien nom de l'utilisateur et password Infos de connexion (protocole client-serveur d'oracle) Exemple de syntaxe : create database link Site2 connect to E1234 identified by "E1234" using 'ora10'; Create synonym Emp2 for Emp@Site2; Ou Create view Emp2 as select * from Emp@Site2; Vue répartie 33 Outils d'interface SGBD Passerelle procédure données Select SQL résultat Réplicateur données Select copie1 copie2 Extracteur données Transformation table 34 Page 17

Passerelles Fonctions définition des procédures de transformation (dictionnaire) et exécution dans l'environnement cible conversion de formats et de valeurs filtrage et fusion de fichiers ou de tables données calculées et résumés 35 La réplication Plan: Objectifs Fonctions Modèles d'appartenance fixe, dynamique ou partagé Détection des modifications 36 Page 18

Objectifs de la réplication + Accès simplifié, plus performant pour les lectures + Résistance aux pannes + Parallélisme accru + Evite des transferts - Overhead en mise à jour - Cohérence des données - Toujours bien si on privilégie les lectures et/ou si peu de conflit entre màj 37 Objectifs de la réplication Problème : comment partager des données entre p sites? Solution 1 : sans duplication stockage sur un site et accès réseau depuis les autres sites problèmes de performances et de disponibilité Solution 2 : duplication synchrone propagation des mises à jour d'un site vers les autres par une transaction multisite avec validation 2PC ou communication de groupe problèmes liés au 2PC : bloquant et cher. Communication de groupe seulement pour LAN Solution 3 : réplication asynchrone Aussi mono-maître,multi-maîtres Non bloquant mais uniquement cohérence à terme Contrôle de la fraîcheur, traitement spécifique des requêtes read-only 38 Page 19

Fonctions d'un réplicateur Définition des objets répliqués table cible = sous-ensemble horizontal et/ou vertical d'une ou plusieurs tables Définition de la fréquence de rafraîchissement immédiat (après mise à jour des tables primaires) à intervalles réguliers (heure, jour, etc.) à partir d'un événement produit par l'application Rafraîchissement complet ou partiel (propagation des modifications) push (primaire -> cibles) ou pull (cible -> primaire) Réplication Monomaître Seul le site primaire peut recevoir les transactions des applications insert, update, delete les sites cibles ne reçoivent que des requêtes en lecture seule select Diffusion primaire cible1 cible2 Consolidation primaire1 cible primaire2 40 Page 20

Monomaitre avec appartenance dynamique Le site primaire peut être différent au cours du temps, en fonction d'événements: panne d'un site, état de la données, etc. Appartenance à l'instant t1 primaire cible1 cible2 Appartenance à l'instant t2 cible2 primaire cible1 41 Propagation des mises à jour Propagation gérée par le SGBD réparti Synchronisée, ou non, avec la transaction Page 21

Propagation synchrone Avant la validation de la transaction L application obtient une réponse APRES la propagation 1) transaction locale 2) propagation 3) validation 4) réponse Propagation : nb de messages échangés entre sites Immédiate après chaque opération (L,E) 1 message par opération (L/E): interaction linéaire Différée juste avant la fin de la transaction 1 message par transaction : interaction constante Contenu du message: SQL ou Log Validation: décision prise par plusieurs sites (vote, ex 2PC) par chaque site séparément (sans vote) Propagation asynchrone L application obtient une réponse AVANT la propagation 1) transaction locale 2) validation locale 3) réponse 4) propagation 5) validation Etapes (1,2,3) indépendantes de (4,5) Page 22

Réplication multi-maîtres Plusieurs maîtres pour une donnée (R1, R2) Mises à jour sur R1 et R2 Pb: propagation des mise à jour: Les mises à jour de R sont réparties sur plusieurs maîtres R1, Rn Une réplique (r) doit recevoir toutes les mises à jour reçues par les maîtres Réplication Multimaîtres Une donnée appartient à plusieurs sites, qui peuvent chacun mettre à jour et diffuser aux autres sites augmente la disponibilité Optimiste : peut produire des conflits, qui doivent être détectés et résolus Préventif : éviter les conflits primaire1 primaire2 primaire3 46 Page 23

Classification des solutions Monomaître / Multimaîtres Asynchrone / Synchrone Synchrone : avec intéraction constante / linéaire Asynchrone : optimiste / pessimiste Validation: avec vote / sans vote Rmq Primary copy = Monomaître Update Everywhere = Multi-maître Eager Replication = Repl. avec propagation synchrone Lazy Replication = Repl. avec propagation asynchrone Détection des modifications Solution 1 : utilisation du journal les transactions qui modifient écrivent une marque spéciale dans le journal détection périodique en lisant le journal, indépendamment de la transaction qui a modifié modification de la gestion du journal Solution 2 : utilisation de triggers la modification d'une donnée répliquée déclenche un trigger mécanisme général et extensible la détection fait partie de la transaction et la ralentit Solution 3: détecter les conflit potentiels (a priori) Parser le code (pas possible pour transactions interactives) Graphe d ordonnancement global 48 Page 24

Réplication totale vs. partielle Evaluation de requêtes, gestion du répertoire (catalogue) Le plus facile est réplication totale Réplication partielle ou fragmentation: difficulté. équiv. Contrôle de concurrence Fragmentation > répli. totale > répli. Partielle (+difficile) Fiabilité Répli. totale > répli. partielle >> fragmentation Réalisme : le plus réaliste est réplication partielle 49 Conclusions et perspectives Applications classiques décisionnel (data warehouse) transactionnel Applications nouvelles intégration de données du Web grand nombre de sources hétérogénéité très forte intégration des données semistructurées (HTML, XML) intégration de la recherche documentaire Intégration de services Web (ex. agence de voyage) 50 Page 25