Bases de données temps-réel www.enst.fr/~talel/cours/tram/rtdbms.pdf



Documents pareils
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

Cours de Base de Données Cours n.12

Module BDR Master d Informatique (SAR)

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

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

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

Données Réparties. Thibault BERNARD.

Réplication des données

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

Gestion de données réparties. Cours 1

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

Année Universitaire 2009/2010 Session 2 de Printemps

Implémentation des SGBD

Cours de Systèmes d Exploitation

Ordonnancement temps réel

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

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

Introduction aux bases de données

Cours Bases de données

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

Parcours en deuxième année

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

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

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

Introduction aux systèmes temps réel. Iulian Ober IRIT

Chapitre 4 : Exclusion mutuelle

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

Structure fonctionnelle d un SGBD

Bases de données. Chapitre 1. Introduction

Bases de données avancées Introduction

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

Présentation Alfresco

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

UE 8 Systèmes d information de gestion Le programme

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

Auditer une infrastructure Microsoft

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

CESI Bases de données

Systèmes et algorithmes répartis

L exclusion mutuelle distribuée

Gestion répartie de données - 1

Introduction aux Bases de Données Relationnelles Conclusion - 1

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

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

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

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

Projet gestion d'objets dupliqués

INTRODUCTION AUX BASES de DONNEES

Chapitre 1 : Introduction aux bases de données

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

