Rappel sur les Transactions



Documents pareils
Module BDR Master d Informatique (SAR)

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

Réplication des 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

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

Cours de Base de Données Cours n.12

Gestion de données réparties. Cours 1

Implémentation des SGBD

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

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

Cours Bases de données

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

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

Données Réparties. Thibault BERNARD.

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

Gestion répartie de données - 1

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

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

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

Bases de données cours 1

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

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

Bases de Données Avancées

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

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

Software Engineering and Middleware A Roadmap

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

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

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

Cours de Systèmes d Exploitation

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

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

Eléments de base de la sécurité des bases de données

Les Entrepôts de Données

Le modèle client-serveur

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

L évolution des besoins et des solutions d intégration

Les Systèmes de Gestion de Bases de Données Temps Réel

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Je découvre Lina Maintenance

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

Architectures d'intégration de 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

Manuel du logiciel PrestaTest.

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

Logiciel de création de badges personnalisés.

Chapitre 1 : Introduction aux bases de données

et les Systèmes Multidimensionnels

Projet gestion d'objets dupliqués

Systèmes et algorithmes répartis

Défis engendrés par la criminalité informatique pour le secteur financier

Oracle Database 11g: Administration Workshop I Release 2

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

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Module BDR Master d Informatique (SAR)

CESI Bases de données

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

Virginie!SALAS Janvier!09! NFE107

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Le Network File System de Sun (NFS)

Base de données MySQL

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

Présentation Alfresco

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

La Gestion de la Relation Client n est pas un luxe : c est une nécessité pour gagner en efficacité

Infrastructure à Clé Publique (PKI Public Key Infrastructure)

Systèmes de fichiers répartis

Haute-disponibilité et bases de données

Java et les bases de données

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

CHAPITRE 1 ARCHITECTURE

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

NFP111 Systèmes et Applications Réparties

Démarrer et quitter... 13

Gestion répartie de données - 1 Duplication et cohérence

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

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

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

TP1 : Initiation à l algorithmique (1 séance)

Année Universitaire 2009/2010 Session 2 de Printemps

Introduction à la programmation concurrente

Information utiles. webpage : Google+ : digiusto/

La gestion des données de référence ou comment exploiter toutes vos informations

Les nouvelles architectures des SI : Etat de l Art

CH.3 SYSTÈMES D'EXPLOITATION

Introduction aux bases de données

La technologie Java Card TM

TwinCAT 3 C++ Création de modules C++ sous TwinCAT 3 VERSION : 1.0 / PH

Notion de base de données

l E R P s a n s l i m i t e

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

3, rue de la Louvière RAMBOUILLET Tél. : Fax : S.A.V

Journée CUME 29 Mars Le déport d affichage. Vincent Gil-Luna Roland Mergoil.

Gestion de la Maintenance Assistée par Ordinateur

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

Table des matières 1. Installation de BOB BOB ou un programme annexe ne démarre pas ou ne fonctionne pas correctement...10

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

1. Présentation du TP

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Transcription:

Rappel sur les Transactions Didier DONSEZ Université Joseph Fourier (Grenoble 1) IMAG/LSR/ADELE Didier.Donsez@imag.fr

Agenda Notion de Transaction Propriétés ACID Contrôle de concurrence Reprise sur Panne Transactions distribués Moniteur Transactionnel Modèle avancés

Rappel Fiabilisation Notion de Transaction (Jim Gray) Pour le développeur une série d actions delimitées par Begin et Commit/Abort. Un modèle simple de panne seulement 2 devenir Begin() action action action action Commit() Succès!! Begin() action action action Rollback() Faute!! Begin() action action action Rollback() Erreur!

Rappel Fiabilisation Notion de Transaction Propriétés ACID Atomicité tout ou rien Consistance cohérence sémantique Isolation pas de propagation de résultats non validés Durabilité persistance des effets validés begin Ti BD Cohérente begin Ti BD Cohérente transaction Ti la BD peut être temporairement incohérente transaction Ti la BD peut être temporairement incohérente commit Ti BD Cohérente abort Ti BD Cohérente

Usage des propriétés ACID Systèmes d Information Bases de Données MOM : Message Posting / Delevery Systèmes d exploitation Systèmes de fichiers Bases de registre Installation/Déploiement logicielle (DLL, Composants)

