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



Documents pareils
Module BDR Master d Informatique (SAR)

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

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

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

Gestion de données réparties. Cours 1

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

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

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

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

TP Bases de données réparties

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

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

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

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

Cours Bases de données

Bases de données avancées Introduction

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

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

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

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

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

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

CESI Bases de données

Introduction aux bases de données Cours 1 : Généralités sur les 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)

Architectures d'intégration de données

INTRODUCTION AUX BASES de DONNEES

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

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

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

Bases de Données. Plan

Implémentation des SGBD

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

//////////////////////////////////////////////////////////////////// Administration bases de données

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Module BDR Master d Informatique (SAR)

Le modèle client-serveur

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

WEA Un Gérant d'objets Persistants pour des environnements distribués

Les Entrepôts de Données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

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

Le langage SQL Rappels

Bases de données cours 1

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

et les Systèmes Multidimensionnels

Systèmes d information et bases de données (niveau 1)

Introduction aux SGBDR

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Java et les bases de données

1 Introduction et installation

Chapitre 1 : Introduction aux bases de données

Bases de Données Réparties

Introduction aux Bases de Données

Le Langage SQL version Oracle

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

Bases de données relationnelles

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

Enterprise Intégration

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Les bases de données

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Langage SQL : créer et interroger une base

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

MYXTRACTION La Business Intelligence en temps réel

Optimisations des SGBDR. Étude de cas : MySQL

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Mercredi 15 Janvier 2014

Les bases de données Page 1 / 8

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

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

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

L objet de cet article est de présenter succinctement ces possibilités.

2 Serveurs OLAP et introduction au Data Mining

Introduction aux Bases de Données Relationnelles Conclusion - 1

UE 8 Systèmes d information de gestion Le programme

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Architectures web/bases de données

Bases de données relationnelles : Introduction

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

PROJET 1 : BASE DE DONNÉES REPARTIES

Le passage à l échelle de serveur J2EE : le cas des EJB

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

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

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

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Module BD et sites WEB

CORBA haute performance

4.2 Unités d enseignement du M1

Bases de données - Modèle relationnel

A QUOI SERVENT LES BASES DE DONNÉES?

CHAPITRE 1 ARCHITECTURE

Le langage SQL (première partie) c Olivier Caron

Transcription:

Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : nakech@free.fr Chapitre 1 1. Introduction : Notion de Bases de données 2. Définition : BD Répartie 3. Architecture des SGBD 4. Conception des bases réparties 5. Evaluation de requêtes réparties 6. Notion de Transaction Répartie 7. Les produits industriels des SGBDR

gestion de données Introduction : Rappel - Bases de données conception et modélisation système(logiciel) Gestion de données : Qu'est-ce qu'une BD? Collection de données structurées reliées par des relations Interrogeable et modifiable par des langages de haut niveau Modélisation des données Eliminer la redondance de données Centraliser et organiser correctement les données Outils de conception Logiciel «Système de Gestion de Bases de Données» Interrogation, cohérence, partage, gestion de pannes, etc Administration facilitées des données 1.2

Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition. BD centralisée BD client/serveur BD client/multi-serveurs BD répartie BD hétérogène BD mobile BD parallèle 1.3

Architecture centralisée Terminaux passifs réseau Appli 1 Appli 2 Appli n Mainframe SGBD données 1.4

Architecture client-serveur Clients intelligents Appli 1 Appli 2 Appli n réseau serveur SGBD code données 1.5

Architecture Client- Multiserveurs SQL Appli 1 SQL ODBC ODBC SQL SQL SGBD 1 SGBD 2 code données code données 1.6

Architecture répartie Appli 1 Appli 2 Appli n SGBD 1 SGBD 2 code données code données 1.7

Architecture mobile Clients intelligents mobiles Données répliquées et/ou personnelles Réseau sans fil serveur SGBD code données 1.8

BD parallèle BD parallèle = Techniques des bases de données + Parallélisme et architecture parallèle Cette option permet d exécuter certains ordres SQL en parallèle Il faut bien entendu avoir une machine multiprocesseur pour en tirer avantage. ORACLE PARALLEL CREATE TABLE tablename (...) PARALLEL 4; 4 spécifie le nombre de processus qui peuvent parcourir la table en parallèle 1.9

2. Définition : BD Répartie 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 assurent la transparence à la localisation permettent des recompositions de tables par union/jointure 1.10

Exemple Une application gère une coopérative vinicole dont le schéma conceptuel est le suivant : Producteurs commande Buveurs vins produit Une implémentation centralisée de ce schéma donne le schéma relationnel suivant : Buveurs (nb, nom, prénom, ville) Commandes (nb, nv, date, qté) Vins (nv, cru, année, degré) Producteurs (np, nom, région) Produit (nv, np, qté) 1.11

