Architecture serveur de pages (2) Bilan architecture serveur de pages. Architecture multi-serveur. Pertes de mise à jour



Documents pareils
Réplication des données

WEA Un Gérant d'objets Persistants pour des environnements distribués

Bases de données et sites WEB Licence d informatique LI345

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Implémentation des SGBD

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Cours Bases de données 2ème année IUT

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Cours Bases de données

Données Réparties. Thibault BERNARD.

Présentation du module Base de données spatio-temporelles

Cours de Base de Données Cours n.12

Le Network File System de Sun (NFS)

Bases de données Cours 1 : Généralités sur les bases de données

CESI Bases de données

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les bases de données Page 1 / 8

INTRODUCTION AUX BASES de DONNEES

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Module BDR Master d Informatique (SAR)

SYSTÈME DE GESTION DE FICHIERS

CHAPITRE 1 ARCHITECTURE

Gestion répartie de données - 1

Introduction aux Bases de Données

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Structure fonctionnelle d un SGBD

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Mini-projet systèmes & réseau serveur de «tchatche»

Module BDR Master d Informatique (SAR)

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Documentation d information technique spécifique Education. PGI Open Line PRO

Bases de données cours 1

Introduction aux SGBDR

Introduction aux Bases de Données Relationnelles Conclusion - 1

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

//////////////////////////////////////////////////////////////////// Administration bases de données

IFT3030 Base de données. Chapitre 1 Introduction

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Bases de données avancées Introduction

PostgreSQL. Formations. SQL avancé Calendrier... 18

PLATEFORME DE SUPERVISION

CH.3 SYSTÈMES D'EXPLOITATION

A QUOI SERVENT LES BASES DE DONNÉES?

Module BD et sites WEB

4D v11 SQL Release 5 (11.5) ADDENDUM

Oracle Database 11g: Administration Workshop I Release 2

Chapitre 1 : Introduction aux bases de données

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Parcours en deuxième année

Gestion de données réparties. Cours 1

Projet gestion d'objets dupliqués

«clustering» et «load balancing» avec Zope et ZEO

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Bases de données avancées Concurrence d'accès et reprise

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Licence Professionnelle Commerce Electronique. MySQL. Michel DUBOIS Michel Dubois : Support de cours SGBD N 1

Le passage à l échelle de serveur J2EE : le cas des EJB

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Bases de données relationnelles : Introduction

Initiation à Internet Médiathèque de Bussy Saint-Georges. Le Cloud

Recommandations techniques

PostgreSQL. Formations. Calendrier... 14

Cours de Systèmes d Exploitation

Mercredi 15 Janvier 2014

Notes de cours : bases de données distribuées et repliquées

et les Systèmes Multidimensionnels

Libérez votre intuition

Présentation Alfresco

Master I Génie Logiciel

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

Java et les bases de données

Groupe Eyrolles, 2004 ISBN :

Lotus Notes et Domino 8.5 Administration de serveurs Domino

PROJET 1 : BASE DE DONNÉES REPARTIES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Bases de Données Avancées

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Du 10 Fév. au 14 Mars 2014

Les Architectures Orientées Services (SOA)

Architectures d implémentation de Click&DECiDE NSI

Configuration automatique

Introduction aux applications réparties

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

Introduction aux bases de données

Transcription:

Introduction Chapitre 5. Implémentation des SGBDO 1 architectures client/serveur 2 concurrence, pannes 3 Quelques SGBDRO 4 Quelques SGBDOO années 80 : serveur : BD client : applications et langages appel au serveur via SQL adaptable aux BDO mais client = station de travail déporter des fonctionnalités serveur client Chapitre5.Implémentations 1 Chapitre5.Implémentations 2 Architecture fonctionnelle couche 1 : outils de développement outils graphiques de développement permettent conception interactive génération d application avec interface graphique couche 2 : langage langage de définition de données (schéma) langage de requêtes (interrogation) langage de programmation (méthodes et applications) interfaces avec d autres systèmes couche 3 : gestion d objets mécanismes d accès & manipulation d objets Architecture opérationnelle La couche : gestion mémoire virtuelle page = unité de transfert disque / MC taille classique = 4Ko cache de pages pages les + utiles aux appli éviter les accès disque si page manquante : accès disque repose sur système d accès disque allocation espace disque lecture de blocs écriture de pages Chapitre5.Implémentations 3 Chapitre5.Implémentations 4 La couche La couche manipulation de fichiers d index et fichiers d enregistrements fichier = regroupe physiquement objets à caractéristiques communes (même classe) objets grande taille connexions interobjets utilisée par une application gère: création & manipulation d objets persistants espace adressage des objets Chapitre5.Implémentations 5 Chapitre5.Implémentations 6

