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



Documents pareils
Module BDR Master d Informatique (SAR)

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

Implémentation des SGBD

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

Cours Bases de données

Bases de données cours 1

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

Software Engineering and Middleware A Roadmap

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

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

Le modèle client-serveur

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

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

Urbanisme du Système d Information et EAI

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

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

Fiche de l'awt Intégration des applications

Bases de données avancées Introduction

Données Réparties. Thibault BERNARD.

Cours de Base de Données Cours n.12

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

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

Chapitre 1 : Introduction aux bases de données

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Environnements de Développement

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

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

Nouvelles Plateformes Technologiques

Compte Rendu d intégration d application

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

10. Base de données et Web. OlivierCuré

Annuaires LDAP et méta-annuaires

Java et les bases de données

LES ACCES ODBC AVEC LE SYSTEME SAS

MULTITEL, votre partenaire de recherche et d innovation

La reconquête de vos marges de manœuvre

Programmation Web. Introduction

CESI Bases de données

Les nouvelles architectures des SI : Etat de l Art

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

Réplication des données

Gestion de données réparties. Cours 1

Les Architectures Orientées Services (SOA)

Java pour le Web. Cours Java - F. Michel

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Moderniser. le système d information et le portefeuille applicatif.

Les systèmes de gestion de version

Systèmes informatiques d entreprise

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

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

et Groupe Eyrolles, 2006, ISBN :

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

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

Mise en œuvre des serveurs d application

Architectures d'intégration de données

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

Administration de systèmes

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

INTRODUCTION AUX BASES de DONNEES

Le Network File System de Sun (NFS)

Concepts et définitions

INDUSTRIALISATION ET RATIONALISATION

Annexe : La Programmation Informatique

WEBSPHERE & RATIONAL. Jacques Rage

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

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

Fusion : l interopérabilité chez Oracle

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

Introduction aux applications réparties

Application web de gestion de comptes en banques

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

Installation du point d'accès Wi-Fi au réseau

Gestion répartie de données - 1

Entreprises Solutions

MARS La mise en place d un réseau informatique facilite la communication interne d une entreprise. # #

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Systèmes de gestion de code source

Brique BDL Gestion de Projet Logiciel

INTRODUCTION AUX SGBD/R LUW

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

LOGICIEL DE GESTION DE LABORATOIRE ALPHA LABO

Présentations personnelles. filière IL

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

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

Développer une stratégie SIG Entreprise efficace avec ESRI et ArcGIS

Itium XP. Guide Utilisateur

CONTEXTE GENERAL : CADRE DE REFLEXION ET D ACTION ET DOMAINES D INTERVENTION

Les Entrepôts de Données

1. Introduction à la distribution des traitements et des données

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

Dell Server PRO Management Pack 4.0 pour Microsoft System Center Virtual Machine Manager Guide d'installation

2 Programme de formations ERP... 7

Introduction aux Bases de Données Relationnelles Conclusion - 1

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Module BD et sites WEB

NOUVELLES FONCTIONNALITÉS DE MYQ 4.4

Transcription:

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

Plan Concept de transaction - Propriétés ACID Transactionnel réparti Moniteur transactionnel Modèle X/Open Exemple de moniteur transactionnel: Tuxedo Moniteurs transactionnels et SGBDs 2

Introduction Le transactionnel est une dimension essentielle des systèmes d'information des entreprises Un système transactionnel (OLTP On Line Transaction Processing) fournit un cadre pour les applications critiques, il est fiable et à haute performance; Le transactionnel réfère à un mode d exploitation de données tourné vers la saisie, le stockage, la mise à jour, la sécurité et l intégrité des données 3 Par exemple, les systèmes de gestion des transactions boursières ou bancaires, dont les guichets automatiques ou les systèmes d inventaire dans les magasins

Concept de transaction 4

Concept de transaction Une transaction est un ensemble d opérations menées sur une BD,Ces opérations peuvent être en lecture et/ou écriture, Une opération est atomique, c est donc une unité indivisible de traitement, Une transaction est soit validée par un commit, soit annulée par un rollback,soit interrompue par un abort, Une transaction a une marque de début (Begin Of Transaction BOT), et une marque de fin (End Of Transaction EOT). La cohérence et la fiabilité d une transaction sont garanties par 4 propriétés : l Atomicité, la Cohérence, l Isolation, la Durabilité qui font l ACIDité d une transaction. 5

