Tech Sketch Bucket of Technical Chips by TIS Inc.

日本PostgreSQLユーザ会の勉強会で登壇してきました

Pocket

先日、日本PostgreSQLユーザ会の勉強会で登壇する機会をいただきました。
ここでは勉強会で発表した内容に触れるとともに、日本PostgreSQLユーザ会の活動やコミュニティとの関わり方について書いてみようと思います。


PostgreSQLと日本PostgreSQLユーザ会(JPUG)

PostgreSQLはPostgreSQL Global Development Groupというコミュニティで開発されているリレーショナルデータベース管理システム(RDBMS)で、オープンソースソフトウェア(OSS)として公開されています。OSSのデータベースとしてはMySQLとPostgreSQLで人気を二分していますが、PostgreSQLはBSDやMITに似た制約の少ないライセンス体系や特定企業に依存しない開発体制が好まれ、広く利用されるようになっています。

また 日本PostgreSQLユーザ会 (Japan PostgreSQL Users Group。以下JPUG)はPostgreSQLの普及促進を目的として1999年に発足した特定非営利活動(NPO)法人で、主に以下の活動が行われています。

メーリングリストの運営

PostgreSQL全般の話題を扱う「pgsql-jp」とPostgreSQL開発コミュニティ内の議論について情報交換する「hackers-jp」というメーリングリストが運営されています。私も利用している「pgsql-jp」ではPostgreSQLの技術的な質問が飛び交っていますが、「PostgreSQLを使っていてこんなことで困っている」という質問が投稿されると、かなりの確率で(しかも迅速に)詳しい方から解決策が提示されますので、PostgreSQLの利用者には非常に心強い存在です。

ポータルサイト Let's Postgres の運営

PostgreSQLの情報を提供するポータルサイトとして Let's Postgres が運営されており、PostgreSQLのインストール方法といった初心者向けの内容から、PostgreSQLの内部構造、ソースツリーといった上級者向けの内容まで、PostgreSQLを利用する上で有用な記事が幅広く公開されています。

私もPostgreSQLの運用設計、チューニングを行ったり、OSS-DB Exam Gold の試験対策の際にはお世話になりました。

イベントの運営

オープンソースカンファレンス の様なイベントで PostgreSQL に関する講演を行ったり, PostgreSQL Conference, PgDay といったイベントの開催、運営を行っています。

PostgreSQL文書の翻訳

PostgreSQLマニュアル等のドキュメント(英語)を日本語に翻訳しています。PostgeSQLは日本語のドキュメントが充実しており、新バージョンへにも迅速に追随していますが、これはJPUG内の文書・書籍関連分科会の方々がかなりがんばっておられるようです。

勉強会の運営

ソースプログラムやドキュメントを活用してPostgreSQLの内部構造やアーキテクチャを研究し、PostgreSQLへの理解を深めることを目的とした「しくみ分科会」が活動しています。活動の主体はPostgreSQLの知見を共有する勉強会で、年3,4回程度の頻度で開催されています。

JPUGでの過去の取り組み

私は2年程前からJPUGの勉強会へ参加しています。参加当初はPostgreSQLの知識も薄く、内容を理解するので精一杯でしたが、様々な方が有用な知見を無償で提供していることに感動し、私からも何か発信してお返ししたいと思いました。

そんな折、PostgreSQLのExplainをテーマに講演する人を募集していたことがあり、「このテーマならなんとかなるかな」という気持ちで引き受けました。

第20回の勉強会(2011年6月4日開催)で私が講演した時の資料はこちらをご覧ください。

実際にはPostgreSQLのプランナのソースコードまで読む羽目になったりと予想以上に苦労しましたが、ここで得た知見が今となっては糧になっている部分もあり、よい機会をいただいたなと思っています。(いざとなったらソースコード読めるもんだな、と変な自信もつきました)

勉強会での話

で、えらく前置きが長くなってしまいましたが、先日行われた第25回の勉強会(2013年2月9日開催)で講演してきました。講演している時の雄姿はこちらです(聴衆が写っていないので雰囲気がつかめませんが)。
P2090420_D1_R.jpg

また、講演資料はこちらをご覧ください。

今回の勉強会では、PostgreSQLストリーミングレプリケーションとpgpool-II を組合せたクラスタについてお話しました。このクラスタ技術は弊社のOSS推奨スタック「ISHIGAKI Template」の中で活用しており、今回の発表はISHIGAKI Templateに対して実際に行った検証結果をベースにしています。

こういったクラスタ技術は時間をかけて検証してみると机上では想定しなかった問題が発覚するもので、聴講いただいた方々にも新しい気づきを得ていただけたのではないかと思っています。

その後の懇親会で反応を探ったところ、私の後の「PostgreSQLでヒント句が使えるようにするpg_hint_plan」の発表に話題をさらわれてしまったようでしたが・・・

コミュニティへの貢献

OSSコミュニティに貢献すると言うとOSS自体のソースコードをメンテナンスする開発者をイメージしてハードルが高いものとイメージしがちですが、ドキュメントを翻訳したり、Webや勉強会などで情報を発信したりと色々な形で貢献はできるものと思います。

OSSは「タダで使える」ことに注目されがちですが、使えるOSSは多くの方が貢献することによって成り立っていますので、利用コストの面で恩恵を受けた分を何かしらの形でお返しする、という姿勢でコミュニティと付き合っていきたいものです。

エンジニア採用中!私たちと一緒に働いてみませんか?