Mécanismes de contrôle de concurrence gestion transactions multiutilisateur verrouillage (multiutilisateur) journalisation (reprise après panne) fonctions partagées par couches et s appuient sur couche Architecture serveur d objets Unité de transfert = objet ou groupe d objets utilisée dans tous les SGBDRO et dans les SGBDOO Orion, Ontos, Versant objet Client Serveur Chapitre5.Implémentations 7 Chapitre5.Implémentations 8 Architecture serveur d objets Architecture serveur d objets (2) Client Serveur Client : exécute application Serveur : gère BD sur Client et Serveur : même couche cache d objets client : réduire accès serveur serveur : réduire accès disque Interface entre Client et Serveur créer, détruire un objet lire ou modifier un objet envoyer un message à un objet serveur : les fonctions BD maintenance intégrité (acyclicitégraphe d objets) client : gestion interfaces et outils L4G Chapitre5.Implémentations 9 Chapitre5.Implémentations 10 Bilan Architecture serveur d objets Avantages verrouillage etjournalisation niveau objet : accès concurrent à 2 objets d 1 même page serveur gère BD : sélection avant transfert ex : select sur grande collection Inconvénients accès par objet au serveur (évitable grâce au cache) opérations utilisateurs (requêtes) sur le serveur : menace sécurité et fiabilité excessive centralisation : ralentissement client Chapitre5.Implémentations 11 Architecture serveur de pages majeur partie fonctions BD sur Client unité transfert = page utilisée dans SGBDOO récents Objectstore, O 2 Client page Serveur Accès disque Chapitre5.Implémentations 12

Appli Architecture serveur de pages (2) Accès disque Interface ClientServeur : allouer,désallouer des pages lire ou écrire des pages Client : gère et Serveur : gère accès Client et Serveur : même couche cache de pages : verrouillage et journalisation au niveau page Bilan architecture serveur de pages Avantages : gestion fichiers et objets : consommatrice en calcul client + gd nombre de clients servis serveur isolé des pannes Inconvénients : requêtes ensemblistes : transfert toute la collection verrouillage et journalisation niveau page : concurrence multiutilisateur serveur de page ou serveur d objets grande mémoire principale et forte localité de référence : serveur de page > serveur d objets Chapitre5.Implémentations 13 Chapitre5.Implémentations 14 Architecture multiserveur solution hybride : certaines fonctions de couche objet duppliquées sur serveur de pages verrouillage niveau objet chaque machine utilisable en client ou en serveur ou les deux unité de transfert : page ou objet Architecture multiserveur : la couche «objets répartis» transforme objets non locaux en appel aux serveurs concernés basée sur catalogue = info sur répartitions des objets catalogue dupliqué sur chaque serveur en général : unité localisation= base d objets (et pas l objet) ex: GemStone deontos un objet ne peut pas référencer un objet non local Chapitre5.Implémentations 15 Chapitre5.Implémentations 16 Pertes de mise à jour Chapitre 5 : Implémentations des SGBDO 2 gestion des transactions : concurrence et pannes éviter les pertes de mise à jour : lire A>a a<a*2 écrire a> A utilisateur1 lire A>b b++ écrire b>a utilisateur2 la mise à jour utilisateur2 est perdue Chapitre5.Implémentations 17 Chapitre5.Implémentations 18

Incohérence mises à jour intercalées de données violation de contrainte d'intégrité CI : A=B CI est violée! A*2>A B*2> B utilisateur1 A+1>A B+1>B utilisateur2 Chapitre5.Implémentations 19 Gestion des transactions verrouillage deux phases : objets verrouillés avant d être fournis à l application et relâchés en fin de transaction technique la plus utilisée journalisation avant écriture contrôle de concurrence optimiste accès aux objets sans contrôle, validation en fin de transaction (annulation des transactions accèdant à un objet dans un mode incompatible) GemStone : choix entre verrouillage 2 phases et contrôle de concurrence optimiste Chapitre5.Implémentations 20 Les transactions chez O2 transaction = unité de modification de la base validée : modifications répercutées sur disque. avortée : l'état de la base n'est pas modifié. 2 personnes ne doivent pas être capables de modifier le même objet simultanément si une personne utilise un objet, en consultation, il ne faut pas que quelqu'un d'autre puisse alors le modifier. le système O 2 gère des verrous en lecture et des verrous en écriture. Mode de verrouillage O2 Plusieurs utilisateurs peuvent lire en même temps la même donnée (plusieurs verrous en lecture peuvent y être posés simultanément). Un seul utilisateur peut la modifier (il doit être seul à l'avoir verrouillée en écriture, aucun autre verrou ne pourra être posé, même en lecture) La pose de verrou est faite automatiquement par le système: str= John>name;... John>age++; Validation ou Abort > verrou en lecture R de John > verrou en écriture W de John > verrous relâchés Chapitre5.Implémentations 21 Chapitre5.Implémentations 22 O2 : Evolution du mode de verrouillage O2 : Exemple donnée lue en transaction reste verrouillée en lecture jusqu'à : une écriture dans la même transaction (elle devient alors verrouillée en écriture) la fin de la transaction donnée modifiée en transaction reste verrouillée en écriture jusqu'à : la fin de la transaction John manager spouse Peter Ann Peter= John> manager; str=peter > name; Peter >age++; John>salary+= 100; Ann= new Person; John>spouse= Ann; validate; John Peter R. W R W Chapitre5.Implémentations 23 Chapitre5.Implémentations 24

