1<!-- doc/src/sgml/intro.sgml -->
2
3<preface id="preface">
4 <!--
5 <title>Preface</title>
6 -->
7 <title>はじめに</title>
8
9 <para>
10  <!--
11  This book is the official documentation of
12  <productname>Pgpool-II</productname>.  It has been written by the
13  <productname>Pgpool-II</productname> developers and other
14  volunteers in parallel to the development of the
15  <productname>Pgpool-II</productname> software.  It describes all
16  the functionality that the current version of
17  <productname>Pgpool-II</productname> officially supports.
18  -->
19  本書は、<productname>Pgpool-II</productname>のオフィシャルドキュメントです。
20  <productname>Pgpool-II</productname>ソフトウェアの開発と並行して、<productname>Pgpool-II</productname>の開発者とそれ以外のボランティアによって作成されてきました。
21  現在のバージョンの<productname>Pgpool-II</productname>が正式にサポートするすべての機能について説明しています。
22 </para>
23
24 <para>
25  <!--
26  To make the large amount of information about
27  <productname>Pgpool-II</productname> manageable, this book has been
28  organized in several parts.  Each part is targeted at a different
29  class of users, or at users in different stages of their
30  <productname>Pgpool-II</productname> experience:
31  -->
32  <productname>Pgpool-II</productname>に関する膨大な情報を管理しやすくするために、本書はいくつかの部分に分かれています。
33  それぞれの部分のユーザの層の違い、あるいは<productname>Pgpool-II</productname>の経験の違いに合せて構成されてます。
34
35  <itemizedlist>
36   <listitem>
37    <para>
38     <!--
39     <xref linkend="tutorial"> is an informal introduction for new users.
40     -->
41     <xref linkend="tutorial">は入門者のための導入情報です。
42    </para>
43   </listitem>
44
45   <listitem>
46    <para>
47     <!--
48     <xref linkend="admin"> describes the installation and
49     administration of the server.  Everyone who runs a
50     <productname>Pgpool-II</productname> server, be it for private
51     use or for others, should read this part.
52     -->
53     <xref linkend="admin">では、サーバのインストールと管理について記述しています。
54      個人目的であれ、他の人のために動かすのであれ、<productname>Pgpool-II</productname>サーバを動かす人はこの章を読んでください。
55    </para>
56   </listitem>
57
58   <listitem>
59    <para>
60     <!--
61     <xref linkend="examples"> explains several configuration examples
62     so that users can choose the starting point of their actual systems.
63     -->
64     <xref linkend="examples">では、実際のシステムで使う際のスタートポイントとしてユーザが選択できるように。何種類かの構成例を説明しています。
65    </para>
66   </listitem>
67
68   <listitem>
69    <para>
70     <!--
71     <xref linkend="reference"> contains reference information about
72     SQL commands, client and server programs.  This part supports
73     the other parts with structured information sorted by command or
74     program.
75     -->
76     <xref linkend="reference">には、SQLコマンド、クライアント、サーバプログラムが含まれます。
77      コマンドあるいはプログラムでソートされた構造的な情報となっており、本書の他の部分をサポートするように考慮されています。
78    </para>
79   </listitem>
80
81   <listitem>
82    <para>
83     <!--
84     <xref linkend="appendixes"> is an appendix information such as release notes.
85     -->
86     <xref linkend="appendixes">はリリースノートのような追加情報です。
87    </para>
88   </listitem>
89
90   <!--
91   <listitem>
92   <para>
93   <xref linkend="internals"> contains assorted information that might be of
94   use to <productname>PostgreSQL</> developers.
95  </para>
96  </listitem>
97   -->
98
99  </itemizedlist>
100 </para>
101
102 <sect1 id="intro-whatis">
103  <!--
104  <title> What is <productname>Pgpool-II</productname>?</title>
105  -->
106  <title><productname>Pgpool-II</productname>とは?</title>
107
108  <para>
109   <!--
110   <productname>Pgpool-II</productname> is a proxy software that sits
111   between <productname>PostgreSQL</productname> servers and a
112   <productname>PostgreSQL</productname> database client. It provides
113   the following features:
114   -->
115   <productname>Pgpool-II</productname>は、<productname>PostgreSQL</productname>サーバと<productname>PostgreSQL</productname>データベースクライアントの間に位置するプロキシソフトウェアです。
116   以下のような機能を提供します。
117
118   <variablelist>
119
120    <varlistentry>
121     <!--
122     <term>Connection Pooling</term>
123     -->
124     <term>コネクションプーリング</term>
125     <listitem>
126      <para>
127       <!--
128       <productname>Pgpool-II</productname> maintains established
129       connections to the <productname>PostgreSQL</productname>
130       servers, and reuses them whenever a new connection with the
131       same properties (i.e. user name, database, protocol version)
132       comes in. It reduces the connection overhead, and improves
133       system's overall throughput.
134       -->
135       <productname>Pgpool-II</productname>は、<productname>PostgreSQL</productname>サーバへの確立された接続を維持し、プロパティ(つまりユーザ名、データベース、プロトコルバージョン)が同じ新規のコネクションが到着する度に再利用します。
136       コネクションオーバヘッドを軽減することによって、システム全体のスループットを改善します。
137      </para>
138     </listitem>
139    </varlistentry>
140
141    <varlistentry>
142     <!--
143     <term>Load Balancing</term>
144     -->
145     <term>負荷分散</term>
146     <listitem>
147      <para>
148       <!--
149       If a database is replicated (because running in either
150       replication mode or master/slave mode), performing a SELECT
151       query on any server will return the same result. <productname>Pgpool-II</productname>
152       takes advantage of the replication feature in order to reduce
153       the load on each PostgreSQL server.  It does that by
154       distributing SELECT queries among available servers, improving
155       the system's overall throughput. In an ideal scenario, read
156       performance could improve proportionally to the number of
157       PostgreSQL servers. Load balancing works best in a scenario
158       where there are a lot of users executing many read-only
159       queries at the same time.
160       -->
161       (レプリケーションモードあるいはマスタースレーブモードで動作しているので)データベースがレプリケーションされている場合は、どのサーバにSELECTを発行しても同じ結果が得られます。
162       <productname>Pgpool-II</productname>は、個々のPostgreSQLサーバの負荷を軽減するために、レプリケーションを利用します。
163       SELECTクエリをサーバに分散させ、システム全体のスループットを改善します。
164       理想的には、PostgreSQLサーバの数に比例して検索性能が向上します。
165       多数のユーザが検索のみのクエリを同時に発行するようなシナリオで、負荷分散は最大の効果を発揮します。
166      </para>
167     </listitem>
168    </varlistentry>
169
170    <varlistentry>
171     <term>自動フェイルオーバ</term>
172     <listitem>
173      <para>
174       <!--
175       If one of database servers goes down or becomes unrechable,
176       <productname>Pgpool-II</productname> will detaches it and continues operations using rest
177       of database servers. There are some sophiscated features which
178       help the automated fail over including timeout and retries.
179       -->
180       データベースサーバのどれかがダウンしたり、到達できなくなったときは、<productname>Pgpool-II</productname>はそのサーバを切り離し、残ったサーバで運用を継続します。
181       自動フェイルオーバの助けになるような、タイムアウト、リトライといった洗練された機能もあります。
182      </para>
183     </listitem>
184    </varlistentry>
185
186    <varlistentry>
187     <term>レプリケーション</term>
188     <listitem>
189      <para>
190       <!--
191       <productname>Pgpool-II</productname> can manage
192       multiple <productname>PostgreSQL</productname>
193       servers. Activating the replication feature makes it possible
194       to create a real time backup on 2 or
195       more <productname>PostgreSQL</productname> clusters, so that
196       the service can continue without interruption if one of those
197       clusters fails. <productname>Pgpool-II</productname> has
198       built-in replication (native replication). However user can
199       use external replication features including streaming
200       replication of <productname>PostgreSQL</productname>.
201       -->
202       <productname>Pgpool-II</productname>は複数の<productname>PostgreSQL</productname>サーバを管理することができます。
203       レプリケーション機能を有効にすることにより、2つあるいはそれ以上の<productname>PostgreSQL</productname>クラスタのリアルタイムバックアップを作成できます。
204       これによって、クラスタの一つがダウンしても、中断なしにサービスを継続できます。
205       <productname>Pgpool-II</productname>には、組み込みレプリケーション(ネィティブレプリケーション)機能があります。
206       しかし、<productname>PostgreSQL</productname>のストリーミングレプリケーションのような、外部のレプリケーション機能を使うこともできます。
207      </para>
208     </listitem>
209    </varlistentry>
210
211    <varlistentry>
212     <term>限度を超えた接続の制限</term>
213     <listitem>
214      <para>
215       <!--
216       There is a limit on the maximum number of concurrent
217       connections with <productname>PostgreSQL</productname>, and
218       new connections are rejected when this number is
219       reached. Raising this maximum number of connections, however,
220       increases resource consumption and has a negative impact on
221       overall system
222       performance. <productname>Pgpool-II</productname> also has a
223       limit on the maximum number of connections, but extra
224       connections will be queued instead of returning an error
225       immediately.
226       -->
227       <productname>PostgreSQL</productname>への最大同時接続数には制限があり、その制限に達すると新しいコネクションは拒否されます。
228       最大接続数を大きくすると、リソースの消費が増え、システム全体の性能に悪影響があります。
229       <productname>Pgpool-II</productname>にも最大接続数の制限があります。
230       しかし、制限を超えた接続要求はすぐにエラーが返るのではなく、待ち行列に入ります。
231      </para>
232     </listitem>
233    </varlistentry>
234
235   </variablelist>
236
237  </para>
238
239  <para>
240   <!--
241   <productname>Pgpool-II</productname> speaks PostgreSQL's backend
242   and frontend protocol, and relays messages between a backend and a
243   frontend. Therefore, a database application (frontend) thinks
244   that <productname>Pgpool-II</productname> is the
245   actual <productname>PostgreSQL</productname> server, and the
246   server (backend) sees <productname>Pgpool-II</productname> as one
247   of its clients. Because
248   <productname>Pgpool-II</productname> is transparent to both the server and the client, an
249   existing database application can be used with <productname>Pgpool-II</productname> almost
250   without a change to its source code.
251   -->
252   <productname>Pgpool-II</productname>は、PostgreSQLのバックエンドフロントエンドプロトコルを理解し、バックエンドとフロントエンドの間でメッセージを転送します。
253   つまり、データベースアプリケーション(フロントエンド)には<productname>Pgpool-II</productname>が実際の<productname>PostgreSQL</productname>サーバであるように見えます。
254   サーバ(バックエンド)には、<productname>Pgpool-II</productname>がフロントエンドであるように見えます。
255   <productname>Pgpool-II</productname>は、サーバとクライアントに対して透過なので、既存のデータベースアプリケーションは、ソースコードに変更を加えることなく<productname>Pgpool-II</productname>を利用できます。
256  </para>
257
258  <para>
259   <!--
260   <productname>Pgpool-II</productname> works on Linux, Solaris,
261   FreeBSD, and most of the UNIX-like architectures. Windows is not
262   supported. Supported PostgreSQL server's versions are 7.4 and
263   higher. You must also make
264   sure that all of your <productname>PostgreSQL</productname>
265   servers are using the same major version. In addition to this, we
266   do not recommend mixing
267   different <productname>PostgreSQL</productname> installation with
268   different build options: including supporting SSL or not, to use
269   &#045;&#045disable-integer-datetimes or not, different block size. These
270   might affect part of functionality
271   of <productname>Pgpool-II</productname>. The difference of
272   <productname>PostgreSQL</productname> minor versions is not
273   usually a problem. However we do not test every occurrence of
274   minor versions and we recommend to use exact same minor version of
275   <productname>PostgreSQL</productname>.
276   -->
277   <productname>Pgpool-II</productname> は、Linuxをはじめ、SolarisやFreeBSDなどのほとんどのUNIX環境で動作します。
278   Windows では動きません。
279   対応する<productname>PostgreSQL</productname>のバージョンは、7.4 以降です。
280   <productname>Pgpool-II</productname>配下で利用する<productname>PostgreSQL</productname>サーバのメジャーバージョン、
281   OS やハードウェアアーキテクチャを同じものにしなければなりません。
282   また、バージョンが同じであっても、<productname>PostgreSQL</productname> のビルド方法が違うものを混ぜている場合の動作は保証できません。
283   たとえば、SSL サポートの有無、日付型の実装方法 (--disable-integer-datetimes)、ブロックサイズの違いなどは、<productname>Pgpool-II</productname>の一部の機能に影響を与えるでしょう。
284   <productname>PostgreSQL</productname> のマイナーバージョンが違う場合は大抵の場合問題になりませんが、
285   すべての<productname>PostgreSQL</productname>のマイナーバージョンを検証したわけではないので、
286   できればマイナーバージョンを合わせておくことをお勧めします。
287  </para>
288
289  <para>
290   <!--
291   There are some restrictions to using SQL via <productname>Pgpool-II</productname>.
292   See <link linkend="restrictions">Restrictions</link> for more details.
293   -->
294   <productname>Pgpool-II</productname>でSQLを使うにあたっては、制限事項があります。
295   詳細は<link linkend="restrictions">制限事項</link>をご覧ください。
296  </para>
297
298 </sect1>
299
300 &history;
301 &notation;
302 &info;
303 &restrictions;
304 &problems;
305
306</preface>
307