Module BDR Master d Informatique (SAR)



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

Gestion de données réparties. Cours 1

Implémentation des SGBD

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

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

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

Réplication des données

Le modèle client-serveur

Cours Bases de données

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

Données Réparties. Thibault BERNARD.

Module BDR Master d Informatique (SAR)

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

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

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

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

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Urbanisme du Système d Information et EAI

Cours de Base de Données Cours n.12

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

Année Universitaire 2009/2010 Session 2 de Printemps

Projet gestion d'objets dupliqués

CH.3 SYSTÈMES D'EXPLOITATION

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

Mise en œuvre des serveurs d application

Software Engineering and Middleware A Roadmap

Compte Rendu d intégration d application

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

CESI Bases de données

SYSTÈME DE GESTION DE FICHIERS

Virginie!SALAS Janvier!09! NFE107

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

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

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Le Network File System de Sun (NFS)

LES ACCES ODBC AVEC LE SYSTEME SAS

Introduction à la conception de systèmes d information

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

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Bases de données et sites WEB

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

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

2 Chapitre 1 Introduction

Description de SQL SERVER. historique

Module BD et sites WEB

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Architectures d'intégration de données

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

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

Gestion répartie de données - 1

Exchange Server 2013 Préparation à la certification MCSE Messaging - Examen

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

NFP111 Systèmes et Applications Réparties

Introduction aux applications réparties

Répartition, Réplication, Nomadisme, Hétérogénéité dans les SGBDs

Introduction aux Bases de Données Relationnelles Conclusion - 1

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Java et les bases de données

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

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Haute disponibilité avec PostgreSQL

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Les nouvelles architectures des SI : Etat de l Art

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

Chapitre 2 Rôles et fonctionnalités

Environnements de Développement

Groupe Eyrolles, 2004 ISBN :

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

IDEC. Windows Server. Installation, configuration, gestion et dépannage

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

Administration de systèmes

L exclusion mutuelle distribuée

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

CORBA. (Common Request Broker Architecture)

Présentation d HyperV

Chapitre 4 : Exclusion mutuelle

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Mettre en place un accès sécurisé à travers Internet

Optimisations des SGBDR. Étude de cas : MySQL

Module : Virtualisation à l aide du rôle Hyper-V

Présentation du PL/SQL

Créer et partager des fichiers

3. La SGA ou System global Area

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

La reconquête de vos marges de manœuvre

Chapitre 10. Architectures des systèmes de gestion de bases de données

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Addenda du Guide de l administrateur

Logiciel HP StorageWorks Enterprise Virtual Array (EVA) Fiche technique

SQL Server 2012 et SQL Server 2014

PROJET 1 : BASE DE DONNÉES REPARTIES

CommandCenter Secure Gateway

Introduction aux intergiciels

Transcription:

Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr

Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de verrouillage Concepts des moniteurs transactionnels Standardisation des systèmes transactionnels Exemples de moniteurs

Concept de transaction Une transaction est une collection d'actions qui transforment la BD (ou des fichiers) depuis un état cohérent en un autre état cohérent BD cohérente (garantie par le système) transaction cohérente (garantie par le programmeur) BD dans un état cohérent Begin exécution de la transaction BD dans un état cohérent End

Exemple de transaction Réduire la cde no 10 de 5 unités et les reporter à la cde 12 Transaction Report-qté begin end. exec sql UPDATECde SET qte = qté - 5 WHERE ncde = 10; exec sql UPDATECde SET qté = qté + 5 WHERE ncde = 12; exec sql COMMIT WORK;

Problèmes liés à la répartition Les mises à jour sont effectuées sur TOUS les sites, ou sur AUCUN => nécessité de coordonner. Items locaux (physique) et items globaux (logique). Transaction globale et transaction locale : le système doit garantir la sérialisabilité globale. Verrouillage centralisé vs décentralisé verrous logiques et verrous physiques verrous mortels intersites

Isolation par verrouillage 2 Phases verrous T temps Les verrous en lecture sont partageables; ceux en écriture sont exclusifs Règle 1 avant d'accèder à un granule x, une transaction doit acquérir un verrou sur x. Si x est déjà verrouillé de façon exclusive, la transaction attend Règle 2 dès qu'une transaction relâche un verrou, elle ne peut plus acquérir de nouveau verrou

Performances L'objectif est de réduire: les blocages une transaction attend qu'une autre transaction relâche ses verrous les inter-blocages un ensemble de transactions attend que l'une d'entre elles relâche ses verrous

