Web-ntic MOE MOA

Du concept au projet informatique - De la maîtrise d’oeuvre à la maîtrise d’ouvrage

Web-ntic > Dictionnaires et glossaires > Glossaire serveurs base de données

Glossaire serveurs base de données

vendredi 21 mars 2003, par km

TermeDéfinition
AGREGAT Partitionnement horizontal d’une relation selon des valeurs d’attributs, suivi d’un regroupement par une fonction de calcul (somme, moyenne, minimum, maximum, compte, ...).
ALERTEUR Lorsqu’un certain évènement se produit, les alerteurs permettent à une application ou à une procédure d’avertir par un message toutes les applications qui ont demandé à recevoir cet évènement.
API Application Programming Interface Interface permettant à un langage de programmation d’accéder à un service de manière programmée.On parle de l’API de Windows ou de celle des éditeurs de SGBD. L’API de Windows va aider les applications à gérer tous les éléments graphiques Windows (fenêtres, contrôles, menus).
ATTRIBUT Nom donné à une colonne d’une relation.Un attribut prend ses valeurs dans un domaine.
BASE DISTRIBUEE Base dont les données sont dispersées sciemment (distribuées) sur plusieurs Serveurs liés par un Réseau.Une application Cliente peut avoir besoin d’accéder aux données de X serveurs simultanément. On dit aussi Base Répartie lorsque c’est le SGBD qui pilote les accès.
BENCHMARKS Banc de test.Permet de comparer des performances.Certains benchmarks permettent de comparer "objectivement" les SGBDR et sont moins coéteux à mettre en place que la simulation ou le prototypage des applications réelles. On peut par exemple citer TP1 et TPC.
B-TREE Structure de données supportée par la plupart des serveurs. L’organisation est fondée sur l’ordre des clés d’accés. Cette méthode permet la croissance de la base sans dégradation de performances.
CLE Il existe deux sortes de clé dans une relation :- clé primaire - clé étrangère
CLE PRIMAIRE Groupe d’attributs minimum qui détermine un tuple unique dans une relation à tout instant.Elles définissent les contraintes d’intégrité référentielle.
CLE ETRANGERE Groupe d’attributs devant apparaitre comme clé primaire dans une autre relation.
Contraintes d’intégrité Conditions à faire respecter pour qu’une donnée vive harmonieusement avec les données qui lui sont liées. Implémentées comme des règles qui limitent les valeurs acceptables pour les attributs d’une donnée.Elles permettent d’assurer la cohérence des données. Les contraintes se répartissent en deux catégories : les contraintes à résolution statique ( la mise à jour des données n’engendre pas un autre action sur la base) et celles à résolution dynamique (une requête émise par l’utilisateur peut engendrer d’autres requêtes définies par l’administrateur). Pour ces dernières on dispose de triggers.
CLUSTER ( ou plaçant) Un index plaçant est un index dont l’ordre des clés correspond à l’ordre des tuples de la relation dans les pages de données. Cet index peut être mono ou multi attributs. Il y alors un placement physique des données.
CLUSTER Architecture matérielle associant plusieurs machines (de 2 à 8) par un bus à très haut débit. Cette architecture est générallement complétée par un logiciel de tolérance aux pannes permettant d’assurer une disponibilité constante des données même en cas de panne d’une des machines.
DDL Data Definition Langage Création de tables et de vues, gestion des droits ;
Dead Locks ou Verrous Mortels Deux transactions se bloquent mutuellement, chacune attendant des données bloquées par l’autre.
DML Data Manipulation Langage Interrogation et mise à jour de la base.
DOMAINE Un domaine est un ensemble de valeurs.
Embedded SQL Précompilateurs d’ordre SQL dans les langages de 3ème génération.Cette précompilation est normalisée.
Interface XA Norme définie par X/Open, organisme de normalisation, pour l’interface entre les serveurs SQLet les moniteurs transactionnels sous Unix.
Interopérabilité Possibilité de faire communiquer entre eux divers systèmes de gestion de données : relationnels, réseaux, ...
Lectures consistantes (Read Consistency) Ce niveau de lecture assure que toute lecture retourne une donnée consistante, qui correspond à un état cohérent de la base. Deux lectures identiques et successives au sein d’une même transaction ne retourneront cependant pas forcément la même valeur, celle ci ayant pu être modifiée par une transaction concurrente. Les verrous partagés sont libérés à la fin de chaque requête.
Lectures reproductibles ("Read Repeatability") Ce mode garantit la reproductibilité des lectures. Il fait en sorte que deux lectures successives au sein d’une même transaction retourneront les mêmes valeurs. Les blocages sont beaucoup plus sévères qu’avec le mode read consistency. Les verrous partagés et exclusifs ne sont libérés qu’à la fin de la transaction.
METABASE Dictionnaire de données, organisé sous forme relationnelle, contenant la description des relations, attributs, domaines et clés.
Moniteur Transactionnel Il s’établit un dialogue sur le poste client avec l’application cliente par l’interface normalisée ATMI. Les messages reçus sont transférés à la partie serveur du moniteur, via ISO-TP.Le but d’un moniteur transactionnel est de contrôler l’allocation des ressources et de coordonner l’ensemble des services demandés par les clients.Le moniteur serveur utilise soit directement ATMI pour accéder à l’appli Serveur, soit XA si il est nécessaire de passer par un Gestionnaire de ressource(SGBDR) qui lui parle en SQL avec l’appli serveur. En fait, XA n’est utile que lorsque le système est distribué...Sinon, il ne sert pas à grand chose. Les optimisations éventuelles qu’apportent ce fonctionnement sont valables si le SGBD possède une architecture process et dans une plus faible mesure si le SGBD est Multi-thread.
MPP Massively Parallel Processing Architecture matérielle faisant collaborer plusieurs processeurs (plusieurs centaines) possédant chacun sa propre mémoire.
Multi-Thread Multi-fibre.Se dit d’un processeur qui peut éxecuter plusieurs t‰ches en parallèle, plutôt que séquentiellement.En fait sur la plupart des OS, plusieurs processus se déroulent en parallèle bien que le traitement se fasse toujours séquentiellement...
OLTP On Line Transaction Processing Type d’environnement de traitement de l’information dans lequel une réponse doit être donnée dans un temps acceptable et consistant (une pèriode de temps qui approche le temps réel).
OPTIMISEUR L’optimisation des questions est un aspect tout à fait central des systèmes relationnels ; La requête SQL est transformée en une succession d’opérateurs relationnels (restriction, projection, jointure, union, ...) ; Ll’optimiseur est un composant logiciel chargé de choisir l’ordre dans lequel ces opérations vont être exécutées. Il existe deux types d’optimiseur : - optimiseur dynamique - optimiseur statique
OPTIMISEUR DYNAMIQUE L’optimisation dynamique réduit délibérément l’espace des solutions possibles en adoptant des heuristiques. A chaque étape de l’optimisation, une décision est prise entra"nant une exécution immédiate de cette étape ; puis on se repose la question du choix de l’étape suivante la moins coéteuse. Ce type de méthode est plus rapide mais ne garantit pas l’obtention de la meilleure exécution possible. Sa stratégie est clairement de privilégier le présent, quitte à hypothéquer l’avenir. Le choix du chemin dépend ici de la manière dont la requête a été formulée.
OPTIMISEUR STATIQUE L’optimisation statique, ou statistique, consiste à envisager toutes les solutions possibles, à calculer un coét pour chacune d’elles en fonction des statistiques et enfin à exécuter celle de moindre coét. Meilleur dans l’absolu, ce type de méthode présente le risque de passer trop de temps à déterminer la meilleure exécution et de faire attendre la réponse plus longtemps qu’en exécutant une solution moins bonne mais qu’on aurait choisie tout de suite.
PROCEDURE STOCKEE Traitements exécutés par le SGBDR, sur le Serveur, à la demande d’une application Cliente. Ce principe n’est pas encore disponible sur tous les moteurs relationnels.ex : respect des règles de gestion.On les appelle aussi Procédures Cataloguées.Une procédure est une unité de traitement qui reçoit des paramètres en entrée, exécute un certain nombre d’opérations et retourne des paramètres résultats. Elle est écrite dans un langage procédural intégrant le langage SQL et enregistrée au sein du serveur de données. Lorsqu’une application lance l’exécution d’une procédure, c’est le serveur qui l’exécute. Si la procédure est compilée, l’analyse syntaxique et sémantique est faite une fois pour toutes.Elles offrent certains avantages : réduction du trafic réseau, traitement optimisé par compilation.le langage procédural n’est pas encore normalisé.Mais ces procédures ont également certains inconvénients : elles augmentent la charge du serveur et risquent d’entrainer un goulot d’étranglement dans le partage des ressources par plusieurs demandes de clients.
RELATION Une relation est un sous-ensemble du produit cartésien d’une liste de domainesUne relation est une table à deux dimensions. Elle est caractérisée par un nom.Une ligne de cette table est un tuple. Une colonne est un attribut.Une clé peut être définie pour chaque relation.
Requête C’est une demande envoyée au gestionnnaire de Base de Données.serveur. Si celui-ci permet la gestion des données, le langage utilisé est le SQL.L’exécution des questions sur un serveur peut être de type compilé ou interprété.
Requête compilée Le plan d’exécution de la requête est conservé sur le serveur. C’est notamment le cas des procédures stockées.
Requête interprétée La question est transmise au serveur qui l’analyse, la transforme en un plan d’exécution composé d’une séquence d’opérateurs relationnels correctement ordonnancés et enfin l’exécute.
SGBDR Système de Gestion de Base de Données Relationnelle On dialogue avec le SGBDR grace à des requêtes écrites en SQL.Les SGBDR (certains disent Serveur) les plus avancés disposent de mécanismes de gestion des contraintes d’intégrité appelés les Triggers, et aussi de capacité de traitements liés aux données : les Procédures Stockées.La possibilité de gérer une Base Distribuée est aussi un atout séduisant qui nécessite toutefois la maitrise du Two Phase Commit.A propos de Distribution, s’intéresser aussi à DCE, de l’OSF.Ensemble des logiciels qui font vivre une Base Relationnelle. Ce concept regroupe les bases de données dont la table est l’organisation élémentaire.
SQL Structured Query Language. Langage de Requête Structuré.Il est dérivé de l’algèbre relationnel et de SEQUEL (System R74)Il constitue aujourd’hui le plus petit commun dénominateur des langages du marché.La norme est divisée en trois parties : DML, DDL et "embedded" SQL.Langage de 4ème génération non procédural généralement associé à une Base de données relationnelle. Il permet de s’adresser au SGBDR.Il est standardisé mais les fonctions sont pauvres ; chaque fournisseur ajoute ses propres fonctions. On parle alors de Sur-SQL. Ces extensions sont par exemple les triggers et les procédures stockées.
SMP Symmetric Multi Processing Architecture matérielle faisant collaborer plusieurs processeurs (quelques dizaines) sur une seule mémoire partagée.
TP1 Publié en 1985, il est devenu de facto le standard industriel jusqu’en 1990.Opération de débit/crédit sur un ensemble de relations représentant des comptes bancaires répartis en agence. Cette transaction effectue des mises à jour de comptes et un insertion dans une relation stockant l’historique des opérations.Ce benchmark ne soumet au serveur que des modifications ou des insertions et aucune interrogation et n’effectue des accés aux relations qu’a partir d’une clé.
TPC Transaction Processing Council Ce benchmark est aujourd’hui une référence de comparaison. Il est défini par un regroupement (council) de sociétés et a pour but de définir un test "représentatif et utilisable". Comme TP1, les benchmarks TPC A et TPC B sont basés sur un modêle de transaction bancaire.TPC A, TPC B et TPC C sont des protocoles standardisés de tests transactionnels. Des cahiers des charges précis décrivent les applications et leur environnement (Nombre d’utilisateurs, simultanéité, échanges).On y base des Benchmarks, sur lesquels fournisseurs de SGBDR, systèmes ouverts ou Serveurs basent une grande partie de leurs arguments commerciaux.
TPC A Il se situe dans un environnement OLTP.Les métriques utilisées sont le débit, mesuré en transactions par seconde avec des contraintes sur le temps de réponse et le prix associé par transaction.
TPC B Ce benchmark a pour objectif de mesurer les composants base de données nécessaires pour effectuer une transaction identifiée dans un contexte transactionnel. Il mesure le temps résidant sur le serveur.Il peut être considéré comme une version batch de TPC A.
TPC C Ce benchamrk ne s’interesse pas, comme ses prédecesseurs aux opérations de débit/crédit au sein d’une banque. Il a été défini en collboration avec un groupe d’industriels et s’intéresse au domaine de la vente. Il représente n’importe quelle industrie qui doit gérer, vendre ou distribuer un produit ou un service.
TRANSACTION Une transaction doit pouvoir être constituée de plusieurs requêtes SQL. Une manipulation de la base, faisant se succéder lecture et écriture peut en effet rester cohérente in fine tout en engendrant des états intermédiaires qui eux ne le sont pas. Dans le cas d’une configuration à plusieurs machines serveurs, il est nécessaire de gérer toutes les mises à jour sur plusieurs serveurs au sein d’une transaction. Cet aspect est pris en compte par certains serveurs avec le commit à deux phases.Afin de garder une cohérence à la transaction, les produits recourent à des mécanismes de verrouillage. La première transaction utilisant une donnée pose un verrou sur cette donnée. Les autres transactions en cours ne peuvent donc l’utiliser. Ce type de contrôle peut engendrer des verrous mortels.Plusieurs niveaux de protection sont disponibles : le mode des lectures consistantes et le mode de reproductibilité des lectures.
TRIGGER "Déclencheur".Géré par les SGBDR pour, en cas de mise à jour de donnée et lorsqu’une condition est respectée, effectuer un traitement systématique particulier, principalement de respect des Contraintes d’intégrité.Il s’agit d’un cas particulier de Procédure Stockée.Ce traitement se fait sur le Serveur.Un trigger associe un traitement à une action donnée sur les données de la base. Lorsque cette action est réalisée et que les données vérifient une certaine condition, le traitement est exécuté automatiquement par le serveur. La requête et le trigger qu’elle déclenche forment un tout : si le trigger ou la requête échoue, l’ensemble de la transaction est annulée.
Tuples Lignes d’une Table relationnelle.
TWO STEP COMMIT "Consignation en deux phases’.Principe de mise à jour sécurisée sur une base distribuée. Il permet de valider une transaction distribuée.Phase 1 : chaque serveur effectue sa mise à jour et le signale à un serveur responsable du commit. Néammoins, il pourra abandonner cette mise à jour.Phase 2 : Si tous ont répondu OK, le responsable leur ordonne d’effectuer leurs commits respectifs.
VERROU Deux types de verrous sont utilisés au sein d’un SGBD :- les verrous partagés - les verrous exclusifs
Verrou Partagé (Shared Lock) Ils indiquent simplement qu’une utilisation de l’objet est en cours et n’empêche pas les autres transactions de poser également des verrous partagés sur cet objet. Ils excluent simplement la pose d’un verrou exclusif. Le mécanisme classique de verrouillage consiste à utiliser les verrous partagés pour les lectures et les verrous exclusifs pour les écritures.
Verrou Exclusif (Exclusive Lock) Ce verrou est posé par une transaction qui désire exclure toute manipulation par d’autres de l’objet qu’elle verrouille.
Vues Table virtuelle dérivée d’autres tables par l’application d’une requête.Permet de gérer les droits d’accès (confidentialité), la cohérence (intégrité) et de simplifier la navigation dans la Base de Données (indépendance logique).Le standard SQL inclut la clause With Check Option qui permet de vérifier que les tuples insérés dans une vue en vérifient le critère de définition.

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document