SYNTHESE. LIH, Université du Havre, 25, rue Philippe Lebon, Le Havre Cedex {duvallet, **

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

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Contributions à l expérimentation sur les systèmes distribués de grande taille

ECTS CM TD TP. 1er semestre (S3)

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

Bases de données cours 1

La Business Intelligence & le monde des assurances

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Partie II Cours 3 (suite) : Sécurité de bases de données

Optimisations des SGBDR. Étude de cas : MySQL

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

TD n o 8 - Domain Name System (DNS)

4.2 Unités d enseignement du M1

SYSTÈME DE GESTION DE FICHIERS

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

FASCICULE DES BILANS ET COMPTES DE RESULTAT DES INSTITUTIONS DE MICROFINANCE DU SENEGAL

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François

Entreprise et Big Data

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Le modèle client-serveur

Vincent Augusto

Introduction aux Bases de Données

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Bases de données relationnelles : Introduction

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

Modélisation et simulation des performances de nœuds de routage optique dans les réseaux dorsaux hybrides

Oracle Maximum Availability Architecture

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

MEAD : temps réel et tolérance aux pannes pour CORBA

Introduction aux SGBDR

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

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

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

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Le Network File System de Sun (NFS)

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

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

données en connaissance et en actions?

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

Architecture Principes et recommandations

Bases de Données Avancées

Open data : les données libérées doivent-elles être gratuites?

A QUOI SERVENT LES BASES DE DONNÉES?

4 Exemples de problèmes MapReduce incrémentaux

Introduction aux algorithmes répartis

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Transcription:

Bases de données temps-réel www.enst.fr/~talel/cours/tram/rtdbms.pdf Talel.Abdessalem@enst.fr Plan Applications temps réel et SGBD Les SGB traditionnels Modèles et approches pour le temps réel Produits existants Conclusion 1

Les applications temps-réel Gestion de systèmes dont les comportements doivent être prévisibles et opportuns Paramètres évoluant au cours du temps Actions à mener au moment voulu avant une date limite Familles de temps-réel : dur, ferme, mou dur ( état catastrophique en cas de non respect), ferme ( abandon en cas de non respect), mou ( terminaison de la transaction avec un intérêt moindre) Les SGBD Format des données indépendant des applications les utilisant Gestion, stockage, interrogation très efficaces de grands volumes de données Garanties d intégrité, de cohérence et de récupération des données en cas de panne.? Les applications temps-réel peuvent en avoir besoin 2

Exemples d applications Gestion de salles de marchés Contrôle du trafic aérien Applications militaires (gestion d un champ de bataille) Télécom : routeurs, commutateurs Gestion d une centrale nucléaire... Des objectifs différents SGBD : objectifs de performance globale, sans garantie pour une transaction particulière. Pas de notion de temps. Applications temps-réel : besoin d assurance de résultats pour des requêtes individuelles.? Aménagements nécessaires pour rendre les SGBD compatibles avec les applications temps-réel. 3

Les aménagements Spécifications des caractéristiques tempsréel pour les données et les transactions Suppression des aléas de temps de transaction : gestion des index, BD résidente en mémoire, relâchement de contraintes de cohérence Nouveaux algorithmes de contrôle de concurrence Caractéristiques temps-réel Sur les données : estampillage et durée de validité Sur les transactions : date limite, facteur critique, fonction de valeur? priorité Autres paramètres utiles : fréquence, ressources et données nécessaires, temps d exécution estimé? classification des transactions 4

Suppression des aléas Méthodes adaptées de gestion des index Base de données résidente en mémoire Relâchement de contraintes de cohérence Gestion des index Les index permettent un accès plus rapide aux données Idée : limitation du nombre de transactions concurrentes Problème des index : reconstruction? utilisation de B+-arbres relâchés, permet un rééquilibrage différé 5

BD résidente en mémoire Avantage : suppression des accès disque, meilleure prévision des temps de transactions Meilleure utilisation des ressources? nouveau contrôle de concurrence : utilisation de verrous à gros grain (niveau relation) Sinon, importance de l organisation de la hiérarchie mémoire : répartition entre données en mémoire et sur disque Relâchement de contraintes Propriétés ACID : Atomicité Cohérence Isolation Durabilité Contrôle de concurrence assure la sérialisabilité, parfois trop lourde à mettre en œuvre. 6

Ordonnancement et contrôle de concurrence Introduction des priorités pour ordonnancer les transactions et gérer les conflits Cas des SGBD traditionnels : Verrouillage à deux phases et estampillage Aménagements pour le temps réel: 2PL-HP et méthodes optimistes Cas des SGBD traditionnels Transaction : correspond à la vision d un programme d utilisateur du coté du SGBD, c-à-d une séquence de lectures/écritures. Exécution en série: une transaction après l autre. Si chaque transaction préserve la cohérence, toute exécution en série préserve la cohérence. Ordonnancement sérialisable: équivalent à une exécution en série. Équivalence : Quelque soit la BD, l effet de la première exécution est identique à l effet de la seconde exécution. Moyen de vérification : ordre des lectures et écritures conflictuels. 7

Exécution sérialisable Deux exécutions sont équivalentes si: Les mêmes actions (lecture, écriture) se retrouvent dans les mêmes transactions Chaque paire de d actions conflictuelles (lecture/écriture, écriture/lecture ou écriture/écriture) sont ordonnées de la même façon dans les deux exécutions Une exécution S est sérialisable si S est équivalente à une exécution en série des mêmes transactions Exemple Une exécution non sérialisable: T1: R(A), W(A), R(B), W(B) T2: R(A), W(A), R(B), W(B) T1 A T2 Graphe de précédence B Le cycle dans le graphe révèle le problème. L effet de T1 dépend de celui de T2, et vice-versa. Théorème : cycle dans le graphe de précédence non sérialisable. 8

Protocole 2PL: Protocole de verrouillage en 2 phases (2PL) Chaque transaction doit obtenir un verrou partagé S (shared) sur un granule avant de le lire, et un verrou exclusif X (exclusive) sur un granule avant d effectuer une écriture dessus. Tous les verrous émis par une transaction sont libérés à sa terminaison. Si une transaction émet un verrou X sur un granule, aucune transaction ne peut obtenir un verrou (S ou X) sur le même granule. Une transaction ne peut émettre de verrou dès qu elle commence à libérer ses verrous. Deadlocks Exemple: T1: S(A) S(B) T2: X(B) X(C) T3: S(C) X(A) T1 T2 T3 Deux manières de gérer les deadlocks: prévention des Deadlocks détection des Deadlocks 9

Prévention des Deadlocks Attribuer des priorités sous forme d estampilles temporelles (date de prise en compte). Supposons que Ti demande un verrou détenu par Tj. Deux cas de figure : Wait-Die: si Ti a une priorité supérieure, Ti attend Tj; autrement Ti abandonne Wound-wait: si Ti a une priorité supérieure, Tj abandonne; autrement Ti attend Détection des Deadlocks Création d un graphe d attente waits-for graph: Les nœuds représentent les transactions Il y a un lien de Ti vers Tj si Ti attend que Tj libère un verrou Périodiquement vérifier s il y a un cycle dans le graphe waits-for 10

Estampillage Idée: attribuer à chaque élément un readtimestamp (RTS) et un write-timestamp (WTS), donner à chaque nouvelle transaction une estampille (TS): Si l action a i de la transaction Ti est en conflit avec l action aj de Tj, et TS(Ti) < TS(Tj), alors a i doit être réalisée avant aj. Sinon, relancer la transaction. T veut lire un granule O Si TS(T) < WTS(O), T veut lire une valeur de O déjà recouverte. Alors, la lecture est refusée et T abandonnée et relancée avec une nouvelle estampille. Si TS(T) >= WTS(O): Permettre à T de lire O. M-à-J de RTS(O) à max(rts(o), TS(T)) Le changement de RTS(O) doit être écrit sur disque! 11

T veut écrire un granule O Si TS(T) < RTS(O), La valeur de O que T est en train de produire a été demandée antérieurement et supposée jamais produite. L écriture est refusée et T abandonnée et relancée par la suite. SINON T1 Si TS(T) < WTS(O), R(A) T tente d écrire une valeur périmée L écriture est rejetée et T abandonnée. Thomas-Write-Rule : ignore l écriture. Autrement, L écriture est acceptée et M-à-J de WTS(O) à max(wts(o), TS(T)) W(A) Commit T2 W(A) Commit Adaptation du contrôle de concurrence au temps réel Objet principal des travaux de recherche sur les SGBD temps-réel. Besoin : Ordonnancement en fonction des priorités affectées aux transactions En cas de conflit, priorité aux transactions les plus critiques. 12

Protocole 2PL High Priority Du V2P + gestion de priorités En cas de conflit, abandon de la transaction de priorité inférieure et remise en jeu de celle ci. Une transaction demandant un verrou en lecture ne peut l obtenir que si sa priorité est supérieure à celles de toutes les transactions en attente de verrou en écriture 2PL- Wait Promote V2P + gestion de priorités En cas de conflit, la transaction bloquante hérite de la priorité de la transaction bloquée si la priorité de cette dernière est supérieure à la priorité de la transaction bloquante. Problème : les simulations montrent des performances moindres que le 2PL- High priority. 13

Les OCC: concurrence optimiste OCC-FV (Forward Validation): Pas de verrouillage, phase de validation à la fin de la transaction. Les transactions en conflit avec la transaction arrivée à la validation sont abandonnées. OPT-SACRIFICE : Une transaction peut être abandonnée en phase de validation, en cas de conflit avec une transaction plus prioritaire. Problème : une transaction peut être abandonnée après avoir utilisé beaucoup de ressources qui seront gâchées. OPT-WAIT : Une transaction doit attendre la fin des transactions qui sont en conflit avec elle et qui possèdent une priorité supérieure à la sienne. Simulations des méthodes les plus efficaces (2PL-HP et OCC-FV) Temps réel mou léger avantage au 2PL-HP en cas de ressources finies OCC-FV plus performant dans tous les autres cas. Explication : Nombre d abandons accentué pour le 2PL-HP par le fait que les transactions abouties peuvent être abandonnées à leur tour car elles n ont pas terminé dans les temps. 14

Un prototype : StarBase Objectifs : gestion de contraintes temps-réel fermes, BD non répartie, sur disque, modèle relationnel Repose sur un OS temps-réel : RT-Mach Objectif de performance : maximiser le taux de transactions exécutées avant leur date limite Implémentation détaillée du SGBD StarBase : caractéristiques Limitation du nombre de transactions concurrentes Ordonnancement des transactions natif RT- Mach, fondé sur les priorités Contrôle de concurrence : WAIT-X(S) 15

Les autres produits Stades d avancement variés : peu sont aboutis Produits spécialisés et adaptés aux applications temps-réel associées La plupart utilisent des BD réparties Toutes les techniques développées ne sont pas utilisées Des produits commercialisés non encore approuvés (empress.com) Conclusion Axes de recherches privilégiés : contrôle de concurrence, relâchement des contraintes Pas de proposition de la part des principaux éditeurs de SGBD Sujet qui prend de l importance avec la multiplication des applications temps-réel utilisant des de gros volumes de données persistantes. 16

Bibliographie Ben Kao and Hector Garcia-Molina. An Overview of Real-Time database systems. In Advances in real-time systems. Printice Hall, april 1993. Azer Bestavros. Advances in real time Database systems research. In ACM-SIGMODSeries, 25(1), March 1996. Young-Kuk Kim and Sang H. Son. Starbase : Managing Contention and Timing constraints. In RTDBMS: issues and applications, chapter 1, Kluwer-Academic, 1997. C. Hermant, www.enst.fr/~talel/cours/tram/mem-hermant.ps, mémoire de fin d études, ENST 99. 17