4) Échéances
4
des transactions
Respecter l’échéance d’une transaction est souvent un
critère plus important que celui de la précision des résultats,
c’est-à-dire qu’une réponse partielle qui arrive avant échéance
peut être plus utile pour l’application qu’une réponse précise
(ou complète) fournie en retard.
5) Classification des transactions sous les SGBDTR
En plus de la cohérence logique de la base, les
transactions dans un SGBDTR doivent respecter leurs
échéances. Dans [10], [15], [16] on trouve une classification
des transactions dans les SGBDTR. Cette classification est
faite sur la base des conséquences que peut avoir le
manquement des échéances transactions sur l’application et
sur son environnement.
a) Transactions à échéances strictes et critiques («hard
deadline transactions»)
Une transaction qui rate son échéance peut avoir des
conséquences graves sur le système ou sur l’environnement
contrôlé. Par exemple, dans un système d’interception de
missiles, les transactions qui permettent de contrer des missiles
adverses sont à échéances strictes et critiques [13].
b) Transactions à échéances strictes et non critiques
(«firm deadline transactions»)
Si une transaction rate son échéance, elle devient inutile
pour le système. Ses effets sont nuls. Elle est donc abandonnée
(terminée avec échec) dès qu’elle rate son échéance.
c) Transactions à échéances non strictes («soft
deadline transactions»)
Si une transaction rate son échéance, le système ne
l’abandonne pas immédiatement. En effet, elle peut avoir une
certaine utilité pendant un certain temps encore après
l’expiration de son échéance, mais la qualité de service qu’elle
offre est moindre.
Les principaux travaux actuels sur les SGBDTR portent
sur les systèmes où les transactions possèdent des échéances
strictes et non critiques (firm) ou des échéances non strictes
(soft). Ces travaux concernent particulièrement des techniques
de contrôle de concurrence des transactions et leur
ordonnancement. Pour les transactions à échéances strictes et
critiques, il n’existe pas à notre connaissance d’algorithmes
d’ordonnancement des transactions qui garantissent leur
terminaison avant l’échéance. La principale raison provient de
l’indéterminisme de ces transactions et du manque de
méthodes permettant d’estimer avec précision le temps
d’exécution des transactions. Il existe cependant quelques
tentatives de modélisation des ordonnanceurs de transactions à
échéances strictes et critiques [4], [5], [18]. Ils sont
généralement basés sur un
surdimensionnement des ressources
du système.
Une autre classification des transactions est faite suivant le
type des données manipulées:
4 Deadline
A) Transactions déclenchées de mise à jour ou update
transactions
Ce sont des transactions déclenchées par les mises à jour des
objets de base. Elles mettent à jour les objets dérivés. Ce sont
donc des transactions en lecture/écriture.
B) Transactions utilisateur ou user transactions
Ce sont celles exécutées par l’utilisateur, avec des
échéances. Elles effectuent des opérations de lecture/écriture
de données non temps réel et/ou des lectures de données temps
réel.
III.
O
RDONNANCER SUIVANT
EDF
Dans une base de données temps réel il est nécessaire de
maintenir, en plus de la cohérence logique des données, leur
cohérence temporelle. Par conséquent, l’objectif n’est plus de
minimiser le temps de réponse des transactions comme c’est le
cas des SGBD traditionnels, mais de minimiser le nombre de
transactions qui ratent leurs échéances. Alors tous les
ordonnancements sérialisables ne sont pas acceptables : ceux
qui ne respectent pas les contraintes temporelles des
transactions sont rejetés. Ceci implique la nécessité d’autres
méthodes de gestion de transaction. Dans les SGBDTR,
l’ordonnancement des transactions est guidé par des
considérations de priorité que par des considérations d’équité.
Partant de ces différences, plusieurs recherches ont été
consacrées à la conception d’algorithmes d'ordonnancement de
transaction pour les SGBDTR et à l’évaluation de leurs
performances. Ces recherches s'appuient sur les techniques
d’ordonnancement des tâches dans les STR. La plus utilisée de
ces techniques est EDF ou Earliest Deadline First. À un instant
t, une transaction T se ferra attribuer une priorité suivant son
échéance. Soit T une transaction, D son échéance, alors sa
priorité P à un instant t est calculée ainsi:
P(T,t)=D(T,t) , avec Zéro comme priorité la plus élevée.
IV. P
OSTGRESQL
A. Introduction
D'après la documentation postgresql 8.3.5, PostgreSQL™
est un système de gestion de bases de données relationnelles
objet fondé sur POSTGRES, Version 4.2™. Ce dernier a été
développé à l'université de Californie au département des
sciences informatiques de Berkeley. PostgreSql™ est un
descendant OpenSource du code original de Berkeley. Il
supporte une grande partie du standard SQL tout en offrant de
nombreuses fonctionnalités modernes : requêtes complexes,
triggers, contrôle des accès concurrents (MVCC ou
multiversion concurrency control). De plus, PostgreSqL™ est
extensible par l'utilisateur de plusieurs façons. En ajoutant, par
exemple de nouveaux types de données, de nouvelles
fonctions, de nouveaux opérateurs,... Et grâce à sa licence
libérale, PostgreSqL™ peut être utilisé, modifié et distribué
librement, quelque soit le but visé, qu'il soit privé, commercial
ou académique. PostgreSql est un système client-serveur. Le