Degrés d isolation Degré0 verrou en écriture sur x relâché après écriture de x (verrous courts) pas d écritures "sales" Degré1 verrouillage en écriture à deux phases (verrous longs en écriture) pas de pertes de mise à jour Degré2 verrou en lecture sur x relâché après lecture de x (verrou court en lecture) pas de lectures "sales" Degré3 verrouillage en lecture à deux phases (verrous longs en lecture) les lectures sont répétables, sérialisabilité

Gestion de transactions réparties Begin Read Write Abort Commit application résultats Gérant de Transactions Globales STrans. STrans. Gérant de Transactions Locales Gérant de Transactions Locales

Protocole de validation en deux étapes (2PhaseCommit) Objectif : Exécuter COMMIT pour une transaction répartie Phase 1 Préparer à écrire les résultats des mises à jour dans la BD Phase 2 Ecrire ces résultats dans la BD Coordinateur composant système d un site qui applique le protocole (lance la transaction, la découpe en sous-transactions à exécuter sur les différents sites, coordonne la terminaison de la transaction) Participant composant système d un autre site qui participe dans l'exécution de la transaction

Actions du protocole Coordinator Participant INITIAL PREPARE INITIAL write begin_commit in log VOTE-ABORT write abort in log No Ready to Commit? Yes WAIT VOTE-COMMIT write ready in log Any No? Yes write abort in log GLOBAL-ABORT READY No GLOBAL-COMMIT write commit in log COMMIT ABORT ACK write abort in log Abort Type of msg? Commit ACK write commit in log write end_of_transaction in log ABORT COMMIT

Validation normale P1 Coordinateur P2 préparer préparer prêt prêt valider valider fini fini

Panne d'un participant avant d'être prêt P1 Coordinateur P2 préparer prêt abandon fini préparer timeout abandon fini } reprise panne

Panne d'un participant après s'être déclaré prêt P1 Coordinateur P2 préparer préparer prêt prêt valider fini valider prêt } panne reprise valider fait

Panne du coordinateur P1 Coordinateur P2 préparer prêt préparer prêt valider fini préparer prêt préparer prêt valider fini

Protocoles de verrouillages répartis Traduire le verrouillage logique en verrouillages physiques. 1. Pas de réplication : - gestionnaire de verrous local sur chaque site + facile à implémenter + peu de messages (2 pour verrouiller, 1 pour libérer) - gestion des verrous mortels complexe 2. Avec réplication : - plusieurs méthodes, dont le coût (nb de messages) dépend du nombre de copies, du rapport lectures/écritures, de la concurrence (verrous refusés)

Méthode du nœud central Un seul gestionnaire de verrous, sur un seul site. Table de verrous logiques. Si un verrou est accordé, la transaction peut lire la donnée sur n importe quel site comportant une copie. Pour l écriture, tous les sites sont impliqués. + peu de messages (3) + Implémentation simple + gestion des verrous mortels simple (algos classiques) - goulot d étranglement - vulnérable : blocage si le site du gestionnaire de verrous est en panne.

Copie primaire Amélioration de la méthode du nœud central : Le gestionnaire est réparti sur plusieurs sites. Le verrouillage d un item logique est sous la responsabilité d un seul site, le site primaire. + suppression du goulot d étranglement + peu de messages (3 en général) + simple à implémenter - complique la gestion des verrous mortels

Majorité Un gestionnaire de verrous sur chaque site, qui gère les verrouillages des objets se trouvant sur le site. Pour verrouiller un item X dupliqué sur n sites, la transaction envoie une demande de verrouillage sur (n+1)/2 sites où se trouvent des copies de X. Chaque gestionnaire détermine s il accorde ou refuse le verrou. + pas de contrôle central - beaucoup de messages ( 3 (n+1)/2) - gestion de verrous mortels complexe, les verrous mortels peuvent même arriver sur une seule donnée!

1. Timeout Détection des verrous mortels Pb : bien déterminer le délai + pas de messages - risque d annulation de plusieurs transactions au lieu d une seule 2. Graphe d attente Les nœuds sont les transactions. On a un arc de Ti ->Tj si Ti attend un verrou tenu par Tj. On construit des graphes locaux, mais les cycles doivent être détectés sur le graphe global (union des graphes locaux). T1 T2 T1 T2 T1 T2 Site 1 Site 2 Graphe global

Détection des verrous mortels Estampilles même principe qu en centralisé. Les transactions s exécutent sur n importe quel site, et laissent une estampille pour la copie en question. En cas d écriture, la transaction écrit sur tous les sites où se trouvent des copies. Comparaison des estampilles wait-die et wound-wait Pb. Étendre la notion d estampille au réparti, harmoniser les horloges.

