ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD...

44
Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES COURS BASES DE DONNEES REPARTIES COURS BASES DE DONNEES REPARTIES COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : [email protected] Chapitre 1 Chapitre 1 Chapitre 1 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

Transcript of ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD...

Page 1: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

Université du HavreMASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES

2010/2011COURS BASES DE DONNEES REPARTIESCOURS BASES DE DONNEES REPARTIESCOURS BASES DE DONNEES REPARTIESCOURS BASES DE DONNEES REPARTIESNakechbandi M., LITIS, Email : [email protected]

Chapitre 1Chapitre 1Chapitre 1Chapitre 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

Page 2: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.2

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

Page 3: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.3

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

Page 4: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.4

Architecture centralisée

Terminaux passifs

Mainframe

SGBD

Appli 1 Appli 2 Appli n

réseau

données

Page 5: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.5

Architecture client-serveur

Clients intelligents

serveur

SGBD

Appli 1 Appli 2 Appli n

donnéescode

réseau

Page 6: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.6

Architecture Client-Multiserveurs

SGBD 2

donnéescode

ODBC ODBC

SGBD 1

donnéescode

Appli 1

SQL SQL

SQLSQL

Page 7: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.7

Architecture répartie

SGBD 1

donnéescode

SGBD 2

donnéescode

Appli 1Appli 2

Appli n

Page 8: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.8

Architecture mobile

Clients intelligents mobiles

serveur

SGBD

Réseau sans fil

donnéescode

Données répliquées et/ou personnelles

Page 9: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.9

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

Page 10: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.10

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

Page 11: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.11

Exemple

Une application gère une coopérative vinicole dont le schéma conceptuel est le suivant :

Producteurs

produit

commande

Buveurs vins

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é)

Page 12: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.12

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

Page 13: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.13

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 :

Page 14: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.14

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.

Page 15: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.15

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é

Page 16: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.16

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)

Page 17: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.17

3. Architecture de schémas

Deux approches :

• Schéma global

• Schéma fédéré

Schéma global

application 1 application 2

Schéma local 1 Schéma local 2 Schéma local 3

Page 18: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.18

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é)

Page 19: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.19

Exemple de schéma global

� Schéma conceptuel global

Client (nclient, nom, ville)

Cde (ncde, nclient, produit, qté)

� Schéma de placement

Client = Client1 @ Site1 U Client1 @ Site2

Cde = Cde @ Site3

Page 20: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.20

Architecture fédérée

application 1 application 2

Schéma local 1 Schéma local 2 Schéma local 3

Schéma fédéré 1 Schéma fédéré 2

Page 21: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.21

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 :

Page 22: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.22

4. Conception des bases réparties

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

BD2 BDnBD1

décomposition intégration

Page 23: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.23

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

Page 24: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.24

METHODE DESCENDANTE : Conception par décomposition

Table globale

fragmentation

allocation

Site 1 Site 2

Page 25: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.25

Exemple

Page 26: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.26

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

Page 27: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.27

Fragmentation horizontale

� Fragments définis par sélection

• Client1 = Client where ville = "Paris"

• Client2 = Client where ville ≠ "Paris"

Reconstruction

Client =Client1 U Client2

nclient nom ville

C 1C 2C 3C 4

DupontMartinMartinSmith

ParisLyonParisLille

nclient nom ville

C 1C 3

DupontMartin

ParisParis

nclient nom ville

C 2C 4

MartinSmith

LyonLille

Client

Client1

Client2

Page 28: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.28

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

ncde nclient produit

D 1D 2D 3D 4

C 1C 1C 2C 4

P 1P 2P 3P 4

Cde

qté

10205

10

ncde nclient produit

D 1D 2

C 1C 1

P 1P 2

Cde1

qté

1020

ncde nclient produit

D 3D 4

C 2C 4

P 3P 4

Cde2

qté

510

Page 29: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.29

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

ncde nclient produit

D 1D 2D 3D 4

C 1C 1C 2C 4

P 1P 2P 3P 4

Cde

qté

10205

10

ncde nclient

D 1D 2D 3D 4

C 1C 1C 2C 4

Cde1

ncde

Cde2

P 1P 2P 3P 4

10205

10

D 1D 2D 3D 4

produit qté

Page 30: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.30

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

Page 31: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.31

Exemple d'allocation de fragments

P 1P 2

1020

D 1D 2

C 1C 1

Cde1

ncde client produit

D 3D 4

C 2C 4

P 3P 4

Cde2

qté

510

nclient nom ville

C 1C 3

DupontMartin

ParisParis

C 2C 4

MartinSmith

LyonLille

Client1 Client2

nclient nom ville

Site 1 Site 2

ncde client produit qté

Page 32: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.32

METHODE ASCENDANTE : Création d'un schéma unique partant de plusieurs schémas

Conception BDR par intégration

Traductionde schémas

Intégrationde schémas

BD1 BD2 BD3

Traducteur 1

S local1

Intégrateur

Schéma Global

Traducteur 2

S local2

S local3

Traducteur 3

Page 33: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.33

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

Page 34: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.34

5. Requêtes réparties

Fragmentation

Optimisation

Schémade fragmentation

Schémad'allocation

Requête sur tables globales

Requête sur fragments

Plan d'exécution réparti

Page 35: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.35

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 :

Page 36: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.36

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 :

Page 37: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.37

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

Page 38: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.38

Allocation des fragments de l ’arbre

Page 39: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.39

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

Page 40: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.40

6. Notion de Transaction Répartie (un chapitre concernant cette partie est assurée par B. Sadeg)

application

Gérant deTransactions Globales

Gérant deTransactions Locales

Gérant deTransactions Locales

résultats

BeginReadWriteAbortCommit

STrans.STrans.

Page 41: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.41

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

Page 42: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.42

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

Page 43: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

1.43

8.8.8.8. Database link Database link Database link Database link (sous oracle)

Lien à une table dans une BD distanteSyntaxe :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

Page 44: ch1 BDReparties o onakechb.free.fr/M2_SIRES/a/ch1_BDReparties.pdfSGBD1 SGBD2 DEFINITION : UN SGBD REPARTI ASSURE LA GESTION D'UNE BD REPARTIE Objectifs : Rend la répartition (ou distribution)

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.