|
6 | 6 |
|
7 | 7 | <sect1 id="concepts">
|
8 | 8 | <title>Les concepts</title>
|
9 |
| - |
10 | 9 | <indexterm><primary>concepts et terminologie</primary></indexterm>
|
11 | 10 |
|
12 |
| -<para>Afin de mettre en place une réplication &slony1;, il est nécessaire de comprendre les |
13 |
| - principales abstractions utilisées : </para> |
| 11 | +<para> |
| 12 | + Afin de mettre en place une réplication &slony1;, il est nécessaire de |
| 13 | + comprendre la terminologie utilisée : |
| 14 | +</para> |
14 | 15 |
|
15 | 16 | <itemizedlist>
|
16 |
| - <listitem><para>Cluster,</para></listitem> |
17 |
| - <listitem><para>Noeud ("node"),</para></listitem> |
18 |
| - <listitem><para>Ensemble de réplication ("replication set"),</para></listitem> |
19 |
| - <listitem><para>Origine ("Origin"), Fournisseurs ("Providers") et Abonnés ("Subscribers"),</para></listitem> |
20 |
| - <listitem><para>Les démons slon,</para></listitem> |
21 |
| - <listitem><para>La commande slonik</para></listitem> |
| 17 | + <listitem><para>Cluster ;</para></listitem> |
| 18 | + <listitem><para>Noeud (« node ») ;</para></listitem> |
| 19 | + <listitem><para>Ensemble de réplication (« replication |
| 20 | + set ») ;</para></listitem> |
| 21 | + <listitem><para>Origine (« Origin »), Fournisseurs |
| 22 | + (« Providers ») et Abonnés |
| 23 | + (« Subscribers ») ;</para></listitem> |
| 24 | + <listitem><para>Les démons slon ;</para></listitem> |
| 25 | + <listitem><para>La commande slonik.</para></listitem> |
22 | 26 | </itemizedlist>
|
23 | 27 |
|
24 |
| -<para> Il est également nécessaire de connaître quelques mots de russe :</para> |
| 28 | +<para> |
| 29 | + Il est également nécessaire de connaître quelques mots de russe : |
| 30 | +</para> |
| 31 | + |
25 | 32 | <itemizedlist>
|
26 |
| -<listitem><para>slon signifie <quote>éléphant</quote> en russe,</para></listitem> |
27 |
| -<listitem><para>slony est le pluriel de slon, et désigne ainsi un groupe d'éléphants</para></listitem> |
28 |
| -<listitem><para>slonik désigne un <quote>petit éléphant</quote></para></listitem> |
| 33 | + <listitem><para>slon signifie <quote>éléphant</quote> en russe ;</para></listitem> |
| 34 | + <listitem><para>slony est le pluriel de slon, et désigne ainsi un groupe |
| 35 | + d'éléphants ;</para></listitem> |
| 36 | + <listitem><para>slonik désigne un <quote>petit éléphant</quote>.</para></listitem> |
29 | 37 | </itemizedlist>
|
30 | 38 |
|
31 |
| -<para> L'utilisation de ces termes dans &slony1; est un <quote>coup de chapeau</quote> |
32 |
| - à Vadim Mikheev, qui est l'auteur du prototype <application>rserv</application> |
33 |
| - qui inspira une partie des algorithmes utilisé dans &slony1;.</para> |
| 39 | +<para> |
| 40 | + L'utilisation de ces termes dans &slony1; est un <quote>coup de chapeau</quote> |
| 41 | + à Vadim Mikheev qui est l'auteur du prototype <application>rserv</application> |
| 42 | + qui inspira une partie des algorithmes utilisé dans &slony1;. |
| 43 | +</para> |
34 | 44 |
|
35 | 45 | <sect2>
|
36 | 46 | <title>Cluster</title>
|
37 |
| -<indexterm> |
38 |
| - <primary>cluster</primary> |
39 |
| -</indexterm> |
| 47 | +<indexterm><primary>cluster</primary></indexterm> |
| 48 | + |
| 49 | +<para> |
| 50 | + Selon &slony1;, un <quote>cluster</quote> est ensemble nommé d'instances de |
| 51 | + bases de données &postgres;. Une réplication a lieu entre ces bases. |
| 52 | +</para> |
40 | 53 |
|
41 |
| -<para>Selon &slony1;, un <quote>cluster</quote> est ensemble nommé d'instances de bases |
42 |
| - de données &postgres;; Une réplication a lieu entre ces bases.</para> |
| 54 | +<para> |
| 55 | + Le nom du cluster est spécifié dans chaque script Slonik via la directive : |
| 56 | +</para> |
43 | 57 |
|
44 |
| -<para>Le nom du cluster est spécifié dans chaque script Slonik via la directive :</para> |
45 | 58 | <programlisting>
|
46 | 59 | cluster name = 'quelque_chose';
|
47 | 60 | </programlisting>
|
48 | 61 |
|
49 |
| -<para>Si le nom du cluster est <envar>plop</envar>, alors &slony1; |
50 |
| -créera, dans chaque instance du cluster, le schéma <envar>_plop</envar>.</para> |
| 62 | +<para> |
| 63 | + Si le nom du cluster est <envar>plop</envar>, alors &slony1; crée, dans |
| 64 | + chaque instance du cluster, le schéma <envar>_plop</envar>. |
| 65 | +</para> |
| 66 | + |
51 | 67 | </sect2>
|
| 68 | + |
52 | 69 | <sect2><title>Noeud</title>
|
53 |
| -<indexterm> |
54 |
| -<primary>noeud</primary> |
55 |
| -</indexterm> |
| 70 | +<indexterm><primary>nœud</primary></indexterm> |
| 71 | + |
| 72 | +<para> |
| 73 | + Un nœud &slony1; est une base &postgres; nommée qui participe à la |
| 74 | + réplication. |
| 75 | +</para> |
56 | 76 |
|
57 |
| -<para>Un noeud &slony1; est un base &postgres; nommée qui participe à la réplication.</para> |
| 77 | +<para> |
| 78 | + Le nom du nœud est défini au début de chaque script Slonik, avec la |
| 79 | + directive : |
| 80 | +</para> |
58 | 81 |
|
59 |
| -<para>Le nom du noeud est défini au début de chaque script Slonik, avec la directive :</para> |
60 | 82 | <programlisting>
|
61 |
| - NODE 1 ADMIN CONNINFO = 'dbname=testdb host=server1 user=slony'; |
| 83 | +NODE 1 ADMIN CONNINFO = 'dbname=testdb host=server1 user=slony'; |
62 | 84 | </programlisting>
|
63 | 85 |
|
64 |
| -<para>La ligne <xref linkend="admconninfo"/> précise les informations |
65 |
| - de connexion qui seront utilisées par la fonction libpq |
66 |
| -<function>PQconnectdb()</function>.</para> |
| 86 | +<para> |
| 87 | + La ligne <xref linkend="admconninfo"/> précise les informations de connexion |
| 88 | + qui seront utilisées par la fonction libpq <function>PQconnectdb()</function>. |
| 89 | +</para> |
| 90 | + |
| 91 | +<para> |
| 92 | + Ainsi un cluster &slony1; se compose : |
| 93 | +</para> |
67 | 94 |
|
68 |
| -<para>Ainsi un cluster &slony1; se compose :</para> |
69 | 95 | <itemizedlist>
|
70 |
| - <listitem><para> d'un nom de cluster</para></listitem> |
71 |
| - <listitem><para> d'un ensemble de noeuds &slony1;, qui disposent chacun d'un schéma |
72 |
| - portant le nom du cluster</para></listitem> |
| 96 | + <listitem><para>d'un nom de cluster ;</para></listitem> |
| 97 | + <listitem><para> d'un ensemble de nœuds &slony1;, qui disposent chacun |
| 98 | + d'un schéma portant le nom du cluster.</para></listitem> |
73 | 99 | </itemizedlist>
|
| 100 | + |
74 | 101 | </sect2>
|
| 102 | + |
75 | 103 | <sect2><title>Ensemble de réplication</title>
|
76 |
| -<indexterm> |
77 |
| -<primary>Ensemble de réplication</primary> |
78 |
| -</indexterm> |
| 104 | +<indexterm><primary>Ensemble de réplication</primary></indexterm> |
| 105 | + |
| 106 | +<para> |
| 107 | + Un ensemble de réplication est défini comme un ensemble de tables et de |
| 108 | + séquences qui doivent être répliquées entre plusieurs nœuds dans un |
| 109 | + cluster &slony1;. |
| 110 | +</para> |
79 | 111 |
|
80 |
| -<para>Un ensemble de réplication est défini comme un ensemble de tables et de séquences qui |
81 |
| - doivent être répliquées entre plusieurs noeuds dans un cluster &slony1;.</para> |
| 112 | +<para> |
| 113 | + Vous pouvez avoir plusieurs sets, et le <quote>flux</quote> de réplication |
| 114 | + n'est pas nécessairement identique pour tous les ensembles. |
| 115 | +</para> |
82 | 116 |
|
83 |
| -<para>Vous pouvez avoir plusieurs sets, et le <quote>flux</quote> de réplication |
84 |
| - n'est pas nécessaire identique pour tous les ensembles.</para> |
85 | 117 | </sect2>
|
86 | 118 |
|
87 |
| -<sect2><title> Origine, Fournisseurs et Abonnés</title> |
88 |
| -<indexterm> |
89 |
| -<primary>Noeud d'origine</primary> |
90 |
| -</indexterm> |
91 |
| -<indexterm> |
92 |
| -<primary>Noeud fournisseur</primary> |
93 |
| -</indexterm> |
94 |
| - |
95 |
| -<para>Chaque ensemble de réplication a un noeud d'origine, qui est le <emphasis>seul</emphasis> endroit |
96 |
| - où les applications sont autorisées à modifier les données répliquées. On peut aussi |
97 |
| - rencontrer le terme <quote>noeud maître</quote>; Il s'agit de noeud principal qui |
| 119 | +<sect2><title>Origine, Fournisseurs et Abonnés</title> |
| 120 | +<indexterm><primary>Nœud d'origine</primary></indexterm> |
| 121 | +<indexterm><primary>Nœud fournisseur</primary></indexterm> |
| 122 | + |
| 123 | +<para> |
| 124 | + Chaque ensemble de réplication a un nœud d'origine, qui est le |
| 125 | + <emphasis>seul</emphasis> endroit où les applications sont autorisées à |
| 126 | + modifier les données répliquées. On peut aussi rencontrer le terme |
| 127 | + <quote>nœud maître</quote>. Il s'agit du nœud principal qui |
98 | 128 | fournit les données.
|
99 | 129 | </para>
|
100 | 130 |
|
101 |
| -<indexterm> |
102 |
| -<primary>Noeud Abonné</primary> |
103 |
| -</indexterm> |
| 131 | +<indexterm><primary>Nœud Abonné</primary></indexterm> |
| 132 | + |
| 133 | +<para> |
| 134 | + Les autres nœuds du cluster s'abonnent à l'ensemble de réplication, ce |
| 135 | + qui indique qu'ils veulent recevoir les données. |
| 136 | +</para> |
104 | 137 |
|
105 |
| -<para>Les autres noeuds du cluster s'abonne à l'ensemble de réplication, |
106 |
| - ce qui indique qu'ils veulent recevoir les données. |
| 138 | +<para> |
| 139 | + Le nœud d'origine ne sera jamais considéré comme un |
| 140 | + <quote>abonné</quote> (on ignore ici le cas ou le cluster est restructuré |
| 141 | + et où l'origine est explicitement déplacée sur un autre nœud). |
| 142 | + Mais &slony1; supporte la notion d'abonnements en cascade, c'est-à-dire |
| 143 | + qu'un nœud qui est abonné à un ensemble de réplication, peut également |
| 144 | + se comporter comme un <quote>fournisseur</quote> du même ensemble de |
| 145 | + réplication pour d'autres nœuds du cluster. |
107 | 146 | </para>
|
108 | 147 |
|
109 |
| -<para>Le noeud d'origine ne sera jamais considéré comme un |
110 |
| -<quote>abonné</quote> (On ignore ici le cas ou le cluster est restructuré |
111 |
| -et où l'origine est explicitement déplacée sur un autre noeud). |
112 |
| -Mais &slony1; supporte la notion d'abonnements en cascade, c'est à dire |
113 |
| -qu'un noeud qui est abonné à un ensemble de réplication, peut également se |
114 |
| -comporter comme un <quote>fournisseur</quote> du même ensemble de réplication |
115 |
| -pour d'autres noeuds du cluster.</para> |
116 | 148 | </sect2>
|
117 | 149 |
|
118 | 150 | <sect2><title>Le démon slon</title>
|
119 |
| - |
120 | 151 | <indexterm><primary>démon slon</primary></indexterm>
|
121 | 152 |
|
122 |
| -<para>Pour chaque noeud du cluster, il y a un processus <xref |
123 |
| -linkend="slon"/> qui gère l'activité de réplication pour le noeud. |
| 153 | +<para> |
| 154 | + Pour chaque nœud du cluster, il y a un processus <xref |
| 155 | + linkend="slon"/> qui gère l'activité de réplication pour le nœud. |
124 | 156 | </para>
|
125 | 157 |
|
126 |
| -<para> <xref linkend="slon"/> est un programme implémenté en C qui traite les |
127 |
| - évènements de réplication. Il y a deux principales sortes d'événements : |
| 158 | +<para> |
| 159 | + <xref linkend="slon"/> est un programme implémenté en C qui traite les |
| 160 | + évènements de réplication. Il y a deux principaux types d'événements : |
128 | 161 | </para>
|
129 | 162 |
|
130 | 163 | <itemizedlist>
|
131 | 164 |
|
132 |
| -<listitem><para>Les évènements de configuration</para> |
| 165 | + <listitem> |
| 166 | + <para>Les évènements de configuration</para> |
133 | 167 |
|
134 |
| -<para> Ils se produisent en général lorsqu'un script <xref linkend="slonik"/> est exécuté, |
135 |
| - et qu'il modifie la configuration du cluster. </para> |
136 |
| -</listitem> |
| 168 | + <para> |
| 169 | + Ils se produisent en général lorsqu'un script <xref linkend="slonik"/> |
| 170 | + est exécuté et qu'il modifie la configuration du cluster. |
| 171 | + </para> |
| 172 | + </listitem> |
137 | 173 |
|
138 |
| -<listitem><para> Les événements <command>SYNC</command></para> |
| 174 | + <listitem> |
| 175 | + <para>Les événements <command>SYNC</command></para> |
| 176 | + |
| 177 | + <para> |
| 178 | + Les mises à jour des tables répliquées sont regroupées dans des |
| 179 | + événements <command>SYNC</command> ; ces groupes de transactions |
| 180 | + sont appliquées ensemble sur les nœuds abonnés. |
| 181 | + </para> |
| 182 | + </listitem> |
139 | 183 |
|
140 |
| -<para> Les mises à jour des tables répliquées sont regroupées dans des événements <command>SYNC</command>s; |
141 |
| - Ces groupes de transactions sont appliquées ensemble sur les noeuds abonnés. |
142 |
| -</para> |
143 |
| -</listitem> |
144 | 184 | </itemizedlist>
|
| 185 | + |
145 | 186 | </sect2>
|
146 | 187 |
|
147 | 188 | <sect2><title>La commande slonik</title>
|
148 |
| - |
149 | 189 | <indexterm><primary>La commande slonik</primary></indexterm>
|
150 | 190 |
|
151 |
| -<para> La commande <xref linkend="slonik"/> traite des scripts |
152 |
| - écrits dans un <quote>langage spécial</quote> qui est utilisé pour |
153 |
| - soumettre des événements de configuration du cluster &slony1; cluster. |
154 |
| - Cela comprend des actions telles que l'ajout et la suppression de noeuds, |
155 |
| - la modifications des voies de communications, l'ajout ou la suppression d'abonnements. |
| 191 | +<para> |
| 192 | + La commande <xref linkend="slonik"/> traite des scripts écrits dans un |
| 193 | + <quote>langage spécial</quote> qui est utilisé pour soumettre des événements |
| 194 | + de configuration du cluster &slony1;. Cela comprend des actions telles que |
| 195 | + l'ajout et la suppression de nœuds, la modification des voies de |
| 196 | + communications, l'ajout ou la suppression d'abonnements. |
156 | 197 | </para>
|
| 198 | + |
157 | 199 | </sect2>
|
| 200 | + |
158 | 201 | </sect1>
|
0 commit comments