Exemple de transaction 6 Etat cohérent Incohérence possible... Etat cohérent Begin Transaction Commit Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000 Commit T1

Propriétés ACID on appelle transaction une séquence d'actions sur l'état physique et logique d'une application qui respecte les propriétés suivantes dites ACID (Atomicity, Consistency, Isolation, Durability): Atomicité: Les changements opérés par une transaction sur l'état sont atomiques: ils sont tous exécutés ou bien aucun ne l'est; Consistance: Une transaction est une transformation correcte de l'état. L'ensemble des actions accomplies par la transaction ne viole pas les contraintes associées avec l'état. Ceci implique que la transaction soit un programme correct; Isolation: les résultats d une transaction ne doivent être visibles aux autres transactions qu une fois la transaction validée, ceci afin d éviter les interférences avec les autres transactions Durabilité: Lorsqu'une transaction se termine avec succès (commitement), le changement qu'elle a provoqué sur l'état doit survivre aux défaillances. 7

Schéma de transaction simple Fin avec succès ou échec 8 Begin_Transaction update update... Commit ou Abort - Provoque l'intégration réelle des mises à jour dans la base - Relâche les verrous - Provoque l'annulation des mises à jour - Relâche les verrous - Reprend la transaction

Effet logique Update Update 9 Mémoire de la transaction Commit Abort Bases de données Poubelle

Gestion de transactions reparties 10

OBJECTIF Transactions réparties Garantir que toutes les mises à jour d'une transaction sont exécutées sur tous les sites ou qu'aucune ne l'est. EXEMPLE Transfert de la somme X du compte A vers le compte B DEBUT FIN site 1: A = A - X 11 site 2: B = B + X PANNE --> INCOHERENCE DONNEES PROBLEME Le contrôle est réparti : chaque site peut décider de valider ou d annuler...

Validation d une Transaction Transactions Centralisés l application et les données sont sur la même machine Panne facile à traiter Validation à 1 phase transactions Distribuées l application et les données sont sur 2 à N machines Panne (partielle) difficile à traiter Validation à 2 phases (2PC : Two Phases Commit) Validation à 3 phases (3PC : Three Phases Commit) 12

Principe Commit en 2 Phases Diviser la commande COMMIT en deux phases Phase 1 : Préparer à écrire les résultats des mises à jour dans la BD Centralisation du contrôle Phase 2 : Écrire ces résultats dans la BD Coordinateur : Le composant système d'un site qui applique le protocole Participant : 13 Le composant système d'un autre site qui participe dans l'exécution de la transaction

1. PREPARER Protocole C/S Le coordinateur demande aux autres sites s ils sont prêts à commettre leurs mises à jour. 2a. SUCCES : COMMETTRE 14 Tous les participants effectuent leur validation sur ordre du client. 2b. ECHEC : ABORT Si un participant n est pas prêt, le coordinateur demande à tout les autres sites de défaire la transaction. REMARQUE Le protocole nécessite la journalisation des mises à jour préparées et des états des transactions dans un journal local à chaque participant.

Cas Favorable 15 SITE COORDINATEUR SITE PARTICIPANT 1 SITE PARTICIPANT 2 PREPARE PREPARE OK COMMIT ACK OK COMMIT ACK

Cas Défavorable (1) 16 SITE COORDINATEUR SITE PARTICIPANT 1 SITE PARTICIPANT 2 PREPARE PREPARE OK ABORT KO ABORT ACK ACK

Cas Défavorable (2) SITE PARTICIPANT 1 17 SITE COORDINATEUR SITE PARTICIPANT 2 PREPARE PREPARE OK COMMIT ACK OK COMMIT STATUS COMMIT ACK

Commit distribué ou centralisé Validation à deux phases centralisée 18 Prepare OK Commit OK Possibilité de diffuser la réponse au PREPARE chaque site peut décider localement dans un réseau sans perte Prepare OK

Transitions d'etats 19 Initia l CCommit/Prepare VoteKO/GAbort Abort Wait VoteOK/GCommit Commit Initial Prepare/VoteOK COORDINATEUR GAbort/Ack Abort Ready GCommit/Ack Commit PARTICIPANT

