You are on page 1of 94

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

Chapitre 1 : Introduction aux bases de donnes rparties


A. ABDALLAH V 1.0 Septembre, 2012

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

Plan
Bases de Donnes rparties / dcisionnelles Option: ASL Objectifs pdagogiques
Aborder les bases avances, utilises en systme d'information de grande envergure (rpartis, entrepts de donnes) ventuellement utilis pour le dcisionnel (ou BI, Business Intelligence) Bases rparties, fdres Bases multidimensionnelles Bases dcisionnelles

EVALUATION
Composants Examen Final Comptes rendus*
*assiduit, comptes rendus

Pondration (%) 80 % 20 %

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

introduction

Impact de l'volution des techniques informatiques sur l'organisation des entreprises.


Elments dun systme d'information : gestion, traitement, transport et diffusion de l'information au sein de l'organisation. Bases de donnes de l'entreprise: Progiciel de gestion intgr (ERP), Outils de gestion de la relation client (CRM), Interface rseau, Serveur de donnes et systmes de stockage, Serveur d'application, Dispositifs de scurit. Systme rparti : Un systme rparti est un ensemble de processeurs cooprants et autonomes, relis par un rseau de communication. Le principe : les donnes et traitements sont rpartis sur diffrents sites interconnects par un rseau de communication. la dfaillance d'un site ne peut entraner l'indisponibilit totale du systme.
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

introduction

Applications rparties Un exemple dapplication flots de donnes


La mise en ouvre dune application flot de donnes ncessite dune part des outils pour spcifier la coordination des tches, et dautre part une infrastructure pour ordonnancer les tches, allouer les ressources ncessaires leur excution, et contrler ltat des ressources et lavancement du travail
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

introduction

On peut imaginer deux sites de production de vhicule grant plusieurs usines et un site de gestion pour une mme socit.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

Gestion rpartie de donnes

La gestion rpartie de donnes est prsente sous des formes trs varies
Systmes rpartis de gestion de fichiers Mmoire virtuelle rpartie Accs aux donnes sur le Web Bases de donnes rparties

Tous ces systmes utilisent quelques techniques communes Dsignation rpartie Gestion de caches, donnes dupliques Gestion de cohrence Gestion de la persistance
Septembre, 2012 ahmad.abdallah@ensi-bourges.com

ENSI-Bourges

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

Pressions pour la distribution

Pression des entreprises 90% des accs concernent des donnes locales impratif de dcentraliser l'information cas des Multinationales
Pression des utilisateurs bases de donnes directement adaptes leurs besoins Vers l'Ubiquitous Computing (Informatique OmniPrsente)

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

Critres de Classification

AUTONOMIE Concerne la distribution du contrle Mesure le degr d'indpendance Fonction de : Volume des changes inter-sites Capacits d'excution indpendamment des autres sites
DISTRIBUTION: (ou pas) des donnes HETEROGENEITE Hardware, protocoles rseaux Modles de donnes : puissances d'expression Langages : paradigmes, dialecte(s)

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

Typologie de SGBD distribu

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

10

Architecture de rfrence de SGBD-D

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

11

Composants fonctionnels de SGBD-D

Processeur de donnes

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

12

Composants fonctionnels de SGBD-D

Processeur dapplications

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

13

Composants fonctionnels de SGBD-D

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

14

Dfinitions

Une base de donnes rpartie (distribue) est une base de donnes logique dont les donnes sont distribues sur plusieurs SGBD et visibles comme un tout:
Les donnes sont changes par messages. Si les donnes sont dupliques, on parle plutt de BD rplique Chaque base possde son schma local Le schma de la base rpartie constitue le schma global il n'est gnralement pas matrialis il peut servir de support de conception Les donnes sont accdes via des vues intgres assurent la transparence la localisation permettent des recompositions de tables par union/jointure

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

15

Dfinitions

Base de donne fdre - a priori htrogne (Federated BD) Plusieurs BD htrognes capables d'interoprer via une vue commune (modle commun)
Multibase Plusieurs BD (htrognes ou non) capables d'interoprer via un langage commun sans une vue commune (absence de modle commun)

