[Trad] [svn:pgfr] r1155 - traduc/trunk/postgresql
admin at listes.postgresql.fr
admin at listes.postgresql.fr
Ven 26 Sep 11:12:31 CEST 2008
Author: sas
Date: 2008-09-26 11:12:31 +0200 (Fri, 26 Sep 2008)
New Revision: 1155
Modified:
traduc/trunk/postgresql/high-availability.xml
traduc/trunk/postgresql/history.xml
traduc/trunk/postgresql/hstore.xml
Log:
Hache
Modified: traduc/trunk/postgresql/high-availability.xml
===================================================================
--- traduc/trunk/postgresql/high-availability.xml 2008-09-22 17:04:00 UTC (rev 1154)
+++ traduc/trunk/postgresql/high-availability.xml 2008-09-26 09:12:31 UTC (rev 1155)
@@ -227,19 +227,18 @@
</listitem>
</varlistentry>
-<!-- SAS::ICI -->
<varlistentry>
- <term>Réplication asynchrone à plusieurs maîtres</term>
+ <term>Réplication asynchrone multi-maîtres</term>
<listitem>
<para>
Pour les serveurs qui ne sont pas connectés en permanence, comme les
- portables ou les serveurs distants, garder la cohérence des données
- entre les serveurs est un challenge. En utilisant la réplication asynchrone
- à plusieurs maîtres, chaque serveur fonctionne indépendamment et communique
- périodiquement avec les autres serveurs pour identifier les transactions
- en conflit. Les conflits peuvent être résolus par les utilisateurs ou par
- des règles de résolution.
+ ordinateurs portables ou les serveurs distants, conserver la cohérence des données
+ entre les serveurs est un challenge. L'utilisation de la réplication asynchrone
+ multi-maîtres permet à chaque serveur de fonctionner indépendamment. Il
+ communique alors périodiquement avec les autres serveurs pour identifier les transactions
+ conflictuelles. La gestion des conflits est alors confiée aux utilisateurs
+ ou à un système de règles de résolution.
</para>
</listitem>
</varlistentry>
@@ -248,33 +247,43 @@
<term>Réplication synchrone multi-maîtres</term>
<listitem>
-<!-- Je corrige l'erreur relevée par tigrou3tac, mais le passage est à
-reprendre. Les phrases sont un peu lourdes -->
<para>
- Dans les réplications synchrones multi-maîtres, chaque serveur peut
- accepter les requêtes en écriture. Les données modifiées sont transmises
- du serveur original à tous les autres serveurs avant validation de chaque
- transaction. Une activité importante en écriture peut être la cause d'un
- verrouillage excessif conduisant à un effondrement des performances. En fait, la
- performance en écriture est souvent pis que celle d'un simple serveur. Les
- requêtes en lecture peuvent être envoyées à tous les serveurs. Certaines
- implantations utilisent les disques partagés pour réduire la surcharge
- de communication. La réplication synchrone multi-maîtres est bien meilleure
- principalement pour de grosses charges de travail en lecture bien que son gros
- avantage est que tout serveur peut accepter des requêtes d'écriture —
- il n'est pas nécessaire de partitionner les travaux entre les serveurs
- maîtres et esclaves et, comme les modifications de données sont envoyées
- d'un serveur à un autre, il n'y a pas de problème avec les fonctions
- non déterministiques comme <function>random()</function>.
+ Dans les réplications synchrones multi-maîtres, tous les serveurs acceptent
+ les requêtes en écriture. Les données modifiées sont transmises
+ du serveur d'origine à tous les autres serveurs avant toute validation de
+ transaction.
</para>
+ <para>
+ Une activité importante en écriture peut être la cause d'un
+ verrouillage excessif et conduire à un effondrement des performances. Dans
+ les faits, les performances en écriture sont souvent pis que celles d'un
+ simple serveur.
+ </para>
+ <para>
+ Tous les serveurs acceptent les requêtes en lecture.
+ </para>
+ <para>
+ Certaines implantations utilisent les disques partagés pour réduire la surcharge
+ de communication.
+ </para>
+ <para>
+ Les performances de la réplication synchrone multi-maîtres sont meilleures lorsque
+ les opérations de lecture représentent l'essentiel de la charge, alors que
+ son gros avantage est l'acceptation des requêtes d'écriture par tous les
+ serveurs —
+ il n'est pas nécessaire de répartir la charge entre les serveurs
+ maîtres et esclaves et, parce que les modifications de données sont envoyées
+ d'un serveur à l'autre, les fonctions non déterministiques, comme
+ <function>random()</function>, ne posent aucun problème.
+ </para>
<para>
<productname>PostgreSQL</productname> n'offre pas ce type de réplication,
- bien que la validation en deux phases de <productname>PostgreSQL</productname>
+ mais la validation en deux phases de <productname>PostgreSQL</productname>
(<xref linkend="sql-prepare-transaction"
endterm="sql-prepare-transaction-title"/> et <xref
- linkend="sql-commit-prepared" endterm="sql-commit-prepared-title"/>) peut
- être utilisée pour implémenter cela dans une application ou un
+ linkend="sql-commit-prepared" endterm="sql-commit-prepared-title"/>)
+ autorise son intégration dans une application ou un
<foreignphrase>middleware</foreignphrase>.
</para>
</listitem>
@@ -285,11 +294,12 @@
<listitem>
<para>
- Comme <productname>PostgreSQL</productname> est libre et facilement
- extensible, certaines sociétés ont pris <productname>PostgreSQL</productname>
- et créé des solutions propriétaires avec leur propres fonctionnalités de
- <foreignphrase>failover</foreignphrase>, réplication et répartition de
- charges.
+ Parce que <productname>PostgreSQL</productname> est libre et facilement
+ extensible, certaines sociétés utilisent <productname>PostgreSQL</productname>
+ dans des solutions commerciales fermées
+ (<foreignphrase>closed-source</foreignphrase>) proposant des fonctionnalités de
+ bascule sur incident (<foreignphrase>failover</foreignphrase>),
+ réplication et répartition de charge.
</para>
</listitem>
</varlistentry>
@@ -298,7 +308,7 @@
<para>
La <xref linkend="high-availability-matrix"/> résume les
- capacités des différentes solutions listées ci-dessus.
+ possibilités des différentes solutions listées plus-haut.
</para>
<table id="high-availability-matrix">
@@ -308,22 +318,23 @@
<thead>
<row>
<entry>Fonctionnalité</entry>
- <entry><foreignphrase>Shared Disk Failover</foreignphrase></entry>
- <entry>Réplication système de fichiers</entry>
- <entry><foreignphrase>Warm Standby</foreignphrase> (en utilisant
- <acronym>PITR</acronym>)</entry>
+ <entry>Bascule par disques partagés (<foreignphrase>Shared Disk
+ Failover</foreignphrase>)</entry>
+ <entry>Réplication par système de fichiers</entry>
+ <entry>Secours semi-automatique (<foreignphrase>Warm
+ Standby</foreignphrase>) par <acronym>PITR</acronym></entry>
<entry>Réplication maître/esclave</entry>
<entry><foreignphrase>Middleware</foreignphrase> de réplication
- se basant sur les instructions</entry>
- <entry>Réplication asynchrone multi-maître</entry>
- <entry>Réplication synchrone multi-maître</entry>
+ sur instructions</entry>
+ <entry>Réplication asynchrone multi-maîtres</entry>
+ <entry>Réplication synchrone multi-maîtres</entry>
</row>
</thead>
<tbody>
<row>
- <entry>Aucun matériel spécial requis</entry>
+ <entry>Ne requiert aucun matériel spécial</entry>
<entry align="center"></entry>
<entry align="center">•</entry>
<entry align="center">•</entry>
@@ -345,7 +356,7 @@
</row>
<row>
- <entry>Aucune surcharge dû au serveur maître</entry>
+ <entry>Pas de surcharge sur le serveur maître</entry>
<entry align="center">•</entry>
<entry align="center"></entry>
<entry align="center">•</entry>
@@ -356,7 +367,7 @@
</row>
<row>
- <entry>Aucune attente des différents serveurs</entry>
+ <entry>Pas d'attente entre serveurs</entry>
<entry align="center">•</entry>
<entry align="center"></entry>
<entry align="center">•</entry>
@@ -367,7 +378,7 @@
</row>
<row>
- <entry>Un échec du maître ne perdra aucune donnée</entry>
+ <entry>Pas de perte de données en cas de panne du maître</entry>
<entry align="center">•</entry>
<entry align="center">•</entry>
<entry align="center"></entry>
@@ -389,7 +400,7 @@
</row>
<row>
- <entry>Granularité par table</entry>
+ <entry>Granularité de niveau table</entry>
<entry align="center"></entry>
<entry align="center"></entry>
<entry align="center"></entry>
@@ -400,7 +411,7 @@
</row>
<row>
- <entry>Aucune résolution de conflit nécessaire</entry>
+ <entry>Ne nécessite pas de résolution de conflit</entry>
<entry align="center">•</entry>
<entry align="center">•</entry>
<entry align="center">•</entry>
@@ -415,10 +426,10 @@
<entry align="center">Disque partagé</entry>
<entry align="center">Blocs disque</entry>
<entry align="center">WAL</entry>
- <entry align="center">Lignes des tables</entry>
+ <entry align="center">Lignes de tables</entry>
<entry align="center">SQL</entry>
- <entry align="center">Lignes des tables</entry>
- <entry align="center">Lignes des tables et verrous de ligne</entry>
+ <entry align="center">Lignes de tables</entry>
+ <entry align="center">Lignes de tables et verrous de ligne</entry>
</row>
</tbody>
@@ -436,13 +447,13 @@
<listitem>
<para>
- Le partitionnement des données divise les tables en ensemble de données.
- Chaque ensemble peut être modifié par un seul serveur. Par exemple, les
- données peuvent être partitionnées par bureaux, par exemple Londres et
- Paris avec un serveur dans chaque bureau. Si les requêtes combinant les
- données de Londres et de Paris sont nécessaures, une application peut
- envoyer des requêtes sur les deux serveurs ou la réplication maître/esclave
- peut être utilisée pour conserver sur chaque serveur une copie en lecture
+ Le partitionnement des données divise les tables en ensembles de données.
+ Chaque ensemble ne peut être modifié que par un seul serveur. Les
+ données peuvent ainsi être partitionnées par bureau, Londres et
+ Paris, par exemple, avec un serveur dans chaque bureau. Si certaines
+ requêtes doivent combiner des données de Londres et Paris, il est possible
+ d'utiliser une application qui requête les deux serveurs ou d'implanter une
+ réplication maître/esclave pour conserver sur chaque serveur une copie en lecture
seule des données de l'autre bureau.
</para>
</listitem>
@@ -453,16 +464,16 @@
<listitem>
<para>
- Un grand nombre des solutions ci-dessus permettent à plusieurs serveurs de
- répondre à plusieurs requêtes mais aucune ne permet à une seule requête
+ La plupart des solutions ci-dessus permettent à plusieurs serveurs de
+ répondre à des requêtes multiples, mais aucune ne permet à une seule requête
d'être exécutée sur plusieurs serveurs pour se terminer plus rapidement.
- Cette solution autorise le travail en commun de plusieurs serveurs sur une
- seule requête. Ceci s'accomplit habituellement en divisant les données
- entre les serveurs et en ayant chaque serveur qui exécute une partie de la
- requête pour renvoyer les résultats à un serveur central qui les combinera
- et les renverra à l'utilisateur. <productname>Pgpool-II</productname>
- a cette capacité. De plus, cela peut être implémenté en utilisant les
- outils de <productname>PL/Proxy</productname>.
+ Cette solution autorisent plusieurs serveurs à travailler ensemble sur une
+ seule requête. Ceci s'accomplit habituellement en répartissant les données
+ entre les serveurs, chaque serveur exécutant une partie de la
+ requête pour renvoyer les résultats à un serveur central qui les combine
+ et les renvoie à l'utilisateur. <productname>Pgpool-II</productname>
+ offre cette possibilité. Cela peut également être implanté en utilisant les
+ outils <productname>PL/Proxy</productname>.
</para>
</listitem>
</varlistentry>
Modified: traduc/trunk/postgresql/history.xml
===================================================================
--- traduc/trunk/postgresql/history.xml 2008-09-22 17:04:00 UTC (rev 1154)
+++ traduc/trunk/postgresql/history.xml 2008-09-26 09:12:31 UTC (rev 1155)
@@ -17,7 +17,7 @@
<productname>PostgreSQL</productname> est issu de
<productname>POSTGRES</productname>, programme écrit à l'université de
Californie à Berkeley. Après plus d'une dizaine d'années de développement,
- <productname>PostgreSQL</productname> est la base de données OpenSource de
+ <productname>PostgreSQL</productname> annonce être devenu la base de données OpenSource de
référence.
</para>
@@ -58,7 +58,7 @@
</para>
<para>
- <productname>POSTGRES</productname> fut utilisé dans plusieurs
+ <productname>POSTGRES</productname> fût utilisé dans plusieurs
applications, en recherche et en production. On peut citer, par exemple :
un système
d'analyse de données financières, un programme de suivi des performances d'un
@@ -193,9 +193,9 @@
<para>
Beaucoup de personnes font référence à
- <productname>PostgreSQL</productname> avec <quote>Postgres</quote>
- (rarement avec toutes les lettres en majuscules) à cause de la
- tradition ou parce que c'est simple à prononcer. Cet usage est accepté
+ <productname>PostgreSQL</productname> par <quote>Postgres</quote>
+ (il est rare que le nom soit écrit en capitales) par
+ tradition ou parce que c'est plus simple à prononcer. Cet usage est accepté
comme alias ou pseudo.
</para>
Modified: traduc/trunk/postgresql/hstore.xml
===================================================================
--- traduc/trunk/postgresql/hstore.xml 2008-09-22 17:04:00 UTC (rev 1154)
+++ traduc/trunk/postgresql/hstore.xml 2008-09-26 09:12:31 UTC (rev 1155)
@@ -12,11 +12,11 @@
</indexterm>
<para>
- Ce module implémente le type de données<type>hstore</type> pour stocker des
+ Ce module code le type de données<type>hstore</type> pour stocker des
ensembles de paires (clé, valeur) à l'intérieur d'un simple champ
- <productname>PostgreSQL</productname>. Ceci est utile dans plusieurs cas
- comme des lignes contenant plusieurs attributs rarement examinés ou des
- données à moitié structuré.
+ <productname>PostgreSQL</productname>. Cela peut s'avérer utile dans divers
+ cas, comme les lignes à attributs multiples rarement examinées ou les données
+ semi-structurées.
</para>
<sect2>
@@ -34,32 +34,32 @@
"1-a" => "anything at all"
</programlisting>
- L'ordre des éléments n'est pas considéré significatif (et pourrait ne pas
- être reproduit en sortie). Les espaces blancs entre les éléments ou autour
- du signe <literal>=></literal> sont ignorés. Utilisez des guillemets
- doubles si une clé ou une valeur inclut des espaces blancs, virgule,
+ L'ordre des éléments n'est pas significatif (et peut ne pas
+ être reproduit en sortie). Les espaces entre les éléments ou autour
+ du signe <literal>=></literal> sont ignorées. Des guillemets
+ doubles sont nécessaires si une clé ou une valeur inclut espace, virgule,
<literal>=</literal> ou <literal>></literal>. Pour inclure un
- guillemet double ou un antislash dans une clé ou une valeur, faites-le
- précéder d'un autre antislash. (Gardez en tête que, suivant la configuration
- de <varname>standard_conforming_strings</varname>, vous pourriez avoir
- besoin de doubler les antislashs dans les chaînes litérales en SQL.)
+ guillemet double ou un antislash dans une clé ou une valeur, on le précède
+ d'un autre antislash. (En fonction de la configuration
+ de <varname>standard_conforming_strings</varname>, il peut s'avérer
+ nécessaire de doubler les antislashs dans les chaînes litérales SQL.)
</para>
<para>
- Une valeur (mais pas une clé) peut valoir NULL. Ceci est représenté
+ Une valeur (mais pas une clé) peut être NULL. Ceci est représenté
ainsi :
<programlisting>
key => NULL
</programlisting>
- Le mot clé <literal>NULL</literal> n'est pas sensible à la casse. De
- nouveau, utilisez les guillemets doubles si vous voulez que la chaîne
+ Le mot clé <literal>NULL</literal> est insensible à la casse. Là aussi, on
+ utilise les guillemets doubles pour que la chaîne
<literal>null</literal> soit traitée comme une valeur ordinaire.
</para>
<para>
- Actuellement, les guillemets doubles sont utilisées pour entourer les
+ Actuellement, les guillemets doubles sont utilisés pour entourer les
chaînes représentant la clé et la valeur en sortie, même si ce n'est pas
strictement nécessaire.
</para>
@@ -85,14 +85,14 @@
<tbody>
<row>
<entry><type>hstore</type> <literal>-></literal> <type>text</type></entry>
- <entry>obtient la valeur pour cette clé (NULL si inexistante)</entry>
+ <entry>obtenir la valeur de la clé (NULL si inexistante)</entry>
<entry><literal>'a=>x, b=>y'::hstore -> 'a'</literal></entry>
<entry><literal>x</literal></entry>
</row>
<row>
<entry><type>text</type> <literal>=></literal> <type>text</type></entry>
- <entry>crée un <type>hstore</type> à un seul élément</entry>
+ <entry>créer un <type>hstore</type> à un seul élément</entry>
<entry><literal>'a' => 'b'</literal></entry>
<entry><literal>"a"=>"b"</literal></entry>
</row>
@@ -106,7 +106,7 @@
<row>
<entry><type>hstore</type> <literal>?</literal> <type>text</type></entry>
- <entry><type>hstore</type> contient-il la clé ?</entry>
+ <entry><type>hstore</type> contient-il une clé donnée ?</entry>
<entry><literal>'a=>1'::hstore ? 'a'</literal></entry>
<entry><literal>t</literal></entry>
</row>
@@ -133,8 +133,8 @@
<para>
Avant PostgreSQL 8.2, les opérateurs de contenance @> et <@ étaient
appelés respectivement @ et ~. Ces noms sont toujours disponibles mais sont
- devenus obsolètes et pourraient éventuellement être supprimés. Notez que
- les anciens noms sont inversés par rapport à la convention suivie par les
+ devenus obsolètes et pourraient éventuellement être supprimés.
+ Les anciens noms sont inversés par rapport à la convention suivie par les
types de données géométriques.
</para>
@@ -156,7 +156,7 @@
<row>
<entry><function>akeys(hstore)</function></entry>
<entry><type>text[]</type></entry>
- <entry>récupère les clés du <type>hstore</type> dans un tableau</entry>
+ <entry>récupérer les clés du <type>hstore</type> dans un tableau</entry>
<entry><literal>akeys('a=>1,b=>2')</literal></entry>
<entry><literal>{a,b}</literal></entry>
</row>
@@ -164,7 +164,7 @@
<row>
<entry><function>skeys(hstore)</function></entry>
<entry><type>setof text</type></entry>
- <entry>récupère les clés du <type>hstore</type> dans un ensemble</entry>
+ <entry>récupérer les clés du <type>hstore</type> dans un ensemble</entry>
<entry><literal>skeys('a=>1,b=>2')</literal></entry>
<entry>
<programlisting>
@@ -176,7 +176,7 @@
<row>
<entry><function>avals(hstore)</function></entry>
<entry><type>text[]</type></entry>
- <entry>récupère les valeurs du <type>hstore</type> dans un tableau</entry>
+ <entry>récupérer les valeurs du <type>hstore</type> dans un tableau</entry>
<entry><literal>avals('a=>1,b=>2')</literal></entry>
<entry><literal>{1,2}</literal></entry>
</row>
@@ -184,7 +184,7 @@
<row>
<entry><function>svals(hstore)</function></entry>
<entry><type>setof text</type></entry>
- <entry>récupère les valeurs du <type>hstore</type> dans un
+ <entry>récupérer les valeurs du <type>hstore</type> dans un
ensemble</entry>
<entry><literal>svals('a=>1,b=>2')</literal></entry>
<entry>
@@ -197,7 +197,7 @@
<row>
<entry><function>each(hstore)</function></entry>
<entry><type>setof (key text, value text)</type></entry>
- <entry>récupère les clés et valeurs du <type>hstore</type> dans un
+ <entry>récupérer les clés et valeurs du <type>hstore</type> dans un
ensemble</entry>
<entry><literal>select * from each('a=>1,b=>2')</literal></entry>
<entry>
@@ -212,7 +212,7 @@
<row>
<entry><function>exist(hstore,text)</function></entry>
<entry><type>boolean</type></entry>
- <entry>le <type>hstore</type> contient-il la clé ?</entry>
+ <entry>le <type>hstore</type> contient-il une clé donnée ?</entry>
<entry><literal>exist('a=>1','a')</literal></entry>
<entry><literal>t</literal></entry>
</row>
@@ -229,7 +229,7 @@
<row>
<entry><function>delete(hstore,text)</function></entry>
<entry><type>hstore</type></entry>
- <entry>supprime tout élément correspondant à la clé</entry>
+ <entry>supprimer tout élément correspondant à une clé donnée</entry>
<entry><literal>delete('a=>1,b=>2','b')</literal></entry>
<entry><literal>"a"=>"1"</literal></entry>
</row>
@@ -243,9 +243,9 @@
<title>Index</title>
<para>
- <type>hstore</type> comprend un support des index pour les opérateurs
- <literal>@></literal> et <literal>?</literal>. Vous pouvez utiliser les
- types d'index GiST ou GIN. Par exemple :
+ <type>hstore</type> supporte des index pour les opérateurs
+ <literal>@></literal> et <literal>?</literal>. Les
+ types d'index GiST et GIN peuvent être utilisés. Par exemple :
</para>
<programlisting>
CREATE INDEX hidx ON testhstore USING GIST(h);
@@ -277,9 +277,9 @@
<title>Statistiques</title>
<para>
- Le type <type>hstore</type>, à cause de sa libéralité intrinsèque, pourrait
- contenir beaucoup de clés différentes. Vérifier les clés valides est le
- travail de l'application. Les exemples ci-dessous démontrent plusieurs
+ Le type <type>hstore</type>, du fait de sa libéralité intrinsèque, peut
+ contenir beaucoup de clés différentes. C'est à l'application de vérifier
+ la validité des clés. Les exemples ci-dessous présentent plusieurs
techniques pour vérifier les clés et obtenir des statistiques.
</para>
More information about the Trad
mailing list