Présentation
EnglishRÉSUMÉ
Un système de gestion de bases de données (SGBD) s’évalue par ses performances et sa facilité d’usage. L’optimisation dans les SGBD est un aspect crucial des bases de données. Elle se situe à tous les niveaux : lors de la conception de l’application, où le choix de l’architecture du système, du modèle de données, des techniques de stockage et des méthodes d’accès aux données jouent un rôle important tant sur le plan de l’usage que sur celui de l’efficacité, et lors de l’utilisation où le temps de réponse aux requêtes et le nombre de transactions par seconde représentent les critères majeurs de performances.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Anne DOUCET : Professeur, université Pierre-et-Marie-Curie (Paris-6)Laboratoire d’informatique de Paris-6
-
Hubert NAACKE : Maître de conférences, université Pierre-et-Marie-Curie (Paris-6)Laboratoire d’informatique de Paris-6
INTRODUCTION
Un système de gestion de bases de données (SGBD) s’évalue par ses performances et sa facilité d’usage. L’optimisation dans les SGBD, qui a pour objectif de fournir aux utilisateurs un système optimal en termes de coût et d’usage, est un aspect crucial des bases de données. Elle se situe à tous les niveaux : lors de la conception de l’application, où le choix de l’architecture du système, du modèle de données, des techniques de stockage et des méthodes d’accès aux données jouent un rôle important tant sur le plan de l’usage que sur celui de l’efficacité, et lors de l’utilisation où le temps de réponse aux requêtes et le nombre de transactions par seconde représentent les critères majeurs de performances.
Pour évaluer les performances d’un système, il est nécessaire de définir des métriques. Celles‐ci s’appuient sur différents critères, en fonction du type d’optimisation. Il peut s’agir par exemple du temps de réponse ou de l’expressivité du langage pour les requêtes, de l’espace disque occupé et du temps de parcours des données d’une relation pour le choix d’une technique de stockage, de la disponibilité des ressources ou de l’extensibilité du système lorsqu’il s’agit d’une architecture.
Ce dossier est destiné aux lecteurs ayant une connaissance générale des fonctionnalités des bases de données (modèle relationnel, SQL, transactions et contrôle de concurrence). La lecture préalable des dossiers « Bases de données. Introduction » , « Bases de données relationnelles » et « Langages de bases de données : SQL et les évolutions vers l’objet » est recommandée.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
6. Transactions
Une transaction est un programme applicatif constitué d’une suite d’instructions SQL (modification et interrogation de la base de données). Elle se termine par une validation (commit ) ou un abandon (rollback ). Le SGBD est un logiciel multiutilisateurs qui permet l’exécution simultanée de plusieurs transactions pour améliorer la disponibilité de la base de données. De plus, il offre à chaque transaction un environnement d’exécution qui semble être isolé des autres transactions. L’optimisation des transactions a pour objectif de détecter et résoudre les effets indésirables qu’une transaction peut produire sur d’autres transactions, notamment un ralentissement ou un empêchement de valider. Par la suite, nous présentons les mécanismes qui contrôlent les accès concurrents à la base de données et leur impact sur les performances.
6.1 Contrôle de concurrence
Dans un contexte multiutilisateurs, le SGBD doit contrôler les accès concurrents aux données afin de préserver la cohérence de la base : il garantit qu’aucune transaction ne vienne corrompre la base. On distingue principalement deux techniques de contrôle de concurrence : d’une part le verrouillage en deux phases et d’autre part le verrouillage couplé avec de l’estampillage.
HAUT DE PAGE6.1.1 Verrouillage en deux phases
Deux types de verrous sont utilisés pendant le traitement des instructions SQL. Une requête demande un verrou partagé pour chaque nuplet à lire. Une mise à jour demande un verrou exclusif pour chaque nuplet à modifier. Une transaction conserve tous les verrous obtenus jusqu’à ce qu’elle se termine, afin d’empêcher qu’une autre transaction lise ou écrase les modifications de la transaction qui n’est pas encore validée.
HAUT DE PAGE6.1.2 Verrouillage avec estampillage
Seule une mise à jour demande un verrou exclusif avant chaque écriture d’un nuplet. Une requête ne demande aucun verrou. Une transaction conserve ses verrous exclusifs jusqu’a ce qu’elle se termine. Chaque transaction est...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Transactions
BIBLIOGRAPHIE
-
(1) - Oracle Real Application Clusters 10g : Technical White Paper. - Oracle (2005).
-
(2) - ÖZSU (T.), VALDURIEZ (P.) - Principles of Distributed Database Systems. - Prentice Hall (1999).
-
(3) - SQL Server 2005 Analysis Services, MDX Multidimensional Expressions. - Microsoft (2005).
-
(4) - Oracle OLAP 10g Data Sheet. - Oracle (2004).
-
(5) - GARDARIN (G.) - Bases de données. - Eyrolles (1999).
-
(6) - RAMAKRISHNAN (R.), GEHRKE (J.) - Database Management Systems. - McGraw-Hill (2002).
-
(7) - GARCIA-MOLINA (H.), ULLMAN (J.), WIDOM (J.) - Database Systems : The Complete...
NORMES
-
Technologies de l’information. Langage de base de données SQL - NF ISO/CEI 9075 - 9-94
ANNEXES
(liste non exhaustive)
UDB, DB2, IBMSQL Server 2005, Microsofthttp://www.microsoft.com/france/sql/sql2005/
Oracle Databasehttp://www.oracle.com/global/fr/
ASM d’Oracle 10ghttp://www.oracle.com/technology/products/database/asm/
MySQL, logiciel librePostgreSQL, logiciel libre HAUT DE PAGETransaction Processing Performance Council (TPC)
World Wide Web Consortium (W3C) HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive