IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

44. Pr�sentation des m�canismes internes de PostgreSQL

[Note]

Auteur

Ce chapitre est extrait de [sim98], m�moire de ma�trise (Master's Thesis) de Stefan Simkovics. Cette ma�trise a �t� pr�par�e � l'universit� de technologie de Vienne sous la direction du professeur (O.Univ.Prof.Dr.) Georg Gottlob et de l'assistante d'universit� (Univ.Ass.) Mag. Katrin Seyr.

Ce chapitre pr�sente la structure interne du serveur PostgreSQL™. La lecture des sections qui suivent permet de se faire une id�e de la fa�on dont une requ�te est ex�cut�e ; les op�rations internes ne sont pas d�crites dans le d�tail. Ce chapitre a, au contraire, pour but d'aider le lecteur � comprendre la suite des op�rations effectu�es sur le serveur depuis la r�ception d'une requ�te jusqu'au retour des r�sultats.

44.1. Chemin d'une requ�te

Ceci est un rapide aper�u des �tapes franchies par une requ�te pour obtenir un r�sultat.

  1. Une connexion au serveur est �tablie par une application. Elle transmet une requ�te et attend le retour des r�sultats.

  2. L'�tape d'analyse (parser stage) v�rifie la syntaxe de la requ�te et cr�e un arbre de requ�te (query tree).

  3. Le syst�me de r��criture (rewrite system) recherche les r�gles (stock�es dans les catalogues syst�me) � appliquer � l'arbre de requ�te. Il ex�cute les transformations indiqu�es dans le corps des r�gles (rule bodies).

    La r�alisation des vues est une application du syst�me de r��criture. Toute requ�te utilisateur impliquant une vue (c'est-�-dire une table virtuelle), est r��crite en une requ�te qui acc�de aux tables de base, en fonction de la d�finition de la vue.

  4. Le planificateur/optimiseur (planner/optimizer) transforme l'arbre de requ�te (r��crit) en un plan de requ�te (query plan) pass� en entr�e de l'ex�cuteur.

    Il cr�e tout d'abord tous les chemins possibles conduisant au r�sultat. Ainsi, s'il existe un index sur une relation � parcourir, il existe deux chemins pour le parcours. Le premier consiste en un simple parcours s�quentiel, le second utilise l'index. Le co�t d'ex�cution de chaque chemin est estim� ; le chemin le moins co�teux est alors choisi. Ce dernier est �tendu en un plan complet que l'ex�cuteur peut utiliser.

  5. L'ex�cuteur traverse r�cursivement les �tapes de l'arbre de planification (plan tree) et retrouve les lignes en fonction de ce plan. L'ex�cuteur utilise le syst�me de stockage lors du parcours des relations, ex�cute les tris et jointures, �value les qualifications et retourne finalement les lignes concern�es.

Les sections suivantes pr�sentent en d�tail les �l�ments bri�vement d�crits ci-dessus.