Changeset 786
- Timestamp:
- 11/07/07 18:53:29 (1 year ago)
- Files:
-
- traduc/branches/bv82x/manuel/arch-dev.xml (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
traduc/branches/bv82x/manuel/arch-dev.xml
r590 r786 20 20 Ce chapitre présente la structure interne du serveur 21 21 <productname>PostgreSQL</productname>. 22 La lecture des sections qui suivent permet de se faire une idée surla22 La lecture des sections qui suivent permet de se faire une idée de la 23 23 façon dont une requête est exécutée ; les opérations 24 24 internes ne sont pas décrites dans le détail. … … 127 127 processus serveur. Les tâches du serveur communiquent entre elles en 128 128 utilisant des <firstterm>sémaphores</firstterm> et de la <firstterm>mémoire 129 partagée</firstterm> pour s'assurer de l'intégrité des données lors d' un130 accès simultanéaux données.131 </para> 132 133 <para> 134 Le processus client peut consister entout programme comprenant le protocole129 partagée</firstterm> pour s'assurer de l'intégrité des données lors d'accès 130 simultanés aux données. 131 </para> 132 133 <para> 134 Le processus client est constitué de tout programme comprenant le protocole 135 135 <productname>PostgreSQL</productname> décrit dans le 136 136 <xref linkend="protocol"/>. De nombreux clients s'appuient sur la 137 bibliothèque C <application>libpq</application> mais il existe137 bibliothèque C <application>libpq</application>, mais il existe 138 138 différentes implantations indépendantes du protocole, tel que le pilote Java 139 139 <application>JDBC</application>. … … 159 159 <listitem> 160 160 <para> 161 L'<firstterm>analyseur</firstterm>défini dans162 <filename>gram.y</filename> et <filename>scan.l</filename> est construit161 l'<firstterm>analyseur</firstterm>, défini dans 162 <filename>gram.y</filename> et <filename>scan.l</filename>, est construit 163 163 en utilisant les outils Unix <application>yacc</application> et 164 <application>lex</application> .164 <application>lex</application> ; 165 165 </para> 166 166 </listitem> 167 167 <listitem> 168 168 <para> 169 Le <firstterm>processus de transformation</firstterm> fait des169 le <firstterm>processus de transformation</firstterm> fait des 170 170 modifications et des ajouts aux structures de données renvoyées par 171 171 l'analyseur. … … 210 210 <application>yacc</application>. Après avoir réalisé ces transformations, 211 211 un compilateur C normal peut être utilisé pour créer l'analyseur. Il 212 est inutile de modifier les fichiers C engendrés car ils s eront écrasés213 au prochaine appelde <application>lex</application> ou212 est inutile de modifier les fichiers C engendrés car ils sont écrasés 213 à l'appel suivant de <application>lex</application> ou 214 214 <application>yacc</application>. 215 215 … … 244 244 fixes de la structure syntaxique de SQL. Il ne fait aucune recherche dans 245 245 les catalogues système. Il n'y a donc aucune possibilité de comprendre 246 la sémantique détaillée des opérations demandées. Aprèsque l'analyseur247 a itfini, le <firstterm>processus de transformation</firstterm> prend246 la sémantique détaillée des opérations demandées. Lorsque l'analyseur 247 a fini, le <firstterm>processus de transformation</firstterm> prend 248 248 en entrée l'arbre résultant de l'analyseur et réalise l'interprétation 249 249 sémantique nécessaire pour connaître les tables, fonctions et opérateurs … … 298 298 <listitem> 299 299 <para> 300 La première, qui fonctionnait au <firstterm>niveau des300 la première, qui fonctionnait au <firstterm>niveau des 301 301 lignes</firstterm>, était implantée profondément dans 302 302 l'<firstterm>exécuteur</firstterm>. Le système de règles était appelé … … 304 304 implantation a été supprimée en 1995 quand la dernière version 305 305 officielle du projet <productname>Berkeley Postgres</productname> a été 306 transformée en <productname>Postgres95</productname> .306 transformée en <productname>Postgres95</productname> ; 307 307 </para> 308 308 </listitem> … … 310 310 <listitem> 311 311 <para> 312 La deuxième implantation du système de règles est une technique appelée313 la<firstterm>réécriture de requêtes</firstterm>. Le <firstterm>système312 la deuxième implantation du système de règles est une technique appelée 313 <firstterm>réécriture de requêtes</firstterm>. Le <firstterm>système 314 314 de réécriture</firstterm> est un module qui existe entre 315 315 l'<firstterm>étape d'analyse</firstterm> et le … … 356 356 357 357 <para> 358 La procédure de recherche du planificateur fonctionne en faitavec des358 La procédure de recherche du planificateur fonctionne avec des 359 359 structures de données appelés <firstterm>chemins</firstterm>, simples 360 360 représentations minimales de plans ne contenant que l'information 361 361 nécessaire au planificateur pour prendre ses décisions. Une fois 362 362 le chemin le moins coûteux déterminé, un <firstterm>arbre plan</firstterm> est 363 construit pour être passé à l'exécuteur. Ce ci représente le plan d'exécution363 construit pour être passé à l'exécuteur. Celui-ci représente le plan d'exécution 364 364 désiré avec suffisamment de détails pour que l'exécuteur puisse le lancer. 365 365 Dans le reste de cette section, la distinction entre chemins et plans … … 411 411 (Toutefois, si la relation de droite peut être parcourue à l'aide d'un 412 412 index, ceci peut être une bonne stratégie. Il est possible d'utiliser 413 les valeurs issues de la ligne actuelle de la relation de gauche comme413 les valeurs issues de la ligne courante de la relation de gauche comme 414 414 clés du parcours d'index à droite.) 415 415 </para> … … 427 427 Le tri requis peut être réalisé soit par une étape explicite de tri 428 428 soit en parcourant la relation dans le bon ordre en utilisant un index 429 sur la clé de la jointure .429 sur la clé de la jointure ; 430 430 </para> 431 431 </listitem> … … 460 460 La plupart des types de nœud de plan ont la capacité supplémentaire de faire une 461 461 <firstterm>sélection</firstterm> (rejet des lignes qui ne correspondent pas à une 462 condition booléenne spécifiée) et une <firstterm>projection</firstterm> (calcul d'un462 condition booléenne indiquée) et une <firstterm>projection</firstterm> (calcul d'un 463 463 ensemble dérivé de colonnes fondé sur des valeurs de colonnes données, 464 464 par l'évaluation d'expressions scalaires si nécessaire). Une des … … 513 513 avance sur la prochaine ligne d'une des deux tables (suivant le résultat de 514 514 la comparaison), et vérifie à nouveau la correspondance. Éventuellement, 515 l'un des sous-plans est épuisé et le nœud <literal>MergeJoin</literal> renvoie515 un des sous-plans est épuisé et le nœud <literal>MergeJoin</literal> renvoie 516 516 NULL pour indiquer qu'il n'y a plus de lignes jointes à former. 517 517 </para>