Bases de donnes interoprables Coopration, mais pas dintgration. Les bases sont homognes ou htrognes

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

16

Dfinitions

Bases de donnes rparties Plusieurs bases sur plusieurs sites, mais une seule BD logique
Les ordinateurs (appels sites) communiquent via le rseau et sont faiblement coupls. Chaque site contient des donnes de la base, peut excuter des transactions locales et participer lexcution de transactions globales La rpartition affecte les donnes, les traitements, les contrles La topologie des BD rparties est semblable celles des rseaux : anneau, toile, arbre,

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

17

Dfinitions
Une base de donnes centralise est gre par un seul SGBD, est stocke dans sa totalit un emplacement physique unique et ses divers traitements sont confis une seule et mme unit de traitement.
Par opposition, une base de donnes distribue est gre par plusieurs processeurs, sites ou SGBD (base de donnes distribue = Ce terme gnrique englobe les BD rparties, les BD fdres et les BD parallles). Un systme de bases de donnes rparties ne doit donc en aucun cas tre confondu avec un systme dans lequel les bases de donnes sont accessibles distance. Dans une multibase, plusieurs BDs interoprent avec une application via un langage commun et sans modle commun. Dans une BD fdre, plusieurs BDs htrognes sont accdes comme une seule via une vue commune.
Septembre, 2012 ahmad.abdallah@ensi-bourges.com

ENSI-Bourges

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

18

Motivations

Limites des architectures centralises :