Si on suppose que cette base de données est gérée par 3 sites : localisés à Paris, Bordeaux, et Dijon, on peut envisager une gestion par un schéma relationnel comme suit : PARIS Buveurs commandes Bordeaux Dijon Vins vins producteurs producteurs produit produit 1.12

Quelques définitions complémentaires BD interpérables : BD capable d échanger des données en comprenant mutuellement ce qu elles représentes Exemple : La création d une table dynamique d Access liée à une table Oracle via ODBC Multibase : Plusieurs bd hétérogènes capable d interopérer avec une application via un langage (ou interface) commun (sans modèle commun) Exemple : BD fédérée : Plusieurs bd hétérogènes accédées comme une seule via une vue commune (avec modèle commun). Exemple : 1.13

Exemples (Multibase, BD fédérée) Commentaires Système légataire : stocke les données de gestion de l'entreprise, Bases de données techniques : Cette base décrit les produits fabriqués et leurs composants, base de données textuelles : contient par exemple les manuels d'opérations. bases de données géographiques : Cette BD décrit la localisation des usines et des clients. 1.14

Système de GBD réparti (SGBDR) SGBDR SGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution) transparente Définition des données réparties : Cohérence des données ---> dictionnaire des données réparties traitement des requêtes réparties ---> Requête distribuée : Requête émise par un client dont l exécution nécessite l exécution de n sous requêtes sur n serveur (n > 1) gestion de transactions réparties gestion de la cohérence et de la sécurité Autonomie locale des sites Support de l hétérogénéité 1.15

Evaluation de l'approche BDR avantages Extensibilité partage des données hétérogènes et réparties performances avec le parallélisme (d accès) Disponibilité des données à sur plusieurs sites (avec la réplication) inconvénients administration complexe distribution du contrôle surcharge (l échange de messages augmente le temps de calcul) 1.16

3. Architecture de schémas Deux approches : Schéma global Schéma fédéré application 1 application 2 Schéma global Schéma local 1 Schéma local 2 Schéma local 3 1.17

Schéma global schéma conceptuel global 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é) 1.18

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

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 1.20

Exemple de schéma fédéré On considère deux bases de données : La première est la BD préfecture composée de 3 tables : (Installée sur le site 1) PERSONNE (NOM, PRÉNOM, ADRESSE,...) VOITURE (N-VEH, MARQUE, TYPE,... ) CONDUCTEUR (N-PERS, N-VEH, NBACC,...) La deuxieme est la BD SAMU composée de 2 tables (Installée sur le site 2) ACCIDENT (N-ACC, DATE, DEPT, N-VEH, N-PERS,...) BLESSÉ (N-ACC, N-PERS, GRAVITÉ,...) Une application a besoin de la requête suivante : On souhaite trouver la Liste des blessés graves dans une R18 dans la préfecture du site 1 Solution : 1.21

Pour migration vers une BDR la question qui se pose ici est comment répartir les données et comment on peut les reintégrer : - Décomposition en BD locales - Intégration logique des BDs locales existantes BDR décomposition intégration BD1 BD2 BD n 1.22

Méthode de conception d une BD répartie METHODE DESCENDANTE -> Schéma conceptuel global de la base -> Fragmentation des relations -> Allocation des fragments METHODE ASCENDANTE -> N schémas conceptuels locaux -> Intégration des n vues locales afin d'obtenir un unique schéma conceptuel global -> Modification éventuelle de la fragmentation et de la réplication 1.23

METHODE DESCENDANTE : Conception par décomposition Table globale fragmentation allocation Site 1 Site 2 1.24

Exemple 1.25

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 1.26

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 Martin Smith Paris Lyon Paris Lille Client1 nclient nom ville Reconstruction Client =Client1 U Client2 C 1 C 3 Client2 Dupont Martin Paris Paris nclient nom ville C 2 C 4 Martin Smith Lyon Lille 1.27

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

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

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 1.30

Exemple d'allocation de fragments Client1 nclient nom ville C 1 C 3 Dupont Martin Paris Paris Client2 nclient nom ville C 2 C 4 Martin Smith Lyon Lille Cde1 ncde client produit qté D 1 D 2 C 1 C 1 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 1.31

METHODE ASCENDANTE : Création d'un schéma unique partant de plusieurs schémas Conception BDR par intégration BD1 BD2 BD3 Traduction de schémas Traducteur 1 Traducteur 2 Traducteur 3 S local 1 S local 2 S local 3 Intégration de schémas Intégrateur Schéma Global 1.32