Le contrôle de concurrence (I)

Notion de cohérence Une exécution concurrente non contrôlée de plusieurs transactions crée des incohérences : T 1 T 2 T 1 T 2 T 1 T 2 Read (A) A=19 Read (A) Begin Write (A) A=19 Read (A) A=19 Write (A) Write(A+10) A=29 A=39 Write (A+20) Abort A=10 A=11 Read (A) Write (A+1) Read (A) A=10 (1) Perte d Opération (2) Lecture Sale (3) Lecture non répétable

Contrôle de Concurrence Exécution sérielle T1 puis T2 puis T3 puis T4 T2 puis T1 puis T3 puis T4 Sérialisabilité entrelacement des actions des transactions tel que le résultat est équivalent à celui d une des exécutions sérielles Méthodes Pessimiste : conflits probables Optimiste : conflits peu probables

Exemple de Méthodes Pessimistes : le 2PL Principe du Verrouillage à 2 Phases N lecteurs XOR 1 seul écrivain A chaque accès à une donnée, un verrou est posé Compatibilité Lecture Ecriture Lecture OUI NON Ecriture NON NON Les verrous sont tous relâchés à la fin de la transaction Inconvénient : risque d interbloquage (deadlock) Largement implanté par les SGBDs

utrestechniques D autres techniques Estampillage (Pessimiste) Principes : utilisation de 2 estampilles L et M Avantage : Facile à mettre en œuvre, pas d interblocage Inconvénients : Fixe inutilement des dépendances entre les transactions Famine: une transaction peut redémarrer indéfiniment MVCC (Multi Version Concurrency Control) Estampillage et versions en lecture Garantit la terminaison des transactions en lecture seule Certification (optimiste) on laisse les transactions se dérouler, on contrôle à la fin Avantage : test simple d'intersection d'ensembles Inconvénient : effondrement si trop de conflits Contrôle de concurrence sémantique (BD OO) Matrice de compatibilité sur des opérations de haut niveau Exemple: ajout, retrait d un élément dans un FIFO, Version et CheckIn-CheckOut

Remarque La cohérence forte (sérialisable) n est pas toujours souhaitable!!!! Blocage des transactions limite le débit transactionnel! Tableau de bord avec des données «scintillantes» Lecture non répétable 4 Degrés d isolation (ISOLATION_LEVEL) en SQL Niveaux d Isolation Lecture Sale Lecture Non Répétable Fantômes READ_UNCOMMITED oui oui oui READ_COMMITED non oui oui REPEATABLE_READ non non oui SERIALIZABLE non non non + transactions read-only

La Reprise sur Panne (A,D)

Types de Pannes Abandon d une transaction Peut être dû à un pb d accès concurrent Panne Système Tous les travaux sont brutalement interrompus (perte du contenu de la RAM) Panne du support de reprise Il faut utiliser un support de sauvegarde

Exemple : La Journalisation (1/2) Une Transaction est une séquence d actions Chaque action peut : Modifier la base de données envoyer un message interagir sur les E/S Chaque action doit laisser une trace dans le journal Pour défaire ou refaire une transaction il suffit de lire le journal

Les journaux (2/2) Enregistrement dans un journal LSN T_Id Data_Id Value Plusieurs Variantes Journal des Images Avant / Journal des Images Après Journal Différentiel N enregistre que la différence entre l image avant et l image après Journal d Actions sémantiques (opération et opérandes) Exemple : faire un closeup de 3 sec dans la video #987 au timestamp 1234

Problématique de la distribution

Validation d une Transaction Centralisée l application et les données sont sur la même machine Panne facile à traiter Distribuée Validation à 1 phase l application et les données sont sur 2 à N machines Il faut que tout les participants prennent la même décision Panne (partielle) difficile à traiter Validation à 2 phases (2PC : Two Phases Commit) Classique, Abort implicite, Commit implicite Validation à 3 phases (3PC : Three Phases Commit)

Validation à 2 Phases Coordinateur Participant(s) Initial Initial Commit Cmd Prepare Prepare Prepare Vote-Abort Vote-Commit Vote-Abort Wait Vote-Commit Global-Abort Ready Global-Commit Global-Abort Global-Commit ACK ACK Abort Commit Abort Commit de Dider Donsez, Imag, Univ. J. Fourier