Donnes des entreprises dissmines sur plusieurs sites (banques, socits, compagnies de transport,) Goulot dtranglement Dveloppement des rseaux Besoin de fdrer les bases de donnes Amlioration des performances (placer les traitements l'endroit ou se trouvent les donnes) Disponibilit en raison de l'existence de plusieurs copies Maintient d'une vision unique de la base de donnes malgr la rpartition

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

19

Motivations

Prdiction daccroissement: Vitesse des microprocesseurs : 50% par an, Capacit des DRAM : 4 fois tous les 4 ans, Dbit des disques : 2 fois sur les 10 dernires annes. Goulot dtranglement sur les E/S.
Pour amliorer le dbit des E/Ss : Partitionnement des donnes, Accs parallle aux donnes, Utiliser plusieurs nuds (avec un bon cot/ performance), et les faire communiquer par un rseau.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

20

Problmes surmonter
Cot : la distribution entrane des cots supplmentaires en terme de communication, et en gestion des communications (hardware et software installer pour grer les communications et la distribution).
Problme de concurrence. Scurit : la scurit est un problme plus complexe dans le cas des bases de donnes rparties que dans le cas des bases de donnes centralises: Nouveaux types dincidents : perte de messages, panne dune liaison, etc. Prservation des bases des sites oprationnels en cas de panne dun site Confidentialit sur un rseau

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

21

Migration ver un BDR Dcomposition en BD locales


Matrise de la complexit de la rpartition (fragmentation, duplication, placement) Dfinition des schmas locaux partir du schma global
Schma conceptuel global de la base Fragmentation des relations Allocation des fragments

Intgration logique des BD locales existantes


Matrise de lhtrognit smantique (BD) et syntaxique (SGBD, communications, ) Matrise de lintgration des schmas locaux pour crer un schma global
N schmas conceptuels locaux Intgration des n vues locales afin d'obtenir un unique schma conceptuel global Modification ventuelle de la fragmentation et de la rplication

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

22

Distribution : Cas dApplication


Nous avons un catalogue de produits avec comme cl leur identifiant. Nous avons galement un stock qui associe a chaque produit une quantit. Notre principale contrainte est de garantir que la quantit de chaque produit est suprieure ou gale a 0.
Produit (id, intitul) LigneStock (id-produit , quantit)
Distribution

nous mettons la table Produit et LigneStock sur des bases de donnes diffrentes, respectivement db1 et db2. Lors de l'insertion d'une ligne dans LigneStock db2 doit vrifier si l'identifiant du produit existe bien sur db1, en prenant soin la concurrence d'acces. De mme lors de la suppression d'une ligne dans Produit vrifier qu'aucune ligne ne fait rfrence dans db2 au produit supprim. db1 doit

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

23

SGBD Rparti?
Objectif: Rendre transparente la rpartition (ou distribution)

dictionnaire des donnes rparties

traitement des requtes rparties : Requte distribue : Requte mise par un client dont lexcution ncessite lexcution de n sous requtes sur n serveurs (n > 1)
gestion de transactions rparties gestion de la cohrence et de la scurit

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

24

SGBD Rparti?
Pour une application cliente, l'emplacement et la plate-forme de bases de donnes sont transparentes.
Cas: Vous pouvez galement crer des synonymes sur les objets distants dans le systme rparti de sorte que les utilisateurs puissent y accder avec la mme syntaxe que les objets locaux.

Par exemple, si vous tes connect la base de donnes mfg mais voulez accder aux donnes de la base hq, la cration d'un synonyme pour le mfg sur la table distante dept vous permet d'mettre cette requte: SELECT * FROM dept;
Septembre, 2012 ahmad.abdallah@ensi-bourges.com

ENSI-Bourges

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

25

SGBD Rparti?
Un lien de base de donnes est un pointeur qui dfinit un chemin de communication sens unique partir d'un serveur de base de donnes vers un autre serveur de base de donnes.
Le pointeur de lien est en fait dfini comme une entre dans une table de dictionnaire de donnes. Pour accder au lien, vous devez tre connect la base de donnes local qui contient l'entre du dictionnaire des donnes. Avantage: un utilisateur local (scott) peut accder une base de donnes distance sans y tre dclar.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

26

Architecture des Schmas


schma conceptuel global donne la description globale et unifie de toutes les donnes de la BDR (e.g., des relations globales) indpendance la rpartition
schma de placement rgles de correspondance avec les donnes locales indpendance la localisation, la fragmentation et la duplication Le schma global fait partie du dictionnaire de la BDR et peut tre conu comme une BDR (dupliqu ou fragment)

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

27

Architecture des Schmas


Niveau de rpartition : La rpartition d'une base de donne intervient dans les trois niveaux de son architecture en plus de la rpartition physique des donnes :
Niveau externe : les vues (schmas externes) sont distribues aux utilisateurs sur leurs sites, les sites utilisateurs. Niveau conceptuel : le schma conceptuel des donnes (schma logique) est associ, par l'intermdiaire du schma de rpartition (lui mme dcompos en un schma de fragmentation et un schma d'allocation), aux schmas locaux qui sont rparties sur plusieurs sites, les sites physiques. Niveau interne : le schma interne global n'a pas d'existence relle mais fait place des schmas internes locaux rpartis sur diffrents sites (en principe les sites d'accueil des schmas logiques rpartis).

Tous les niveaux doivent tre concerns par la rpartition pour que l'on puisse parler d'une vrai BD rpartie
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

28

Conception BDR

De la conception en centralis : schma conceptuel global Attributs, Domaines, Tables, Vue, schma physique Stockage, index, pages,
Nouveau en distribu : Dfinition des fragments Unit de distribution logique Conception physique : placement des fragments, stockage, chemins daccs.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

29

Conception BDR

La dfinition du schma de rpartition est la partie la plus dlicate de la phase de conception d'une BDR car il n'existe pas de mthode miracle pour trouver la solution optimale.
Le concepteur doit donc prendre des dcisions en fonction de critres techniques et organisationnels avec pour objectif de minimiser : le nombre de transferts entre sites les temps de transfert le volume de donnes transfres les temps moyens de traitement des requtes le nombre de copies de fragments, etc...

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

30

Conception par dcomposition


LA CONCEPTION DESCENDANTE OU TOP DOWN DESIGN: Ici, on a au dpart une seule base de donnes qu'il faut fragmenter et allouer les fragments aux diffrents sites. On va donc d'un schma global de conception des sous schmas locaux.

Il existe 3 types de fragmentations : horizontale, verticale et mixte. Les fragments horizontaux sont des sousensembles de tuples et les fragments verticaux sont des sous-ensembles dattributs

Les rgles de fragmentation sont les suivantes : 1. La compltude : pour toute donne dune relation R, il existe un fragment Ri de la relation R qui possde cette donne. 2. La reconstruction : pour toute relation dcompose en un ensemble de fragments Ri, il existe une opration de reconstruction.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

31

Conception par dcomposition

fragmentation trois types : horizontale, verticale, mixte performances en favorisant les accs locaux quilibrer la charge de travail entre les sites (paralllisme)

Grain / degr de fragmentation Trop peu de fragments - faible concurrence Trop de fragments - surcot dans la reconstruction des relations
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

32

Conception par dcomposition

hybride

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

33

Oprateurs algbriques
Langage d'interrogation qui a inspir le langage SQL. On se donne des oprateurs que l'on applique aux relations de la base, pour obtenir les donnes que l'on cherche : 2 types d'oprateurs, relationnels et ensemblistes.
Fragmentation horizontale L'oprateur de partitionnement est la slection () L'oprateur de recomposition est l'union () Fragmentation verticale L'oprateur de partitionnement est la projection () L'oprateur de recomposition est la jointure (*) Fragmentation hybride L'opration de partitionnement est une combinaison de projections et de slections. L'opration de recomposition est une combinaison de jointures et d'unions.
Septembre, 2012 ahmad.abdallah@ensi-bourges.com

ENSI-Bourges

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

34

Fragmentation vs. Duplication

Fragmentation Favoriser les accs locaux quilibrer la charge de travail entre les sites
Duplication (+) Favoriser les accs locaux (+) Augmenter la disponibilit des donnes (+) performances des requtes et disponibilit (-) cot des mises jour et contrle de concurrence plus complexe (+) Paralllisme en lecture (+) Moindre flux sur le rseau (-) Cot des mises jour
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

35

Schmas
Schma conceptuel global Client (nclient, nom, ville) Cde (ncde, nclient, produit, qt)
Schma de placement Client = Client1 @ Site1 U Client1 @ Site2 Cde = Cde @ Site3 Fragments dfinis par slection:

Reconstruction par union des fragments :

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

36

Fragmentation Horizontale - Exemple

Fragmentation par slection

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

37

Fragmentation Horizontale Drive - Exemple

Commande(nc, nclient, produit, qt)


Fragments dfinis par (semi) jointure :

Reconstruction par union des fragments:

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

38

Fragmentation Horizontale Drive - Exemple

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

39

Fragmentation Verticale - Exemple


Fragmentation Verticale: Comme il n'y a aucune condition pour crer un fragment vertical, chaque fragment doit inclure l'attribut de cl primaire de la relation R. De cette faon, tous les fragments verticaux d'une relation sont connects Fragments dfinis par projection

Reconstruction par jointure

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

40

Conception par dcomposition

Proprits de la fragmentation

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

41

Allocation de Fragments

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

42

Allocation de Fragments

Allocation des fragments aux sites Non-duplique partitionne : chaque fragment rside sur un seul site
Duplique chaque fragment sur un ou plusieurs sites maintien de la cohrence des copies multiples Rgle intuitive: si le ratio est [lectures/mj] > 1, la duplication est avantageuse
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

43

Un Autre Exemple

Schma {Compte, Client, Agence}

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

44

Un Autre Exemple

Fragmentation horizontale

Fragmentation hybride

La recomposition de Compte est Compte1 Compte2 Fragmentation verticale (Rpartition des attributs) La relation Client est obtenue avec : (Cli3 Cli5) * Cli4 * Cli6

la recomposition de Client est Cli1 * Cli2

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

45

Proprits de la fragmentation

Reconstruction Possible avec les oprateurs de lalgbre relationnelle Critres de fragmentation horizontale simples ou complexes
Compltude Horizontale : chaque n-uplet de R est dans un fragment Verticale : chaque attribut est dans un fragment Pas de perte dinformation Similaire la normalisation

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

46

Exemple de perte dinformation

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

47

Dfinition des fragments horizontaux d'une classe

Soient c1, c2, ..., cn les conditions de slection qui ont t extraites des requtes.
Comme les fragments horizontaux doivent tre exclusifs, on produit l'ensemble des 2 puissance n conjonctions de condition o chaque condition lmentaire est prise dans sa forme positive ou dans sa forme ngative :

On te de cet ensemble les conjonctions de condition qui sont toujours fausses, et on simplifie les autres.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

48

Evaluation des Requtes Rparties

Un plan dexcution dcrit la mthode dexcution dune requte. Il est souvent reprsent par un arbre algbrique.
Un arbre algbrique est un arbre o les nuds sont des oprateurs algbriques et les feuilles les sources de donnes. Il peut exister plusieurs voire une infinit de faon dexcuter une requte (toutes reprsente par des plans dexcution quivalents). Lensemble des plans dexcution permettant de rsoudre une requte est appel espace de recherche.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

49

Evaluation des Requtes Rparties

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

50

Evaluation des Requtes Rparties

Exemple d'valuation simple

Select A from R where B = b

Fragmentation

R = R1 U R2

Select A from R1 where B =b union Select A from R2 where B = b R1 = R1 @ Site1 R2 = R2 @ Site2 R2 = R2 @ Site3

Optimisation

Select A from R1 @ Site1 where B = b union Select A from R2 @ Site3 where B = b


ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

51

Evaluation des Requtes Rparties


select NCL,Nom,Date, Sum(Qte*PrixUnit) from (Cmd join Client using (NCL)) join Produit using (NP) group by NCL,Nom,Date;

2 arbres

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

52

Evaluation des Requtes Rparties


Arbre 1 : schma de fragmentation

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

53

Evaluation des Requtes Rparties


Arbre 1 : Allocation des fragments

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

54

Evaluation des Requtes Rparties Un autre exemple

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

55

Rduction pour la fragmentation horizontale Rgle : liminer l'accs aux fragments inutiles

Exemple : Client1 : Client where ville = Paris Client2 : Client where ville not Paris
Select * from Client where ville = Lyon

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

56

Rduction pour la fragmentation verticale

Rgle : liminer les accs aux relations de base qui n'ont pas d'attributs utiles pour le rsultat final
Exemple Cde1 : Cde (ncode, nclient) Cde2 : Cde (ncode, produit, qt)

Select nclient from Cde

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

57

Rduction pour la fragmentation horizontale drive


Rgle : distribuer les jointures par rapport aux unions et appliquer les rductions pour la fragmentation horizontale Exemple Client1 : Client where ville= Paris Client2 : Client where ville not Paris Cde1 : Cde where Cde.nclient=Client1.nclient Cde2 : Cde where Cde.nclient=Client2.nclient Select * from Client, Cde where Client.nclient = Cde.nclient and ville= Lyon

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

58

Rduction pour la fragmentation horizontale drive

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

59

Optimisation de Requtes Rparties


entre : une requte simplifie exprime sur des fragments sortie : un plan d'excution rparti optimal
Objectifs : choisir la meilleure localisation des fragments minimiser une fonction de cot: f (I/O, CPU, Comm.) exploiter le paralllisme exprimer les transferts inter-sites Solution : examiner le cot de chaque plan possible (par transformation) et prendre le meilleur

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

60

Choix de la solution

Site 1 : Client1 = Client where ville= Paris Site 2 : Client2 = Client where ville not Paris Site 3 : Cde1 = Cde where Cde.nclient=Client1.nclient Site 4 : Cde2 = Cde where Cde.nclient=Client2.nclient

Site 5 : rsultat Select * from Client, Cde where Client.nclient = Cde.nclient and qt > 10)
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