Les étapes La création d'un schéma unique passe par les quatre étapes suivantes : 1. 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) 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, 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. 4. fusion et restructuration fusion des schémas intermédiaires et restructuration pour créer un schéma intégré optimal. Exemple : Exercice 1 de TD1 1.33

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

Exemple : On considère le schéma relationnel suivant : - Produit(NP, Designation, PrixUnit,...) - Client(NCL, Nom, Ville) - Commande(NP, NCL, Date, Qte,...) On cherche à exécuter la requête : select NCL,Nom,Date, Sum(Qte*PrixUnit) from (Cmd join Client using (NCL)) join Produit using (NP) group by NCL,Nom,Date; L implementation de la BD repartie est comme suite : 1.35

On sait que les commandes concernent les produits qui sont enregistrer dans le site3 et le site 4 (produit1). L exécution de cette requête peut se faire par le schéma : 1.36

La fragmentation de l arbre d exécution donne : 1.37

Allocation des fragments de l arbre 1.38

Plan d exécution d une requête repartie ensemble des Sous-Requêtes sur les schémas locaux et des opérations de transferts des résultats intermédiaires. L objectif est de recherche un plan d exécution de coût minimal Coût = f ( temps de réponse, $ ) est une fonction sur l espace des plans d exécution Coût = a*coût CPU + b*coût ES + d*coût Comm En WAN, le coût de communication est majoritaire d*coût Comm >> a*coût CPU + b*coût ES 1.39

6. Notion de Transaction Répartie (un chapitre concernant cette partie est assurée par B. Sadeg) Begin Read Write Abort Commit application résultats Gérant de Transactions Globales STrans. STrans. Gérant de Transactions Locales Gérant de Transactions Locales 1.40

7. Les produits industriels des SGBDR Sur pc SQL Server 2000, Sybase (Mode réparti, Two-phase commit, Triggers, Librairie de fonctions enrichie, Intégrité des données) Informix(Consultation multiserveur) Ingres(Mode réparti avec : Ingres Star, 2 phases commit). MS ACCESS Sur mainframe DB2 : Transaction distribuée, Définition de données global gestion d intégrité des données externes, Données externe (non DB2) Oracle 1.41

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

8. Database link (sous oracle) Lien à une table dans une BD distante Syntaxe : SQL> CREATE [PUBLIC] DATABASE LINK <nom de lien de base de données> [CONNECT TO <utilisateur oracle> IDENTIFIED BY <mot de passe utilisateur oracle distant>] USING '<chaîne de connection>' ; 'chaîne de connection' est une chaîne de connexion SQL*NET définie dans le fichier (tnsnames.ora). Exemple : la chaîne de connection 'db2' peut être définie comme suite : db2=(description= (ADDRESS_LIST = (ADDRESS=(PROTOCOL=TCP) (HOST=193.48.166.221)(PORT= 1521))) (CONNECT_DATA= (SID=distante_db))) Exemple de creation de lien : CREATE [PUBLIC] DATABASE LINK nomdb CONNECT TO scott IDENTIFIED BY tiger USING 'db2' ; select * from Emp@nomdb; Synonyme: pseudo table locale = table distante Exemple : create synonym Emp_db2 for Emp@nomdb; select * from Emp_db2 1.43

Autres requêtes et exemple relatives à Database link SQL> decribe dba_db_links; SQL> select owner, db_link, username from dba_db_links; exemple SQL> CREATE DATABASE LINK compta_bordeaux CONNECT TO compta IDENTIFIED BY xyz USING 'la_base_de_bordeaux' ; SQL> SELECT * FROM balance@compta_bordeaux ; -- on peut le rendre transparent grace aux synonymes SQL> CREATE SYNONYM balance FOR balance@compta_bordeaux ; SQL> SELECT * FROM balance ; Références G. Gardarin, O. Gardarin, Le Client-Serveur, Eyrolles, 2e édition, 1996 Bases de données : Introduction et Objectifs, G. Gardarin et L. Bouganim, support de cours, http://georges.gardarin.free.fr/ S. Miranda, A. Ruols, Client-Serveur, Moteurs SQL, middleware, et architectures parallèles Eyrolles, 2e édition, 1996. M.T.Ozsu, P.Valduriez, Principles of Distributed DataBase Systems Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1991. G.Gardarin, P.Valduriez, SGBD avancés, BD objets, déductives, réparties, Eyrolles, Paris, 1990. Didier DONSEZ Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs, polycopié, IMAG, Université Grenoble.