Moniteur transactionnel Support des transactions ACID Accès continu aux données Reprise rapide du système en cas de panne Sécurité d'accès Performances optimisées partage des connexions réutilisation de transactions Partage de charge distribution de transactions sur les serveurs Support de fichier et bases de données hétérogènes API standardisées

Fonctions transactionnelles Etapes du traitement transactionnel traduire la requête utilisateur en format interne au moniteur déterminer le type de transaction et le programme nécessaire à son exécution débuter la transaction et lancer son exécution valider, ou abandonner, la transaction retourner le résultat à l émetteur de la requête

Fonctions systèmes Un moniteur assure aussi : équilibrage de charge entre requêtes et serveurs résistance aux pannes (client, serveur) gestion de configuration (processus, sessions,...) contôle de performances et réglage sécurité par certification des requêtes

Le modèle DTP de l OpenGroup Composants Programme d application AP Gérant de transactions TM Gérant de communications CRM Gérant de ressources RM Interfaces standards TX = interface du TM XA = interface du RM intégration de TP Types de RM gestionnaire de fichiers SGBD périphérique AP TM TX CRM TM RM XA

Interface applicative TX tx_open ordonne au TM d initialiser la communication avec tous les RM dont les librairies d accès ont été liées à l application tx_begin ordonne au TM de demander aux RM de débuter une transaction tx_commit ou tx_rollback ordonne au TM de coordonner soit la validation soit l abandon de la transaction sur tous les RM impliqués tx_set_transaction_timeout positionne un timeout sur les transactions tx_info permet d obtenir des informations sur une transaction

Interface ressource XA xa_open ouvre un contexte pour l application xa_start débute une transaction xa_end indique au RM qu il n y aura plus de requêtes pour le compte de la transaction courante xa_prepare lance l étape de préparation du commit à deux phases xa_commit valide la transaction xa_rollback abandonne la transaction

Moniteurs transactionnels Encina de Transarc issu de CMU (1992), racheté par IBM construit sur DCE (OSF) pour la portabilité et la sécurité transactions imbriquées conformité DTP : Xa, CPI-C, TxRPC Open CICS de IBM construit sur Encina (et DCE) reprise de l existant CICS (API et outils) conformité DTP : Xa, CPI-C

Moniteurs transactionnels (suite) Tuxedo de BEA éprouvé (depuis 1984), à la base de DTP supporte l asynchronisme, les priorités et le routage dépendant des données conformité DTP: Xa, Tx, XaTMI, CPI-C, TxRPC Top End de NCR produit stratégique d AT&T respecte le modèle des composants DTP (AP, RM, TM, CRM) haute disponibilité conformité DTP: Xa, Xa+, Xap-Tp, Tx Autres : UTM de Siemens, Unikix

Object Transaction Service de l OMG Service transactionnel de CORBA offrant transactions imbriquées interopérabilité avec des transactions non-corba conformes au standard DTP transactions multi-orb

Client transactionnel Objets OTS {Begin-trans, Op1,..., OpN, End-trans} ORB Begin-trans, End-trans Service transactionnel Op1,..., OpN objets transactionnels Objet transactionnel objet impliqué dans la transaction mais sans resource à protéger (fichier, bd, etc) Op1,..., OpM objets réparables Objet réparable (recoverable object) objet transactionnel avec des resources à protéger enregistre les resources à protéger participe à la validation

Objets OTS dans une transaction Serveur Transactionnel Serveur Réparables Client Transactionnel op Objets Transactionnels op Objets Réparables début fin Enregistrer Participe à la validation Transaction Contrôle SERVICE DE GESTION DE TRANSACTIONS Ressources

OrbixOTM d Iona basé sur Encina (Transarc-IBM) M3 de BEA basé sur Tuxedo Principaux OTM Integrated Transaction Service d Inprise implém. de JTS (Java Transaction Service = spéc. Java de OTS) Open CICS et TXSeries d IBM basé sur Encina

Microsoft Transaction Server OTM intégré à DCOM et Windows moniteur et serveur d application Partage de grappes de NT (cluster) Les disques sont supposés partagés Allocation des ressources en pool aux requêtes : pool de connexion aux ressources (SQL Server) pool de transactions (support) pool de machines

SGBD vs Moniteur : configurations serveur présentation client contrôleur serveur transactions procédures stockées SGBD Moniteur transactionnel SGBD Serveur bases de données

SGBD vs Moniteur : propriétés Avantages moniteur : routage dans applications très grande taille langages et environnement plus riches serveurs bases de données répartis hétérogènes communications client-serveur environnement de gestion système Avantages SGBD : simplicité et prix performances pour petites et moyennes applications