61

Schmas dallocation

L'affectation des fragments sur les sites est dcide en fonction de l'origine prvue des requtes qui ont servi la fragmentation.
Le but est de placer les fragments sur les sites o ils sont le plus utiliss, et ce pour minimiser les transferts de donnes entre les sites. Lallocation peut se faire avec rplication ou sans rplication. Sachant que la rplication favorise les performances des requtes et la disponibilit des donnes, mais est coteuse en considrant les mises jour des fragments rpliquas.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

62

Rplication
Certaines informations ne subissent pas souvent de modification (comme le nom de famille, l'adresse ou le nombre d'enfants des employs) et par consquent une copie mme ancienne de ces informations est, dans sa grande majorit, exacte.
La rplication consiste en lutilisation de clichs (ang. snapshot). Un clich reprsente un tat de la base de donnes un instant donn. La pertinence d'un clich diminue donc au fur et mesure que le temps passe. taux de satisfaction pour le systme d'information: l'anciennet du clich et le temps ncessaire la mise jour. Exemple: En milieu bancaire la dcision d'autoriser un retrait d'argent (compte suffisamment approvisionn) peut tre prise en fonction d'un clich lgrement ancien plutt que d'accder l'information originale qui ne sera que lgrement plus fiable.
Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Site B R1 R2

