Professional Documents
Culture Documents
57 Rez 5 SR
57 Rez 5 SR
DISTRIBUÉES
Master IAM
(Intelligence Artificielle & Multimédia)
Présenté par Dr. Yasmina Medjadba
1
Chapitre I: Introduction
Sommaire 1. Introduction
2. Fragmentation
3. Allocation de ressources
2
• Une entreprise, selon son besoin, peut choisir entre l’utilisation de base
de données centralisée ou distribuée.
Entreprise
u1 u2 un
u1 u2 un
3
Problème de base de données centralisées
Introduction
4
Problème de base de données centralisées
5
Qu’est ce qu’une bases de données distribuées?
• Une base de données distribuée est répartie et gérée par des sites différents
et apparaissant à l'utilisateur comme une base unique.
• Une collection de multiple bases de données distribuées sur un réseau
informatique logiquement interreliées.
Introduction
6
Qu’est ce qu’une bases de données distribuées?
7
Les avantages des bases de données distribuées
8
Objectifs d’une base de données distribuées
Exemple
• Soit une entreprise qui a des annexes dans plusieurs villes: Alger, Batna,
Oran.
• Le gérant veut maintenir une base de données des employés et les projets
sur lesquels ils travaillent.
Introduction • Le gérant utilise 4 tables:
Emp (idEmp, nomEmp, poste);
Prj (idPrj, nomPrj, budget, ville);
Sal (poste, salaire);
Aff (idEmp, idPrj, resp, dur) //Affectation d’un employé à un projet
avec telle responsabilité et telle durée.
9
Exemple
Emp Aff
10
Objectifs d’une base de données distribuées
Exemple
Si la base de données est centralisée, on peut trouver les noms des
employés qui travaillent dans un projet pour une durée supérieure de 12
11
Objectifs d’une base de données distribuées
Introduction (transparence),
12
Objectifs d’une base de données distribuées
• La définition des données dans une base de données se fait à deux niveaux
(structure logique et structure physique), Se qui permet de définir une :
13
Objectifs d’une base de données distribuées
2. Transparence du réseau
14
Objectifs d’une base de données distribuées
En plus, si une machine s’arrête, on peut trouver les données sur une autre
machine.
15
Objectifs d’une base de données distribuées
4. Transparence de fragmentation
16
Objectifs d’une base de données distribuées
4. Transparence de fragmentation
Fragmentation horizontale
Introduction • La table est partitionnée en plusieurs sous-tables contenants
chacune un sous-ensemble de lignes de la table originale.
Fragmentation verticale
• La table est partitionnée en plusieurs sous-tables qui sont
définies sur un sous-ensemble d’attributs (de colonnes) de la
table originale.
17
Objectifs d’une base de données distribuées
Fragmentation horizontale
18
1. Problèmes de la distribution
19
Problèmes de la distribution
2. Type d’accès:
• Accès statique (localisation des données connue dès le début);
• Accès dynamique (localisation des données inconnue).
20
Problèmes de la distribution
21
Problèmes de la distribution
Structure de BDD relations d’une même base sur plusieurs sites, il est préférable de
Distribuées
distribuer des « fragments» d’une même relation sur plusieurs sites.
22
Fragmentation
La fragmentation est le processus de décomposition d'une base
de donnée logique en un ensemble de "sous" bases de données.
Cette décomposition doit être sans perte d'information.
Structure de BDD
Le processus de fragmentation peut se faire sous différentes
Distribuées
stratégies:
horizontale,
verticale,
hybride.
23
Fragmentation
la syntaxe générale de la commande SQL de création des
fragments:
Create Table tab_name As
att: attribut,
m: prédicat,
24
Prédicat
Nous avons besoin de définir deux notions:
Structure de BDD
Distribuées prédicat simple,
prédicat minterm.
25
Prédicat
1. Prédicat simple
26
Prédicat
1. Prédicat simple
Exp.
Structure de BDD
Distribuées Soit la relation Prj de l’exemple précédent, on peut définir
quelques prédicats simples:
nomPrj = "Construction"
budget 100000
27
Prédicat
2. Prédicat minterm
�= �∗�
�� ∈��
2. Prédicat minterm
Exp.
Soit les minterms suivants:
29
Prédicat
Structure de BDD choisir les prédicats simples qui seront à la base des prédicats minterm
Distribuées permettant de fragmenter une relation.
D’une manière générale, cet ensemble doit contenir seulement les prédicats
avec des attributs et conditions utilisés par les applications.
30
Prédicat
Cet ensemble de prédicats simples doit être complet et minimal.
Pour cela, nous avons besoin de définir deux aspects
Structure de BDD
Distribuées importants:
complétude,
minimalité.
31
Prédicat
Complétude
32
Prédicat
Complétude
Exp
Structure de BDD
Distribuées Par contre, s’il y a une 2ème application qui cherche à accéder aux projets
qui ont un budget inférieur à 100000, dans ce cas, Pr n’est plus complet.
→ Cause: Les tuples des fragments qui ont un budget < 100000 ont une
probabilité d’accès supérieur aux tuples qui ont un budget > 100000.
33
Prédicat
Complétude
Exp:
S’il y a une seule application qui cherche à accéder aux tuples des
fragments selon leurs locations, l’ensemble Pr est complet.
34
Prédicat
Complétude
35
Prédicat
Complétude
Solution:
Les minterms à utiliser dans la fragmentation sont:
36
Prédicat
Minimalité
Définition 1 :
Structure de BDD Un ensemble de prédicats simples est dit minimal si tous les prédicats sont
Distribuées
pertinents.
37
Prédicat
Minimalité
Définition 2 :
Structure de BDD La minimalité d’un ensemble de prédicats exprime que si un prédicat dans
Distribuées cet ensemble permet de partitionner un fragment F en deux fragments F1
et F 2 , alors il existe au-moins une application accède à F 1 et F 2
individuellement.
38
Prédicat
Minimalité
Il existe au-moins une application qui n’a besoin que d’un seul fragment
(parmi les deux F1 et F2) à un moment donné.
39
Fragmentation
1.1. Fragmentation horizontale primaire
Minimalité
Exp.
40
Prédicat
Minimalité
Structure de BDD
Distribuées Exp
S’il existe une 2ème application qui s’intéresse aux tuples dont la durée > 12,
dans ce cas, l’application accède aux tuples des 2 fragments en même temps,
donc Pr n’est pas minimal.
41
Remarque:
Structure de BDD
La meilleure fragmentation est celle qui utilise un ensemble de
Distribuées
prédicats simples Pr complet et minimal.
42
Fragmentation
1. Fragmentation horizontale
R1
Relation (R)
R2
43
Fragmentation
1. Fragmentation horizontale
dérivée
44
Fragmentation
1. Fragmentation horizontale
1.1. Fragmentation horizontale primaire
La fragmentation horizontale primaire est basée sur l’opération de sélection
Structure de BDD qui utilise un prédicat minterm.
�� = ��� �
Distribuées
tel que:
Ri est un fragment de la relation R
mi est un minterm
est l’opération de sélection
45
Fragmentation
1. Fragmentation horizontale
1.1. Fragmentation horizontale primaire
Exp. 1
Fragmentation de la relation Prj en fragmentation horizontale peut être
Structure de BDD faite comme suit:
Distribuées Prj1 = budget100000 (Prj)
Prj2 = budget>100000 (Prj)
→ Cet exemple présente un des problèmes de la fragmentation horizontale.
→ Si le domaine des attributs est continu et infini il sera difficile de définir le
nombre maximal de fragmentations possibles.
→ On ne peut pas partager le domaine en un nombre fini de sous-domaines.
46
Fragmentation
1. Fragmentation horizontale
1.1. Fragmentation horizontale primaire
Exp. 2
Structure de BDD
On peut fragmenter la relation Prj en se basant sur la localisation:
Distribuées
Prj1 = ville="Alger" (Prj)
Prj2 = ville="Batna" (Prj)
Prj3 = ville="Oran" (Prj)
→ Dans ce cas, le nombre maximal de fragmentations possibles est fixe.
47
Fragmentation
La fragmentation horizontale dérivée d’une relation (R) est basée sur des
fragments horizontaux d’une autre relation (S) à condition qu’il y est un lien
Structure de BDD
entre R et S.
Distribuées
Les nouveaux fragments sont définis par semi-jointure.
Définition
La semi-jointure entre deux relations R et S (R S) permet de garder les
tuples de R qui ont relation avec des tuples de S.
48
Fragmentation
Sal1=salaire<30000(Sal)
Sal2=salaire30000(Sal)
49
Fragmentation
Exp.
Structure de BDD Les deux fragments contenant les deux groupes de salariés sont définis par
Distribuées
semi-jointure sur la colonne ‘poste’ comme suit:
50
Fragmentation
2. Fragmentation verticale
51
Fragmentation
2. Fragmentation verticale
Exp.
Soient deux applications qui utilisent la relation Emp(idEmp, nomEmp,
poste).
Structure de BDD La première utilise les noms des employés, et l’autre utilise les postes des
Distribuées employés.
On cherche à fragmenter la relation pour que chaque application accède
seulement au fragment qui l’intéresse.
Pour cela, on utilise la projection:
Emp1 = [idEmp, nomEmp](Emp)
52
Fragmentation
53
Fragmentation
3. Fragmentation hybride
La fragmentation hybride est une combinaison des deux fragmentations
précédentes.
Soit:
Horizontal Vertical, reconstruction :(Union ”∪”, jointure ”” )
Structure de BDD Vertical Horizontal, reconstruction :(jointure ””, Union ”∪”)
Distribuées Exp
Soient quatre applications qui utilisent la relation
Emp(idEmp, nomEmp, âge, adr, poste, tel)
La première utilise l'âge des employés 30ans,
la deuxième utilise l'âge des employés > 30ans
La troisième utilise le nom, l'âge, et l’adresse des employés 30ans,
et l’autre utilise les postes et tel. des employés 30ans.
54
Fragmentation
3. Fragmentation hybride
Exp.
On cherche à fragmenter la relation Emp pour que chaque application
Structure de BDD accède seulement au fragment qui l’intéresse.
Distribuées Emp1 =(age 30ans (Emp))
Emp2 =(age>30ans)(Emp)
Emp3 =[idEmp, nomEmp, age, adr](Emp1)
Emp4 =[idEmp, post, tel] (Emp1)
55
Fragmentation
3. Fragmentation hybride
La reconstruction de la relation d’origine se fait par :
Emp1 = Emp3 Emp4,
Structure de BDD Emp = Emp1 ∪ Emp2.
Distribuées
56
Allocation de ressources
L'affectation des fragments sur les sites est décidée en fonction de l'origine
prévue des requêtes qui ont servi à la fragmentation.
57
Allocation de ressources
58
Allocation de ressources
2. La performance
Dans cette condition nous essayons de:
Minimiser le temps de réponse;
Structure de BDD Maximiser le débit de chaque site.
Distribuées
Remarque:
Suite à la complexité du problème, on ne peut pas satisfaire toutes ces
conditions. Les modèles existants essayent de satisfaire les conditions qui les
intéresses.
59
Allocation de ressources
60
Allocation de ressources
61
Allocation de ressources
62
Allocation de ressources
Structure de BDD Pour minimiser le coût d’allocation de ressources du fragment Fk qui sera
Distribuées placé sur les sites Sj tel que xj=1, nous allons chercher [ref. 1]:
63
1. M. Tamer Özsu and Patrick Valduriez, “Principles of
Distributed Database Systems”, Third Edition, Springer,
2011
64