OSSミドルな戯れ
今月も第3金曜日の夜は、品川シーサイドにあるAIITでのInfoTalkに行って来た。昼間はOSC 2009Tokyo/Springに行ってたので、新宿駅から電車に乗ると臨海線で1本、便利になったものだ。
今回もお題は2つ、
* 「今こそ学ぼうIPv6(IPv4アドレス枯渇問題とIPv6の現状)」
北口 善明 氏=株式会社インテック・ネットコア ネットワークプラットフォーム研究開発グループ(産業技術大学院大学 兼任講師)
* 「横行する連鎖型攻撃と求められる対策方法の変化」
小松 優介 氏=トレンドマイクロ株式会社 スレットモニタリングセンター スレットサーチエンジニア
でした。(http://pk.aiit.ac.jp/index.php?InfoTalk/20090220)
先日(2月20)、東京電子専門学校(新宿区百人町)で開催された OSC2009
Tokyo/Springにて、日立製作所の枠で日本PostgreSQLユーザ会のさいとうひろし氏が講演したPgBouncerとPL/Proxyと
いうレプリケーションツールの話を聞いてきた。
http://www.ospn.jp/osc2009-spring/modules/eguide/event.php?eid=65
今年のバレンタインデーは、久々の開催となったPostgreSQLのしくみ勉強会に行ってきた。
日本PostgreSQLユーザ会には、PostgreSQLのしくみ分科会(http://www.postgresql.jp/wg/shikumi/)というワーキンググループがある。3年くらい前まではPostgreSQLの内部構造について解析した結果などを発表する勉強会を活発に行っていた。
日本の開発者を増やしたいという趣旨ではじめた勉強会があったところへ、ちょうどオープンソースのミドルウェアに目を付けた企業の人達も積極的に参加して、とても内容の濃い勉強会になっていた。
PostgreSQLはオープンソースソフトウェアとして提供されているデータベース管理システムであるが、歴史も古く元のUniversity
POSTGRESから数えると20年以上も開発が続いていて、日本語化されてからも10年以上にわたって使われ続けている。得に、インターネット上のグ
ループ(http://postgresql.org)に開発の母体が移ってからは、PostgreSQLとしてBSDライセンスの業務基盤系DBMSの置き換えの対象として開発が続いている。
このため、インストール数においてはWebサーバの数には到底及ばないものの、業務系SEの間での認知度は高く、BSDライセンスということもあいまっ
て、商用アプリケーションとの組み合わせには非常に都合が良いため、メーカーの製品にも組み込むことに事務手続きの必要もなく、簡単にできる。
オープンソースソフトウェアといえども、業務系で利用する上での運用ノウハウは重要であり、データの安全性や性能向上のための要素技術として、レプ
リケーションやパーティショニングがあたりまえとなった時代背景を反映して、「PostgreSQLにはレプリケーションはないのか」という質問も頻繁に
聞くようになった。
PostgreSQLにはバンドルされたレプリケーションツールはないものの(Windows版インストーラには、管理ツールのpgAdmin-III http://www.pgadmin.org/ とともにSlony-I http://www.slony.info/ がある)、リカバリのためのアーカイブログは本体に組み込まれて、障害時の復旧もある程度自動化されている。
レプリケーション方法は、データ量やトランザクション頻度によって運用上異なるため、いくつかの方法が別アプリケーションとして用意されているが、日本で開発されて最近人気のものとしてはpgpool-II(http://pgpool.sraoss.jp/index.php?pgpool-II)がある。
pgpoolはもともと、コネクションプールのためのポートリプリケータとして開発されたものであるが、pgpool-IIでは、さらにレプリケーションとパーティションのための機能が追加された。
今回のPostgreSQLのしくみ勉強会(http://www.postgresql.jp/wg/shikumi/seminar20090214)
はしくみ分科会主催では3年ぶりくらいの勉強会になるのが、たまたま(人とか場所とか時期とかの諸事情で)バレンタインデーに開催となった。今年は、新し
いターゲットにむけての勉強会も検討していたので、これまでの開発者に対して、利用者向けのわかりやすい勉強会をしてみようと、レプリケーションとログを
勉強会の対象として、postgresqlとのからみからみたpgpool-IIの説明とpostgresql本体のログの仕組みの解説をしてもらうこと
になった。
内容的には、postgresqlのしくみ概要からWAL(Write Ahead Log)、PITR(Point In Time
Recoverry)などのおさらいをして、pgpool-IIについての解説というのと、もうひとつは、postgresqlの持つログの機能の内部的
なしくみの解説をしてもらった。