GREE Engineering

再び参加してきた。今回の題材は、PostgreSQLと前回の発表にあったウェブデザインパターンの続き。
PostgreSQLの話はSRA OSSの石井さんが講演された。PostgreSQLは6.xの頃に触って以来、直接触る機会がほとんどなくて雑誌などの情報でウォッチしているのみだった。7.xの頃のパフォーマンス向上は目覚しいものがあるらしく、久しぶりに聞いたPostgreSQL話にはかなり心動かされる物があった。話の中心はIPAから委託を受けて作っていたpgpool-IIというレプリケーションや負荷分散を行うためのミドルウェアのネタ。
MySQLと違い、PostgreSQL本体ではレプリケーションを行う機能がないので、以前からその種のミドルウェアがあったのだけど、今回の実装は(単一クエリーを分解しての)並列処理も可能になっていてかなり素敵。mixiの例でもある通り、多くのウェブアプリケーションで同じような機能はアプリケーション側で実装しているが、DBだけで完結してくれればかなり話が簡単になる。追記の際の動作についても質問してみたところ、分散に使う関数のインターフェースのみが定義されていて環境に応じて適宜作成することができるらしい。
あくまでイメージなのだけど、PostgreSQLMySQLに比べ良い意味で伝統的なUNIXのアプローチに沿っているような気がする。つまりキッチンシンクというよりはツールキットアプローチ。例えば、pgpool-IIも単体の機能としてではなく、これ自体を入れ子で使うことで管理テーブルの冗長性向上など信頼性を向上させたりできる。
あの場に居たMySQL使いの多くは心動かされる物があったのではないでしょうか。
あと、講演された石井さんは流石に講演慣れされているのか、デモなんかも非常に手際が良かった。あの手のプレゼンを中断してのデモは大抵準備不足でメタメタになりがちなのだけど、サクサクとコンソールで実演される様子は有償の講演される方だけのことはあると思った。
後半はデザイナーの方からのウェブデザインパターンの話。前回でも紹介された話の残りだったが、前回のと合せてこれで完結か。前回の話を聞いたときには、設計思想や構想初期から導入しないと無駄かと肩肘はって考えてしまったが、案外デザイナーとの共通言語として参考程度に使うだけでも効果があるかも。ある程度まとまってきたら、デザインパターン辞典みたいな形で書籍になったら便利かも。