Site A

R1

R3

ENSI-Bourges

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

63

Mise jour de BD rparties


La principale difficult rside dans le fait qu'une mise jour dans une relation du schma global se traduit par plusieurs mises jours dans diffrents fragments.
Il faut donc identifier les fragments concerns par l'opration de mise jour, puis dcomposer en consquence l'opration en un ensemble d'opration de mise jour sur ces fragments. Insertion Retrouver le fragment horizontal concern en utilisant les conditions qui dfinissent les fragments horizontaux, puis insertion du tuple dans tous les fragments verticaux correspondants.

Suppression Rechercher le tuple dans les fragments qui sont susceptibles de contenir le tuple concern, et supprimer les valeurs d'attribut du tuple dans tous les fragments verticaux.
Modification Rechercher les tuples, les modifier et les dplacer vers les bons fragments si ncessaire.
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

64

Requtes sur BDs rparties

SELECT AVG(S.age) FROM Sailors S WHERE S.rating > 3 AND S.rating < 7

F. Horizontale
Tuples avec rating < 5 Shanghai, >= 5 Tokyo. Pour calculer le moyen, nous devons calculer la somme et le total sur les deux sites Si WHERE contenait juste S.rating>6, juste un site.

F. Verticale
sid et rating Shanghai, sname , age Tokyo, tid dans les deux Jointure de deux fragments sur le tid et execution de la requete sur la relation reconstruite

