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 --disable-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 ¬ation; 302 &info; 303 &restrictions; 304 &problems; 305 306</preface> 307