Moniteur transactionnel 20 Logiciel assurant le contrôle de la faisabilité d'une transaction commerciale en temps réel et l'équilibre de la charge de traitement entre les différents serveurs. Vendre des produits ou proposer des services en ligne implique l'interaction de nombreux processus. Pour la réservation de billets, par exemple, il faut notamment vérifier la disponibilité du service, débiter le compte du client et créditer celui de l'entreprise. Dans ce contexte, le recours à un moniteur transactionnel garantit à la fois la fiabilité et la robustesse des applications commerciales. Le moniteur transactionnel surveille ainsi toutes les requêtes du client et appelle les fonctions correspondantes sur le serveur.

Moniteur transactionnel Peu de systèmes d exploitation ont été conçus dans l optique du transactionnel Le support d un grand nombre d utilisateurs et d un flux important de transactions (plusieurs milliers par seconde) provoque un effondrement des systèmes 21 Le rôle d un moniteur transactionnel est de : Gérer des processus comprenant le lancement des applications, le contrôle de leur déroulement et l équilibrage de charge (on peut parler de multiplexage des requêtes sur les ressources du système) Gérer des transactions (respect des propriétés ACID) dans un contexte, éventuellement distribué, mettant en jeu plusieurs gestionnaires de données)

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 22

Modèle de moniteur transactionnel Réseau 23 Terminal Message Manager (MM). Collecte les entrées des transactions (gestion de formes). Construit un format standard d'entrée des requêtes. Envoie les résultats (gestion de formes) Request Control (RC). Débute et termine les transactions. Détermine le type des requêtes. Dirige les requêtes vers les applications appropriées Application Server (AS). Exécute les programmes d'application Database System (DBMS). Gère les données partagées

Interface utilisateur Utilisation d un API unique 24 Masquage de la complexité de l organisation des services

Moniteur transactionnel : Modèle X/OPEN Modèle DTP de l X/OPEN Programme d application AP Gestionnaire de transactions TM Gestionnaire de communication CRM Gestionnaire 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 TX TM CRM TM RM XA

tx_open Interface applicative TX 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 le statut de la transaction. 26

xa_open Interface ressource XA ouvre un contexte pour l application. xa_start débute une transaction. xa_end 27 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.

Exemple de moniteur transactionnel : Tuxedo Initialement développé par AT&T pour ses propres applications transactionnelles sous Unix, repris ensuite par USL (Unix System Laboratories), puis Novell et maintenant possession de BEA Début de commercialisation en 1989. Plusieurs milliers de systèmes installés Disponible sur un grand nombre de systèmes Caractéristiques Conforme au modèle X/Open DTP (Distributed Transaction Processing) Portabilité Support au niveau des langages de programmation (e.g. Visual Basic, Cobol) Architecture Client/Serveur Management du système Multiplexage Clients - Serveurs Mécanisme de gestion de files d'attente de messages Transactions distribuées Sécurité 28

Tuxedo Architecture d'application 29 Applications Tools, 4GL s C, C++, COBOL TUXEDO System Client- Server Name Server ATMI Mngmnt & Admin Connectivity Distributed Transaction Processing System-Level (Hardware, Operating System, Network) Resource Manager(s) ATMI : Application - Transaction Manager Interface

Moniteurs transactionnels et SGBD 30 Il y a deux possibilités pour la programmation d'un système transactionnel: Programmation Client/Serveur, sans moniteur transactionnel, en relation avec les possibilités offertes par les SGBDs. Ceci est appelé "TP Lite" ou transactionnel léger Utilisation d'un moniteur transactionnel qui fournit le cadre architectural des applications et utilisation des services fournis par différents composants logiciels (e.g. SGBDs). Ceci est appelé "TP Heavy" ou transactionnel lourd Pour le choix entre ces deux approches, différents éléments rentrent en ligne tels que: Transactionnel léger : dépendance vis à vis du fournisseur de SGBD, limitations vis à vis de la programmation des transactions (la validation est faite au niveau du SGBD), problèmes de performance,... Pour TP Heavy: limitation potentielle dans les progiciels que l'on peut intégrer, pérennité du moniteur, complexité de la programmation,...

Références 31 [BER97] Philip A. Bernstein, Eric Newcomer «Principles of Transaction Processing» [BES97] Morgan Kaufmann, San Mateo, 1997 Jérôme Besancenot, Michèle Cari, Jean Ferrié, Rachid Guerraoui, Philippe Pucheral, Bruno Traverson, " Les systèmes transactionnels : concepts, normes et produits " Hermès Science, 1997 [GRA93] Jim Gray, Andreas Reuter «Transaction Processing: Concepts and, Techniques» Morgan Kaufmann, San Mateo, 1993