Replication
Excution de la requte sur le site offrant le meilleur cot.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

65

Semi-jointure
Les BDR ont abouti la dfinition d'un nouvel oprateur, la semi-jointure. Il s'agit en fait d'une double jointure : le principe est d'effectuer deux petites jointures plutt qu'une grosse; c'est dire deux petites transmissions de donnes plutt qu'une seule beaucoup plus volumineuse. La semi-jointure rduit la taille des oprandes des relations. Elle permet de rduire la taille des donnes transmettre.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

66

Semi-jointure

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

67

Semi-jointure

Exemple (semijoin s: R1AR2):


Site 1
R1
A 1 2 3 B 4 5 6

R1[A]
1 2 3

Site 2
R2 Ship(3)
A 3 C 7

projection

4
5

8
9

reduce Ship(6)
3 7

Ship(2)

R2

qs

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

68

Semi-jointure

Exemple (semijjoin s: R1AR2): double sens


1

R1[A]

Site 1
R1
A B

2 3

Site 2
Ship(3) R2
A 3 C 7 8 9

projection
4
5 6

1
2 3

Ship(1)

R1[A]m
3

partition

reduce

R1[A]nm
1 2

reduce
3 7

R1

R2

Ship(2)

Ship(2)

qs
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

69

Exemple (semijoins: R1AR2): hash semijoin


R1
S#(R1)

R2

B
1

S#

Phone

S#

Name

0
Hij( (Ri)) Bij

1
3 4 8

Cindy
Jemal Sunny Maggie

projection

3
4 8

1
1 Ship(B ) ij Rj 0 0 0 1

222

3
4 5 6 3 4

333
444 555 666
reduce

H(x)=X

333 444

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

70

Rappel Transactions
Une transaction = squence d'instructions qui soit russit, soit choue.
Les transactions doivent possder les proprits ACID :