2PC - Hors Panne SGBD1 Application SGBD2 SGBD1 Application SGBD2 begintrans reqsql result begintrans reqsql result reqsql result prepare prepare prepare prepare votecommit votecommit votecommit voteabort Gcommit Gcommit Gabort Gabort

2PC - Panne Coordinateur SGBD1 Coordinateur SGBD2 SGBD1 Coordinateur SGBD2 prepare prepare prepare prepare votecommit votecommit votecommit votecommit resume resume votecommit votecommit Gcommit Gcommit GCommit Gcommit

2PC - Panne Esclave SGBD1 Coordinateur SGBD2 prepare prepare votecommit SGBD1 Coordinateur SGBD2 prepare prepare votecommit votecommit GCommit Gcommit Gabort timeout Gabort resume Gcommit resume Gabort

Moniteurs Transactionnels

Rappel Fiabilisation Moniteur Transactionnel (TP Monitor) Pilote l exécution distribuée de transactions globales sur des ressources distribuées Coordination de la validation (dit à 2 phases) Les Protocoles Standards X/OPEN DTP (Distributed Transaction Processing) Plusieurs interfaces : TX, XA, CRM, XA+, RM, XAP-TP OSI/TP OMG/OTS (Object Transaction Service) Avantages Accès hétérogène aux RM (Resource Manager) Haute disponibilité et Hautes Performances SABRE, SOCRATE, NYSE, ATM, Configurations matérielles logicielles à 700000 transactions TCP/C par minute (02/2002) Equilibre de charge Orienté OLTP (OnLine Transaction Processing) Traitement «simple», Thinking time court,

Le Modèle DTP de l X/Open AP (Application Program) AP avec STDL / AP utilisant d autres langages SQL, ISAM... TX TxRPC, XATMI CPI-C RM (Ressource Mnger) XA TM (Transaction Mnger) XA+ CRM (Comm. Rsrc. Mnger) XAP-TP OSI TP vers d autres domaines TP d après Bernstein et Newcomer 1997

Modèles de Transactions

Les transactions Plates Un seul niveau de transaction Bien adapté aux transactions en lignes (On Line Transaction Processing : OLTP) Manipule peu de données De courte durée Des centaines de transactions simultanées Des carences importantes : Atomicité contraignante sur des transactions très longues Isolation est un frein à l exécution de transaction coopérantes

Les Transactions Emboîtées (1) La transaction n est plus monolithique : elle contient des sous transactions T1 Transaction Sous Transaction T11 T12 Sous Transaction Feuille T111 T112 Opérations

Les Transactions Emboîtées (2) Règles de fonctionnement : Une sous transaction démarre après la transaction mère et se termine avant elle L abandon d une sous transaction entraîne : l abandon de ses sous transactions descendantes, pas nécessairement l abandon de ses ancêtres La validation d une sous transaction est conditionnée à la validation de sa transaction mère Une sous transaction est atomique et isolée de toutes les sous transactions qui n appartiennent pas à sa descendance

CNT - Example T111 T112 T11 T12 T1 A1 A2 A3 A4 A5 A6 A7 A8 De, Imag, Univ. J. Fourier

CNT - Example T111 T112 T11 T12 T1 A1 A2 A3 A4 A5 A6 A7 A8 De, Imag, Univ. J. Fourier

Les transactions emboîtées ouvertes Modèle de transaction multi-niveaux Règles de validation des ONT Après la validation d une ONT, toutes les mises à jour sont globallement visibles par les transactions racine. Règles d annulation de la transaction parent Une transaction de compensation est déclenchée pour défaire les effets de l ONT

ONT - Example Compensate T111 OT111 T112 T11 T12 T1 A1 A2 A3 A4 A5 A6 A7 A8 De, Imag, Univ. J. Fourier

D autres modèles de transactions Transactions longues Sagas, Contract, Flex, Workflow reliable Business Transactions Cohesion et Actions Les esclaves du 2PC negocient un delai de garde pour éviter le blocage par le coordinateur Remarque ACTA : un modèle formel