Title: THEME N 4
1THEME N 4
2Plan de la séance
- Rappel sur les bases relationnelles
- La fragmentation des bases
- Distribution des fragments
- Réplication des bases
- Requêtes et transactions
- Cohérence des bases réparties (2PC)
- Règles de Date
3Bases de données
- Rappels
- Fragmentation des bases
- Réplications des bases
- requêtes et transactions
4RAPPEL SUR LES D.B
- Historique
- Fédération des bases
5RAPPEL SUR LES D.B
- Le conceptuel
- Le logique
- Le physique
6LE CONCEPTUEL
CLIENT
FOURNISSEUR
0,n
1,n
Commande
Produit
0,n
ARTICLE
1,1
7LE LOGIQUE
8LE PHYSIQUE
CLIENT
ARTICLES
N
Nom
N
Ref
Dupont
A1
C1
A2
Durand
C2
A3
Dupond
C3
A4
A5
N
Article
Date
Client
C1
A2
15/10/96
C1
A3
20/11/96
COMMANDE
9SQL
- SQL-86
- SQL-2
- SQL-3
- SQL/MM
10SQL-86
- 1986 ANSI
- 1987 ISO
- 1989 (Intégrité)
11SQL-2
- 1992 (SQL-92)
- Amélioration par rapport à SQL-86
- Connexion C/S
- Granularité des contrôles
- Support du SQL Dynamique
- Gestion des tables temporaires
- Nouveaux type de données (Date, BLOB,..)
12DEGRES D ISOLATION EN SQL 2
- 0 Verrous courts exclusif en écriture
- 1 Verrous longs exclusifs en écriture
- 2 Verrous courts partagés en lecture
- 3 Verrous longs partagés en lecture
13SQL-3
- SQL Foundation
- ADT (Abstract Data Types)
- Interrogation récursives
- SQL/CLI
- SQL /PSM (Persistant storage Modules)
- SQL/Bindings
- SQL/Transactions
- SQL/Temporal
14SQL/MM
- Textes
- Images
- Animations
- Full Motion Vidéo
- Audio
- Structures mathématiques
15LES BASES REPARTIES
Ensemble de bases de données gérées sur des sites
différents et apparaissant à l'utilisateur comme
une base unique
16TYPES DE BASES REPARTIES
- Le niveau de couplage
- Les multibases
- Les bases fédérées
17LA FRAGMENTATION DES BASES
- Verticale
- Horizontale
- Mixte
18FRAGMENTATION HORIZONTALE
19FRAGMENTATION VERTICALE
Administratif
N
Nom
Lieu
/...
Amiens
1
Aa
Amiens
2
Bb
Amiens
3
Cc
Amiens
4
Dd
5
Amiens
Ee
6
Amiens
Ff
7
Athènes
Aa
8
Athènes
Bb
9
Athènes
Gg
10
Athènes
Dd
20FRAGMENTATION MIXTE
Administratif
N
Nom
Lieu
/...
Amiens
1
Aa
Amiens
2
Bb
Amiens
3
Cc
Amiens
4
Dd
5
Amiens
Ee
6
Ff
Amiens
Administratif
21DISTRIBUTION DES FRAGMENTS
22LOCALISATION
SIEGE
AGENCE
PROBLEME
2 000
Lecture
1 000
Mise à jour
500
100
SOLUTIONS POSSIBLES
LOCALISATION
Trafic généré
SIEGE
AGENCE
OUI
NON
1 100
Solution 1
OUI
NON
2 500
Solution 2
OUI
OUI
600
Solution 3
23OPTIMISATION DE LA DISTRIBUTION
- Formules
-
- Limites des formules
- Analyse à posteriori
24OPTIMISATION DE LA DISTRIBUTION
LOCALISATION
ACCES EN ECRITURE
COUT DE STOKAGE
MINIMUM DES COUTS DE COMMUNICATION
COUT DE LA COMMUNICATION
ACCES EN LECTURE
25ANALYSE DE DISTRIBUTION
- Coût de distribution
- Coût de réplication
- Coût, complexité et possibilité de gestion et de
synchronisation - Fréquence et taille des échanges
26LA REPLICATION DES BASES
- Réplications symétriques
- Réplications asymétriques
27Réplication des bases
- Par rafraîchissement
- Par mise à jour synchrone
- Par mise à jour asynchrone
- Par mise à jour en plusieurs temps
28Technologie et architecture de réplication
Capture
Base source
Administration
File dattente
Capture
Emission
Exécution
Réception
Base cible
File dattente
en option
29Source cible
- Remplacement total
- Propagation des modifications
30Techniques de réplication
Maître-esclave
SITE (1)
SITE (1)
SITE (3)
SITE (2)
SITE (3)
SITE (2)
31Cohérence dans le temps
- Synchrone
- 2PC des SGBD
- Cohérence à 100 quelque soit le moment
- Asynchrone
- Utilisation de file dattente
- Cohérence à 100 à terme mais pas en permanence
32Spécification dun système de réplication
- SGBD différents (oracle, DB2,..)
- Garantie de bonne fin des ordre de réplication
- Performance
- capable de gérer la réplication asynchrone
- capable de répliquer
- toute données
- quelque soit lendroit
- tout le temps
- Capable de traiter d 1 à N cibles
- Capable de traiter le mode dégal à égal
- disposer dun gestionnaire dadministration
- Etre robuste
33Outils de réplication
- SYBASE Replication Serveur
- IBM data propagator
- ORACLE Symétrique Réplication
- MS SQL Server Replication
34SYBASE Replication Server
- Principe de publication abonnement
- Mise à jour asynchrone sur sur les autres sites
par procédures stockées. - Utilisation d un outils graphique de gestion
- RSM (Replication Server Manager)
35IBM Data propagator
- Réplication d un environnement DB2
- Vers un autre environnement DB2.
- Vers un environnement non relationnel
- Principe
- 1er Exécution sur la source
- 2em Exécution sur une autre source ou sur la
cible
36ORACLE Symmetric Replication
- Multiple master
- Réplication symétrique
- Mises à jour multiples
- procédures stockées invoquées à distance
37MICROSOFT SQL Server Replication
- Réplications homogènes via ODBC
- Utilisation dun dispatcher pour distribuer les
taches de réplication.
38Intérêt de la réplication
- Accès à des données locales
- Performance
- disponibilité
- Autonomie locale
- Réduction du trafic réseau
- Réduction du travail sur le host
- Base des data warehouse
39REQUÊTES TRANSACTION
REQUÊTE
Ordre SQL sur une base de données
TRANSACTION
Ensemble de requêtes effectuées en séquence et
indissociables.
40LES RÈGLES A.C.I.D.
- Atomicité
- Cohérence
- Isolation
-
- Durabilité
41ATOMICITE
- POUR LUTILISATEUR LA TRANSACTION CORRESPOND A
UNE UNITE DUVRE INDIVISIBLE
42COHERENCE
- ETAT CORRECT ET STABLE EN FIN DE TRANSACTION OU
RETOUR A LA SITUATION INITIALE
43ISOLATION
- LA TRANSACTION NEST PAS PERTURBUEE PAR LES
AUTRES TRANSACTIONS - LES AUTRES TRANSACTIONS NE PEUVENT CONNAÎTRE LES
ETATS INTERMEDIARES DE LA TRANSACTION
44DURABILITE
- APRES VALIDATION LES EFFETS DE LA TRANSACTION NE
PEUVENT ÊTRE REMIS EN CAUSE
45LES NIVEAUX DE DISTRIBUTION
- Requête distante
- Transaction distante
- requête distribuée
- Transaction distribuée
46REQUETE DISTANTE
SERVEUR
SGBD
Application
CLIENT
1 seul SGBD 1 seul ordre par transaction
47Requête distante
SQL
48TRANSACTION DISTANTE
1 select 2 update 3 validation
1
SGBD
2
2
Application
SGBD
3
1 ordre accède à 1 SGBD 1 transaction n
ordres 1 transaction accède à 1 SGBD
49Transaction distante
Table 1
50REQUÊTE DISTRIBUEE
Application
SGBD
1 ordre accède à n SGBD 1 transaction n
ordres 1 transaction accède à n SGBD
51requête distribuée
Table 1
Begin
SQL
Table 2
SQL
Table 3
Commit
52TRANSACTION DISTRIBUEE
Cliquez pour ajouter du texte
Journal
Application
SGBD
1 ordre accède à 1 SGBD 1 transaction n
ordres 1 transaction accède à n SGBD
53Transaction distribuée
Begin
Table 2
Table 1
SQL
SQL
Commit
54Le commit à 2 phases
55Ex (1) 2PC réalisé avec succès
Participant sur site 1
Coordinateur
Participant sur site 2
PREPARE
OK
OK
COMMIT
COMMIT
AK
AK
56Ex (2) 2PC défaillance totale
Coordinateur
Participant sur site 2
Participant sur site 1
PREPARE
PREPARE
KO
OK
ROLLBACK
ROLLBACK
AK
AK
57Ex (3) 2PC défaillance temporaire
Coordinateur
Participant sur site 2
Participant sur site 1
PREPARE
PREPARE
OK
OK
COMMIT
COMMIT
STATUS
AK
COMMIT
AK
58LE COMMIT A 2 ou 3 PHASES
59LE VEROULLAGE A DEUX PHASES
- VEROUILLAGE DES OBJETS EN SEQUENCE LORS DES ACCES
PAR LA TRANSACTION ET LIBERATION DES VERROUS EN
FIN DE TRANSACTION
60LE DEAD LOCK
Situation dans laquelle un groupe de transactions
se bloque.Chaque transaction du groupe attend
qu'une autre transaction du groupe relâche un
verrou pour pouvoir continuer
61DETECTION DU DEAD LOCK
62EVOLUTION DU VERROUILLAGE
- Verrouillage à granularité variable
- Verrouillage multi-versions
- Verrouillage Altruiste
63AUTRES SOLUTIONS
- Ordonnancement par estampillage
- Certification optimiste
- Estampillage multi-versions
64LES REGLES DE DATE
- 12 règles définissant un système de bases
- distribuées
65REGLE 1
AUTONOMIE LOCALE
Chaque site dans un environnement de bases
distribuées doit être autonome et indépendant
des autres sites
66REGLE 2
PAS DE LIAISONS AVEC UN SITE CENTRAL
Un système de de base de données distribuée ne
doit pas être dépendant d'un site central car un
site central unique devient un point de
défaillance qui peut affecter le système dans
sa globalité
67REGLE 3
CONTINUITE DE SERVICE
Un système de bases de données réparties ne doit
jamais nécessiter d'arrêt
68REGLE 4
INDEPENDANCE DE LA LOCALISATION
Les utilisateurs ou les applications ne
doivent pas savoir ou sont stockées physiquement
les données. Ils doivent travailler comme si
ces données étaient stockées localement
69REGLE 5
INDEPENDANCE DE LA FRAGMENTATION
Dans un système de bases distribuées les tables
relationnelles peuvent être fragmentées et
stockées sur des sites différents et ce dans une
totale transparence pour les utilisateurs et les
applications
70REGLE 6
INDEPENDANCE DES REPLICATIONS
Les données peuvent être répliquées sur de
multiples systèmes répartis dans un réseau
d'ordinateurs
71REGLE 7
DISTRIBUTION DES REQUETTES
Le lieu d'émission d'une requête ne doit pas
avoir d'influence sur la performance
de l'exécution de cette dernière.
72REGLE 8
DISTRIBUTION DES TRANSACTIONS
Un système de gestion de bases distribuées doit
être capable de supporter des transactions
(A.C.I.D)
73REGLE 9
INDEPENDANCE DES SGBD PAR RAPPORT AU HARDWARE
Un système de bases de données distribuées doit
être opérationnel sur des plate-formes multiples
74REGLE 10
INDEPENDANCE DES SGBD PA RAPPORT AUX SYSTEMES
D'EXPLOITATION
Un système de bases de données distribuées doit
être opérationnel sous des systèmes
d'exploitation (OS) différents
75REGLE 11
INDEPENDANCE DES SGBD PAR RAPPORT AUX RESEAUX
Un système de bases distribuées doit être
capable de fonctionner avec les protocoles et
les typologies de réseaux utilisables pour
interconnecter différents systèmes
76REGLE 12
INDEPENDANCE DES SGBD PAR RAPPORT AUX S.G.B.D.
Un système de base de données distribuées doit
être inter-opérable avec d'autres
SGBD fonctionnant sur d'autres systèmes même si
ceux -ci sont différents
77Les adresses
- ANSI X3H2 (http//www.ansi.org)
- INCITS (http//www.ncits.org)
- NIST (http//ncsl.nist.gov)