SRA OSS

Clustering and Replication Developers Summit PGCon 2014 参加レポート

2014年5月20~24日にカナダのオタワ大学でPGCon 2014が開催されました。

PGCon 2014 は世界中のPostgreSQL開発者とユーザが一堂に集まる PostgreSQL の一大イベントです。

本レポートではその一環として5月20日に開催されたClustering and Replication Developers Summit PGCon 2014 (以下、Cluster Summit 2014) の様子を報告します。

Cluster Summit 2014 は PostgreSQL の中でもクラスタリング、レプリケーション、スケールアウトの技術に興味があるメンバーが参加するミーティングで、今回で第4回目の開催となります。

私たちは、PostgreSQL クラスタリングを実現するソフトウェアの一つpgpool-IIの開発者としてこのミーティングに参加しました。

会場となったのはオタワ大学の講義室の一室です。

正面のスクリーンと演台を取り囲むように、半円状に机と椅子が並べられ、参加者はそれぞれ好きな場所に座ります。

Josh Berkus の司会のもと、まず参加者それぞれのプロジェクトについて報告が行われ、その後、事前に用意されてた、あるいは、その場で挙がった諸々のテーマについて自由な雰囲気でディスカッションが行われました。

pgpool-II に関しては Yugo Nagata が バージョン3.3 がリリースされていること、開発中である次バージョンの 3.4 では、PostgreSQL本体から例外マネージャ、メモリマネージャが取り入れられたことなどを報告しました。

その後、Ahsan Hadi から pgpool-II のパフォーマンステストの結果の報告があり、データベースのサイズが十分に大きい場合には、バックエンドの PostgreSQLノードの数を増やすことで処理性能(参照75%、更新25%)がスケールアウトする結果が示されました。

Koichi Suzuki からはPostgres-XCについて報告がありました。

Postgres-XC は完全なトランザクション処理と、書き込み/読み込みスケール・アウトが可能な、PostgreSQL クラスタリングソフトウェアです。

PostgreSQL 9.3 をベースにした Postgres-XC 1.2 がリリースされ、このバージョンからはマテリアライズドビュー、自動更新可能ビュー、イベントトリガに対応していることなどが報告されました。

Mason Sharp からは、StadoPostgres-XLについて報告がありました。

Postgres-XL は Postgres-XC から派生したクラスタリングソフトですが、よりパフォーマンス、セキュリティ、安定性を重視するというコンセプトが強調されていました。

続いて報告されたプロジェクトは、トリガベースの非同期レプリケーションソフトウェアの Slony-I です。

開発者の Chris Browne/Jan Wieck からは、9.4 で取り入れられた論理レプリケーション機能を用いたバージョンを、2014年中くらいに試作してベータ版を出すことがためらいながら宣言されました。

そして、プロジェクト報告の最後はBDRプロジェクトでした。

BDR とは Bi-Directional Replication(両方向レプリケーション)の略称で、論理ログストリーミングレプリケーション(Logical Log Streaming Replication: LLSR)を用いて、非同期のマルチマスタ分散データベースを実現する機能です。

その機能は PostgreSQL のコア部分に段階的に追加されつつあり、ベースとなる changeset extraction 機能はすでに PostgreSQL 9.4 に取り入れられています。

報告の中では、9.4 をターゲットとした機能がいくつか残っていること、9.5 をターゲットとしている機能もいくつかあることが述べられました。

その他、進行中のプロジェクトとして、FDW(外部データラッパ)の機能を用いたクラスタリングについて Etsuro Fujita から報告がありました。

postgres_fdw を用いると外部の PostgreSQLサーバに格納されたデータを参照することができますが、この拡張では FDW の文法を拡張し、外部テーブルへのテーブル継承とパーティショニングを可能にすることにより、postgres_fdw を使ったスケールアウトクラスタリングが実現可能になります。

プロジェクト報告の後は、今後必要とされる機能のアイディアについて活発なディスカッションが繰り広げられました。

テーマはその場で挙がった様々なもの、例えば、非同期 FDW 実行の必要性、GTM(Global Transaction Manager:クラスタ全体のトランザクションを管理するPostgres-XCのモジュール)の本体でのサポートの必要性、SQL構文解析部分の API化、クライアント側から複数ホストへの接続を可能にする機能などについて議論されました。

各クラスタリングソフトウェアの機能の重要性を主張し、これをどこまで本体に 含めてもらうかは大事な論点であり、PostgreSQL 本体のSQL構文解析部分を API として利用可能にしてほしいというのは pgpool-II からの主張でもあります。

なお、今回の Cluster Summit の結果かどうかはわかりませんが、PGCon 会期中に開催された PostgreSQL 開発者の会議であるDeveloper Meetingにおいても、Postgres-XC の GTM を PostgreSQL 本体に取り入れる必要性について言及されたことが議事録から確認できます。

全体を通して、ディスカッションの主役は圧倒的に Robert Haas (コア開発者の一人)でした。

椅子の上に膝を立てて座り、新聞を片手に持ちながらと、見た目は真面目に聞いている風ではないのですが、核心をついたコメントを次々と投げかけていました。

さらに、ほかの人への質問にも代わりにどんどん答えてしまったりと、その聡明さと活発さとがとても印象的でした。

Cluster Summit 2014 の最後に設けられた Postgres-XC Pizza Demo では、参加者にピザとドリンクが振る舞われた後、Koichi Suzuki により pgxc_ctl コマンドを用いた Postgres-XC の構築と運用のデモが行われました。

デモを通じて、pgxc_ctl コマンドを用いることで、手動で行うと煩雑な Postgres-XC の構築や運用が、少ない操作で簡単に行えることが示されました。

筆者は PGCon への参加は初めてであり、もちろん ClusterSummit への参加も初めてのことでしたが、PostgreSQL の今現在最もホットな分野の1つであるクラスタリングの最先端の場に参加できたことはとても刺激的な経験でした。

その分、議論の内容を十分に理解できなかったの点をとても悔しく思います。

自分のトップレベルの PostgreSQLハッカーたちによって繰り広げられる高度な議論に参加して PostgreSQL の進化に貢献できるようになりたい、そう思わせるのに十分な魅力を持ったミーティングでした。

facebook ブログ Youtube SRA Group
製品・サービスに関するお問い合わせ

メールフォーム

 

03-5979-2701