O2 : Conflit d'acces attente Si un ou plusieurs utilisateurs lisent une donnée, l'utilisateur qui veut la modifier est mis en attente sur ressource ; il doit attendre que les autres accès en lecture soient terminés (fin des autres transactions). USER1 veut modifier A ATTENTE modifie A USER2 VALIDATION Cette attente déclenche un signal qui peut être traité par l'application. O2 : Conflit d'acces verrou mortel Si plusieurs utilisateurs sont en ATTENTE mutuelle de ressources, le système de verrous est alors bloqué. Le système est dit en "DEADLOCK". USER1 veut modifier B ATTENTE peut modifier B DEADLOCK : un cycle d'attente. USER2 en lecture sur B veut modifier A ATTENTE> DEADLOCK ABORT Le signal émis par le système peut être récupéré par l'application. Par défaut, c'est la transaction ayant créé le cycle qui sera avortée. Chapitre5.Implémentations 25 Chapitre5.Implémentations 26 Transaction O2 Une transaction commence par une instruction Elle se termine par une instruction de validation (validate ou commit) ou par une instruction d'annulation des modifications faites (abort). validate: commit: abort: enregistre les modifications du schéma et de la base, libère les verrous fait un validate; libère la mémoire pour les objets temporaires O2. renonce à toutes le modifications faites depuis le début de la libère les verrous; libère la mémoire pour les objets temporaires O2. Mode hors transaction O2 Le mode hors transaction (ou mode programme) : possibilité de lire les objets de la base, interdiction de les modifier. les objets ne sont pas vérouillés si des transactions les modifient, l'utilisateur n'en est pas informé. Le mode hors transaction est le mode par défaut des applications O 2. L'instruction transaction passe en mode transactionnel. La première instruction de validation (validate ou commit) ou abort remet en mode hors transaction. Ces instructions peuvent être utilisées dans des programmes C++, C, O2C, O2API ou dans le langage de commandes. Chapitre5.Implémentations 27 Chapitre5.Implémentations 28 Gestion du cache d objets O2 Cache Client O 2 Ann _0 Ann= John>spouse; Ann_0 Ann _0 Cache Serveur Ann >age++; Ann_1 Ann _0 validate; Ann _1 Ann_1 Ann _1 Ann_2 age= Ann>age; Ann _1!!!!! Ann _2 name= Ann> name; Ann_2 Ann _2 Ann >salary+= 100; Ann_3 Ann _2 commit; Ann_3 Verrouillage page/objet O2 Par défaut, demande d un objet par client : verrou sur la page (le client garde en mémoire le lien verrouobjet) En cas de conflit, le serveur descend le verrouillage au niveau de l objet. client1 page P pour John client2 page P pour Ann Lecture dejohn dans la page P Ecriture deann dans la page P o 2 Server page P >R John >R client1 Ann >W client 2 Chapitre5.Implémentations 29 Chapitre5.Implémentations 30

3. Quelques SGBDRO Odaptor (HP, 1992, C) Postgres (Université Berkeley, 1992, C) Illustra (Informix) UniSQL GemStone ObjectStore Orion Ontos Ode Versant Quelques SGBDOO Chapitre5.Implémentations 31 Chapitre5.Implémentations 32 Bilan Domaines visés => architecture SGBDO serveur de pages : meilleur exploitation puissance postes de travail applications coopératives comme l ingéniérie serveur d objets : verouillage au niveau objet architecture idéale : multiserveurde pages avec verrouillage niveau objet Bilan (2) Extensions des SGBDR : nécessaire objets volumineux, ramasse miettes, transactions longues, optimisation requêtes SGBDRO : évolution SGBDR vers objets SGBDR : outil déjà bien adaptés SGBDOO : meilleurs pour applications complexes des SGBDOO veulent s intégrer SGBDR Informix et Illustra Unidata et O2 intérêt de cumuler avantages des 2 approches standards : SGBDRO convergent vers SQL3, SGBDOO vers ODMG Chapitre5.Implémentations 33 Chapitre5.Implémentations 34 FIN Chapitre5.Implémentations 35