4万以上の.infoドメインを管理するレジストリで,また280万以上の.orgドメイン管理のバックエンド・サービスも担当するAfiliasは,ドメイン名を管理するデータベースにPostgreSQLを使用している。Afiliasの技術者でありPostgreSQL開発チームのコアメンバーでもあるJan Wieck氏に,レプリケーション(複製)ソフトウエアSlony-Iなどについて聞いた。(聞き手はIT Pro編集 高橋信頼)

――これまでPostgreSQLのどういった機能を開発されたのですか。

Jan Wieck氏
 ストアド・プロシジャ記述言語のPL/pgSQLやPL/tcl,外部キーによる参照性合成制約の大部分,NUMERICデータ型, 行のサイズを無制限にするTOASTストレージ, アクセス・スタティスティック・コレクタ,バッファ・キャッシュの改良,VACUUMの改良や,ディスクI/Oを管理するバックグラウンド・ライター・プロセスなどです。

――AfiliasにSlony-Iを導入した経緯は。

 以前からAfiliasではPostgreSQLを使用しています。従来は,カナダでPostgreSQLのサポートなどを行っているPostgreSQL社とAfiliasが共同開発した,eRServerと呼ぶPostgreSQL用のレプリケーション・ソフトウエアを使用していました。しかし,eRSeverは,クローズド・ソース・ソフトウエアをベースにしていたため,外部からサポートを受けることができない。そのため,Afiliasは純粋にオープンソースのレプリケーション・ソフトウエアを開発することを決定しました。開発は2003年11月から開始しました。

 最初のバージョンが完成したのは2004年7月。Afilias小国のカントリーコード・トップレベル・ドメインのバックエンド・レジストリ・サービスを提供していますが,まずそこで使い始めました。.infoドメインと.orgドメインの管理に使い始めたのは2004年9月11日からです。軽微な問題はありましたが,クリティカルなバグや機能不足はなく順調に稼動しています。

――Slony-Iの特徴は。

 純粋な非同期のレプリケーション・ソフトウエアで,LANだけでなく狭帯域のWANを介したバックアップにも利用できることです。PostgreSQLに対してはデータベース・クライアントとして動作し,SQL文でアクセスします。データベースの更新により起動される,トリガー・ベース方式を採用しています。

 オーバーヘッドですが,リード:ライト比が1:5程度の場合,マスターとなるPostgreSQLの性能低下は10%未満にとどまります。

 DBコネクション・プーリング・ツールであるpgpool(関連記事)と組み合わせてフェールオーバーを実現するといった使い方も可能です。

 Slonyはロシア語で,PostgreSQLのマークである象の複数形です。Slony-Iのアイデアのいくつかは,元PostgreSQL開発チームのコアメンバーでロシア出身のVladim Mikheev氏に影響を受けているためです。

――DBMSを開発した経験をお持ちなのですか。

 いえ,ありません。この話をすると皆驚くのですが,最初は銀行員だったんです。その後,銀行でIT部門に配属され,メインフレームのアセンブラやCOBOLでプログラムを開発していました。その後コンサルティング会社に転職し,SAPのコンサルタントをしていました。

 PostgreSQLを使い始めたのは,1994年ごろ。趣味でプログラムを作るためDBMSが必要だったのです。まだPostgreSQLではなくpostgresで,SQLではなくPostQUELと呼ぶ独自クエリ言語を使っていた頃です。その後,97年にクエリのリライト・ルール・システムのバグを修正したことで,開発チームに加わりました。99年にBruce Momjian氏に誘われ,コアメンバーになりました。