【レポート】
PostgreSQLのレプリケーションシステムはいくつか開発されているが、その中で現在、もはやデファクトスタンダードと言っても過言ではないのがPGClusterだ。開発者の三谷篤氏のセッションでは、PGClusterの内部的な仕組みが詳しく解説された。PGClusterは、「クラスタDB」「レプリケーションサーバ」「ロードバランサ」の3つの要素で構成される。クラスタDBは冗長化されたデータベースサーバで、レプリケーションサーバは各クラスタのデータを同期する役目を負う。ロードバランサは負荷率を算定し、要求されたクエリを負荷の低いクラスタに割り振る。
現在RC2を配布中のバージョン1.0.7では、ロードバランサ、クラスタDB、レプリケーションサーバを同一ホスト上で稼働できるようになり、気軽に機能を試せるようになった。また、現在はクラスタの動的追加のみが可能だが、今後はレプリケーションサーバの動的追加、レプリケーションサーバのカスケード接続による負荷分散もサポートされるという。また、データベース内に画像などのバイナリデータを保存する「ラージオブジェクト」への対応も、今回のカンファレンス中に石井達夫氏から技術を得たということなので、近いうちにサポートされるはずだ。
イベントの最後は、JPUG理事長の石井達夫氏による「pgpool」の解説とデモだ。pgpoolは名前の通り、クライアントからのPostgreSQLサーバプロセスへの接続を「プール」する、コネクションプーリングのソフトウェアであり、石井氏自らが開発を行っている。
データベースは、接続数が増えるほどその管理のための処理を行わなければならず、CPUやメモリ等のリソースを消費する。また、接続処理を頻繁に行うと、そのためのオーバーヘッドによってアプリケーションのパフォーマンスも低下する。例えば、データベース連携を得意とするPHP等の言語にはこれを軽減するための「持続的接続」の機能があるが、それでもWebサーバのプロセス分以上の接続が張られてしまうし、複数のプロセスで接続を共有することはできない。pgpoolはPostgreSQLへの接続を一元管理し、パフォーマンスの向上とデータベースの負荷を軽減を実現できる。
他にも、SQLrelayなど、PostgreSQLをサポートするコネクションプーリングのソフトウェアは存在する。しかし、これらのソフトウェアは専用のAPIを必要とするので、アプリケーション側の対応が必要になってしまう。石井氏はpgpoolの開発にあたって、「アプリケーションを変更せずに利用できる」ことを設計目標としている。クライアントから見ると、pgpoolはPostgreSQLと全く同じに見えるため、既存のアプリケーションもそのままpgpoolを利用できる。
さらに、pgpoolにはレプリケーションの機能もある。マスタとセカンダリの2つのPostgreSQLサーバに接続し、同一の更新クエリを両方に実行することで常に同内容のデータベースを運用できる。検索クエリはマスタのみに対して発行されるが、どちらかのデータベースに障害が発生したことを検知すると、pgpoolは自動的に障害機を切り離して縮退運転に入る。
なお、レプリケーションによって更新クエリが複製されることで、それぞれのクエリがLOCKを発行するタイミングによって、デッドロックが発生する可能性が出てくる。この問題に対し、pgpoolは「STRICTモード」を用意して回避策を提供している。STRICTモードでは、マスタ側のクエリの実行完了を待ってからセカンダリに対してクエリを発行する。設定によって、常にSTRICTモードで実行するのか、デッドロックが発生する可能性のあるクエリだけSTRICTモードで実行するのか選択することも可能だ。
なお石井氏は、pgpoolもPGClusterと同様にロードバランシングに挑戦したいと意欲を見せていた。
1日目の夜にはBOFが開催され、PostgreSQLの現状と今後について多くの参加者の間で活発な意見交換が行われた。司会者は小山哲志氏、パネリストとして「善玉」役を石井達夫氏の後任でJPUG理事長に就任する片岡裕生氏、「悪玉」役を染谷邦裕氏が務めた。議論は、PostgreSQLがMySQLに対して海外のシェアで大きく遅れをとっていることなどから、今後のユーザ・コミュニティとして何をすべきかということが中心。染谷氏が悪役として煽り、片岡氏と会場の参加者がそれに対して意見を述べるという形式で進行した。誌面の都合もあり、内容を詳しくレポートできないのが残念だが、発言された参加者の方々が非常に冷静にビジネス市場を分析していること、高度で建設的な議論が明るい雰囲気の中で行われていることが非常に印象的だった。
BOF終了後、短時間ながら数名の主催者の方から話を伺うことができた。コミュニティには、狭いシェアをMySQLと奪い合うことではなく、商用データベースのシェアを奪っていくこと、新たな市場を広げていくことの方が重要という認識を持っている人が多いようだ。PostgreSQLの明日はまだまだこれから、1ユーザとしても、PostgreSQLの今後に大いに期待がふくらむ2日間だった。
| CTC、複数のDCを仮想で利用するマルチ仮想データセンタサービスの実証実験 [09:38 5/22] |
| 【コラム】にわか管理者のためのWindowsサーバ入門 第87回 パフォーマンス警告による負荷状況記録[2003] [09:00 5/22] |
| Twitterが「Do Nt Track」を導入 - プライバシー保護の動きがさらに拡大 [08:30 5/22] |
| Nginx、早くも評価版開発スタート - 1.3系でSPDY対応を目指す [08:30 5/22] |
| 慶応大、好き嫌いや眠気などを簡単に測定できる簡易脳波計測器を開発 [07:30 5/22] |
|
【女性編】一緒に東京スカイツリーを上ってみたいキャラランキング [11:00 5/22] ホビー |
|
【男性編】一緒に東京スカイツリーを上ってみたいキャラランキング [11:00 5/22] ホビー |
|
IIJ、オンラインストレージ上のメールの添付ファイルを閲覧可能なiOSアプリ [11:00 5/22] ビジネスPC |
|
AKB48小嶋陽菜、エレガントな大人に変身! - 資生堂「ワタシプラス」 [11:00 5/22] エンタメ |
|
水樹奈々が大立ち回り! 塩谷監督「死ぬなら水樹さんに切られたい」 [11:00 5/22] エンタメ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。