A = atomicit (une transaction est complte ou abandonne compltement ) C = consistance (une transaction doit transformer le systme d'un tat consistant un autre tat consistant) I = isolation (chaque transaction est vue indpendamment des autres ) D = durabilit (les transactions valides ont des effets permanents)

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

71

Rappel Transactions

Une excution concurrente non contrle de plusieurs transactions peut amener des incohrences.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

72

Rappel Transactions

Considrons deux transactions faisant une rservation d'une place d'avion, alors qu'il n'y a plus qu'une place de disponible. Les deux transactions pourront nanmoins effectuer les deux rservations, conduisant une incohrence de la base de donnes.

Une excution concurrente non contrle de plusieurs transactions peut amener des incohrences.
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

73

Rappel Transactions
Perte de mise jour : La perte de la mise jour d'une donne peut avoir lieu lorsque deux transactions qui accdent aux mmes donnes ont leurs oprations imbriques, si bien qu'une valeur d'une donne devient incorrecte. Ainsi sur la figure suivante, la valeur finale de X est incorrecte, car T2 lit la valeur de X avant que T1 la change dans la base de donnes. Si X = 80 au dbut, T1 retranche 5 et T2 ajoute 4, la valeur finale devrait tre 79. Mais elle sera de 84, car la mise jour X-5 de T1 est perdue.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

74

Rappel Transactions
Lecture impropre (Dirty read) : Une lecture d'une valeur temporaire de donne peut conduire une valeur fausse . Ceci a lieu lorsqu'une transaction met jour une donne de la base et que cette transaction choue ou est annule. La valeur mise jour est lue par une seconde transaction avant que la donne ait retrouv sa valeur initiale conduisant un "dirty read". Dans la figure suivante, T1 met jour la donne X et ensuite choue et est annule : X retrouve sa valeur initiale (80). T2 a lu entre-temps la valeur temporaire de X (75) qui ne sera pas enregistre cause de l'chec de T1. La valeur de X lue par T2 est donc fausse.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

75

Rappel Transactions
Lecture non reproductible : Dans le corps de la mme transaction, la relecture d'une donne peut produire un rsultat diffrent du fait de la modification de la donne par une autre transaction entre les deux lectures successives. Sur la figure suivante, T1 relit la valeur de X aprs que T2 la change dans la base de donnes. Si X = 80 au dbut, T1 lue 80 et T2 aussi. T2 ajoute 9 et quand T1 relue la valeur de X, elle est 71. Mais elle devrait tre 80 car T1 n'a pas chang la valeur de X.

Le principe de base de gestion des transactions concurrentes est la notion de srialisabilit.


ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

76

Rappel Transactions

Contrle de concurrence Srialisabilit: Entrelacement des actions tel que le rsultat des actions est quivalent une excution squentielle. Mthodes Pessimistes Optimistes

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

77

Rappel Transactions
Supposons que deux transactions veulent modifier une mme base de donnes. Supposons de plus que ces transactions sont excutes squentiellement : 1. On excute toutes les oprations de T1 conscutivement, puis on fait de mme avec les oprations de T2. ou 2. On excute toutes les oprations de T2 conscutivement, puis on fait de mme avec T1.
Le schma suivant montre la diffrence entre les 2 excutions:

la base par dfinition, aprs T1 et T2, reste cohrente, dans un tat stable.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

78

Rappel Transactions

Mais dans une environnement multitches, on risque dobtenir plutt cette excution:

la base, aprs T1 et T2, est incohrente, dans un tat instable.

contrle de concurrence -> srialisabilit: Dterminer quelles excutions sont "correctes" ou pas ?
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

79

Rappel Requtes
Considrons le schma :
CINEMA(Cinma, Adresse, Grant) SALLE(Cinma, NoSalle, Capacit) avec les hypothses : 1. Il y a 300 n-uplets dans CINEMA, occupant 30 pages. 2. Il y a 1200 n-uplets dans SALLE, occupant 120 pages.

On considre la requte : Adresse des cinmas ayant des salles de plus de 150 places En SQL, cette requte sexprime de la manire suivante : SELECT Adresse FROM CINEMA, SALLE WHERE capacit > 150 AND CINEMA.cinma = Salle.cinma
ENSI-Bourges Septembre, 2012 ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

80

Rappel Requtes

Traduit en algbre, on a plusieurs possibilits. En voici deux :

Soit une jointure suivie dune slection, ou linverse. NB: on peut les reprsenter comme des arbres.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

81

Rappel Requtes On suppose quil ny a que 5% de salles de plus de 150 places. 1. Jointure : on lit 3 600 pages (120x30); Slection : on obtient 5% de 120 pages, soit 6 pages. Nombre dE/S: 3 600 + 120 + 6 = 3 726.

2. Slection : on lit 120 pages et on obtient 6 pages. Jointure : on lit 180 pages (6x30) et on obtient 6 pages. Nombre dE/S: 120 + 6 + 180 + 6 = 312.
la deuxime stratgie est de loin la meilleure !

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

82

Problme en C/S

Chaque application doit grer les communications la manipulation de donnes les performances Ne passe pas lchelle

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

83

Mdiateur
Fonctions catalogue global des donnes intgration de schmas gnration dadaptateurs requtes distribues Bilan point daccs unique et uniforme indpendance application/sources => volution les donnes sont toujours fraches traitement de requtes peut tre coteux performances

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

84

Mdiateur

Le mdiateur soccupe de la distribution des sources: Localisation des sources Dcomposition des requtes en requte adapte pour chacune des sources Envoi des requtes aux sources Recomposition des diffrents rsultats provenant de chacune des sources

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

85

Architecture de mdiation

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

86

Architecture de mdiation

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

87

Sources de donnes

Une source de donnes peut tre dcrite par : localisation rfrence du site (URL, IP:Port, annuaire LDAP) protocole de communication (TCP/IP, IPX, AppleTalk) moyen daccs (ODBC, JDBC, API) support (pages Web, SGBD) type de donnes quelle gre (structur (SGBD-R, SGBD-O), semi-structur (XML, ), non structur (images, multimdia, textes)) possibilit dinterrogation (SQL, OQL, propritaire, moteur de recherche web) format des rsultats (XML, HTML, ResultSet (tuples), textes)

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

88

Fonctions dun adaptateur

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

89

Fonctions dun adaptateur

exemple

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

90

Fournisseurs

Fournisseurs indpendants extracteurs indpendants entre les donnes sources et les outils cibles Information Builders Inc. (IBI), Evolutionary Technology Inc. (ETI), Prism, Carleton, etc.
Editeurs de SGBD passerelles entre le SGBD et les donnes sources interface standard : ODBC, JDBC, OLE/DB, ADO Oracle, DB2, Microsoft, Sybase, etc.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

91

SGBD distribus

SGBD relationnels Oracle, Ingres, Sybase, DB2, Informix DataJoiner (IBM) bas sur DB2 VirtualDB (Enterworks) bas sur GemStone, vue objet des tables Open Database Exchange (B2Systems)

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

92

SGBD distribus
Oracle et la distribution des donnes

SGBD Oracle: gestion du catalogue de la BDR SQL*Net: connexion client-serveur, login distance automatique requtes distribues, transactions distribues, rplication SQL*Connect : passerelle vers les bases non-Oracle

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

93

REFERENCES

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

Bases de Donnes Rparties/Dcisionnelles Chapitre 1 : Introduction aux bases de donnes rparties

94

Bases de donnes rparties, Prsentation Gnrale, Matthieu Exbrayat http://memoireonline.com/05/10/3459/m_Bases-de-donnees-reparties-sous-Oracle1.html http://www.infres.enst.fr/~dombd/Cours/transactions/Cours/presentation.html http://tice.univ-nc.nc/~taladoire/Pedagogie/RessourcesBD/EPFL/poly3_fichiers/15/15.html http://www.lamsade.dauphine.fr/~litwin/Rim/Teaching_fichiers/BDR/BDR06.pdf INTRODUCTION AUX APPLICATIONS RPARTIES, S. Krakowiak G. Gardarin, O. Gardarin , Le Client-Serveur , Eyrolles, 2e dition, 1996 Bases de donnes : 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 parallles 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 avancs, BD objets, dductives, rparties, Eyrolles, Paris, 1990. Didier DONSEZ Rpartition, Rplication, Nomadisme, Htrognit dans les SGBDs, polycopi, IMAG, Universit Grenoble.

ENSI-Bourges

Septembre, 2012

ahmad.abdallah@ensi-bourges.com

You might also like