TSIG2 S26 Client/Serveur
ALSI Cours n°2
1
CLIENT / SERVEUR DE DONNEES DISTRIBUEES
(BASE DE DONNEES REPARTIES)
1. INTRODUCTION
Les Modèles Organisationnels des Traitements Analytiques (MOTA) permettent de mettre en
évidence les acteurs, les sites et les postes de travail ainsi que les données manipulées.
Acteur, site, poste de travail
Un type d'acteur est une personne exerçant une fonction type définie dans l'entreprise : la
secrétaire, le représentant, etc.
Un type de site est un regroupement géographique ou fonctionnel d'acteurs : une agence, le
siège, le service comptable, etc.
Un type de poste de travail est le rapprochement entre un type de site et un type d'acteur : une
secrétaire dans une agence …
Par abus de langage, on parlera tout simplement d'acteur, de site et de poste de travail.
Opération organisationnelle
Il s'agit d'un traitement exécuté entièrement par un seul poste de travail.
Ce traitement doit être d'une seule nature : conversationnel, batch, manuel.
On décompose des opérations conceptuelles en opérations organisationnelles chacune
effectuée par un poste de travail, en une seule fois, et d’une seule manière.
Démarche (simplifiée)
Pour chaque poste de travail ou site, il va falloir prendre en compte toutes les opérations
organisationnelles concernant le poste ou site afin de lister toutes les données manipulées (au
sens large) par le poste ou au niveau du site ainsi que le type de manipulation effectuée
(consultation, ajout, modification, suppression).
Toute cette démarche n'est pas du tout au programme.
On partira donc toujours de la connaissance des besoins d'accès aux données par chaque poste
de travail ou chaque site.
Exemple : la gestion d'une bibliothèque.
L'application de gestion d'une bibliothèque est utilisée sur différents postes de travail
(l'accueil, les bibliothécaires, le comptable…) et se compose de plusieurs tables (adhérents,
livres, emprunts, règlements…).
Pour définir l'implantation de ces différentes tables, il est nécessaire de savoir que :
. Le personnel de l'accueil enregistre les nouveaux adhérents et peut visualiser les livres.
. Les bibliothécaires enregistrent les nouveaux livres et les emprunts et ont besoin de consulter
les adhérents.
. Le comptable enregistre les glements et modifie la date de fin de l'adhésion dans la table
des adhérents.
TSIG2 S26 Client/Serveur
ALSI Cours n°2
2
Pour répondre au mieux aux besoins d'accès aux données et plus généralement aux besoins
des applications, nous allons nous poser un certain nombre de questions quant à l'architecture
logicielle à mettre en place :
- Quels sont les outils à notre disposition ?
- Avec ces outils, quelles sont les solutions existantes pour implanter les données et
les traitements de l'application ?
- Où placer les tables ? Sur chaque machine ? Sur un serveur ? Sur les deux ?
- Quels sont les critères sur lesquels nous allons nous baser pour choisir le lieu
d'implantation des tables?
2. DU PARTAGE DES INFORMATIONS A LA REPARTITION DES DONNEES
2.1. 1ère solution : Les fichiers partagés
Dans un contexte multi-utilisateurs, plusieurs personnes peuvent utiliser simultanément un
même fichier. Le fichier se trouve sur un disque partagé d'un serveur et il est accessible par
différents postes de travail simultanément.
Inconvénients :
- la consistance des données n'est pas toujours assurée.
Lors de la modification d'un enregistrement, les données sont chargées en mémoire
vive. Les modifications opérées par l'utilisateur sur cet enregistrement sont donc
effectuées dans cette mémoire et ne sont effectivement enregistrées sur disque que
lorsque l'utilisateur valide ses modifications. Si deux utilisateurs modifient le même
enregistrement au même moment, seul le dernier à enregistrer ses modifications a ses
modifications prises en compte. Il y a donc perte des données.
- le réseau est fortement sollicité.
S'il y a trop de données et surtout, trop d'accès simultanés aux données (en lecture et
en écriture), les temps de réponse ne sont pas satisfaisants.
- le " deadlock " ou verrou mortel n'est pas forcément géré.
Lorsqu'une application doit modifier un enregistrement, elle le verrouille. Seulement,
il se peut que pour effectuer les modifications sur l'enregistrement, elle doive
également accéder à un second enregistrement lui-même déjà verrouillé par une autre
application en attente du 1er enregistrement verrouillé. Ainsi, Un "deadlock" se produit
quand une première application verrouille un enregistrement pour modification et
attend la libération d'un autre enregistrement verrouillé par une deuxième application
qui, elle-même, attend la libération de l'enregistrement verrouillé par la première
application.
TSIG2 S26 Client/Serveur
ALSI Cours n°2
3
Application X
Verrouille
DEADLOCK
Verrouille
Application Y
2.2. 2ème solution : Les SGBDR
Les SGBDR assurent l'intégralité des fonctions relatives à la confidentialité, l'intégrité, la
sécurité des données et le partage des données.
Avec les 1ers SGBD, toutes les données étaient centralisées sur un serveur.
Le besoin de rapprocher les données de l'utilisateur afin d'éviter la saturation du réseau et le
nombre très important de requêtes à traiter par une seule machine a fait émerger le besoin de
répartir les données sur plusieurs machines
Les nouveaux SGBD (SGBD capables de gérer des données réparties) et le fait que le poste
de travail soit aujourd'hui un micro-ordinateur doté d'une puissance de stockage et de
traitement ont permis la mise en place d'architectures de type client-serveur de type 5 dans
lesquelles les données sont réparties sur le serveur et les postes de travail. On parle alors de
base de données réparties.
Dans quel cas mettre en place une base de données réparties?
. quand la quantité de données à traiter est importante ce qui nuit aux performances du SGBD
et sature le réseau,
ou / et
. quand le nombre d'utilisateurs est important ce qui rend le partage de la base centrale
inefficace.
3. LES BASES DE DONNEES REPARTIES
3.1. Définition
Une base de données parties est un ensemble de bases de données situées sur différents
postes et apparaissant aux applications comme une seule et même base de données. Le fait
que les bases soient implantées sur des machines différentes est transparent pour l'utilisateur.
Dans une base de données répartie, on distingue, d'une part, la base de données logique et,
d'autre part, les bases de données physiques.
La base de données vue de l'utilisateur comme une seule et même base de données est
appelée base logique.
Chaque base de données regroupée au sein d'une base logique est appelée base physique.
Enregistrement A
Enregistrement B
TSIG2 S26 Client/Serveur
ALSI Cours n°2
4
Un modèle logique des données réparti précise l'implantation des données permanentes sur
chacun des postes de travail d'un système. Le MLD réparti est composé de 2 à n MLD locaux.
Chaque MLD local est propre à un type de poste de travail.
3.2. Techniques de distribution des données
Les techniques de distribution (également appelées techniques de répartition) des données du
MLD réparti sont de deux types :
1 - La distribution dite intégrale :
avec segmentation des données au niveau table :
Exemple : au niveau d'une table, la segmentation (ou fragmentation) peut être
horizontale (distribution des tuples) ou verticale (distribution d'attributs).
La segmentation horizontale est assez répandue, elle va par exemple permettre à une
entreprise installée dans plusieurs régions d'implanter dans chaque région (donc au
plus près des utilisateurs) les données (clients …) relatives à la région. Par exemple,
les clients de Paris se trouvent dans une table sur le site de Paris tandis que ceux de
Dijon se trouvent dans une table sur le site de Dijon.
La segmentation verticale est très peu répandue.
sans segmentation au niveau table : on parle également de distribution intégrale si
on choisit de mettre les différentes tables de la base logique dans des bases physiques
différentes sans pour autant faire de la segmentation au niveau table.
2 - La distribution par réplication qui consiste à dupliquer les données à partir d'un
site d'origine par envoi de copies vers des sites de réplication.
Ces deux types de distribution peuvent être combinés, c'est le cas par exemple quand on
fragmente horizontalement une table dans plusieurs régions et qu'on souhaite avoir une
consolidation des différentes parties de la table au niveau du siège.
Quand il y a répartition de données, une requête émise par un client peut entraîner l'exécution
de requêtes sur plusieurs sites afin d'assurer la cohérence des données.
BASE LOGIQUE
Base
physique A
Base
physique C
Base
physique B
TSIG2 S26 Client/Serveur
ALSI Cours n°2
5
Il peut s'agir de requêtes de consultation sur le site distant (cas 1): c'est le cas pour vérifier
une contrainte d'intégrité référentielle.
Il peut également s'agir de requêtes de mise à jour (au sens large) sur le(ou les) site(s)
distant(s) (cas 2) : c'est le cas quand il y a duplication des données, il faut assurer la
propagation des mises à jour. Deux types de MAJ peuvent être utilisées :
- soit la MAJ synchrone (méthode PUSH) : la mise à jour des copies est assurée en
temps réel
Avantage : données toujours à jour et intègres.
Inconvénient : nécessaire disponibilité du réseau.
- soit la MAJ asynchrone (méthode PULL) où les modifications sont propagées à
intervalles réguliers dans les copies ou bien à la demande d'un site répliquat (site sur
lequel figure une copie).
Avantage : les sites peuvent être indisponibles (sans que cela empêche les MAJ).
Inconvénient : il faut travailler avec des données moins "fraîches".
Remarques :
. La réplication peut être manuelle. Dans ce cas, c'est l'administrateur qui la demande
explicitement.
. Il est possible d'autoriser la réplication symétrique (le site ou le poste devient
alternativement copie ou référence).
4. MISE EN ŒUVRE DE LA REPARTITION DES DONNEES SOUS ORACLE 8
L'accès à des données distantes s'effectue au moyen de liens base de données (DATABASE
LINK).
4.1. Cas de distribution sans réplication
Il faut écrire des triggers pour vérifier les contraintes d'intégrité référentielle car il est
impossible de poser une contrainte déclarative de clé étrangère (FOREIGN KEY) faisant
référence à une clé primaire distante.
Les triggers sont vulnérables aux pannes de réseau. En cas d'erreur dans l'exécution du trigger,
l'ordre ne pourra être effectué.
4.2. Cas de distribution avec réplication
Sous Oracle, on parle de cliché uniquement dans le cas de la réplication asynchrone sinon on
parle de copie.
4.2.1. Réplication synchrone
Elle est réalisée au moyen de triggers.
CREATE TRIGGER maj_employes
BEFORE DELETE OR INSERT OR UPDATE ON employes
FOR EACH ROW
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !