PosgresSQLのこれから
谷川:ここからは9.x移行の性能向上の話をお願いします。
石井:こちらのグラフは縦軸が性能で横軸が同時接続数です。9.1から現在最新の9.5まで順調に性能が上がっているのが分かります。特に9.2が顕著で、マルチコア周りをがっつり改良しました。
谷川:性能は注力ポイントですか?
石井:はい。コア数に関心の高い人たちが、ボトルネックを見つけて改善を重ねていきました。現在のPostgreSQLはシングルサーバーでマルチコアをの性能を生かして性能を向上させています。足りないところはパラレルクエリで並列処理をさせていきます。
谷川:開発コミュニティにおいて、日本の存在感はどうでしょう?
石井:印象深いのがNTT関連の方々で、多数開発に参加してくれています。特にストリーミングレプリケーションはNTTが開発したものです。
谷川:日本がシュリンクしているということはないんですね?
石井:世界の開発者の増え方を見ると、まだ日本は追いついていません。私自身の反省も含め、もっと増やして行きたいです。
谷川:次のバージョンとなる9.6は今年中に出るイメージですか?
石井:今のところ9月の予定です。遅くとも10月。
谷川:まだ10にはなりませんか?
石井:まだはっきりしないです。恐らく9.6は9.6のままで。次は間違いなく10.0になると思います。来年のお楽しみですね。
谷川:9.6はおおよそ姿が見えていて、大きなものがParallelクエリーですね。その先の10はどうでしょう。どのような方向に行くでしょうか。
石井:そもそもなぜ9から10に上げるか。PostgreSQLはよほどのことがない限り、一桁目のバージョン番号をあげません。「10にしよう」という声が出ているということは、多くの開発者が節目を感じているということです。その理由を私なりに解釈すると、やはり並列処理、クラスタリングにあると思います。
谷川:PostgreSQLは比較的コンサバな開発体制ですよね。
石井:その通りです。過去にクラスタリングでフォークしたプロジェクトが色々とありました。その反省もあり、本体に取り組むにはどうしたらいいか考えてるところです。まだマルチサーバーではなくシングルですが、並列処理ができる技術的に確立しようとしています。
谷川:古くから安定性を重視してきた人たちと自由にしようとしている人たちがいるのですね。
石井:若い人は当然のように色々やりたくて意見を言うのですが、古くからの開発者が上手く手綱をとっています。うまくバランスが取れています。いま開発者が増えたのでパッチを作る人は増えましたが、レビューアーが絶対的に足りないという問題があります。どう解決するか試行錯誤しています。
谷川:PostgreSQLはコンサバですが、早い段階からJSON形式を採用するなどコンサバではない試みもありますね。ここはなぜでしょう。
石井:JSONは新しい機能で、ロシアの開発者の功績が大きいです。コンサバといっても、トランザクション処理の本流だと、ものすごく改善には慎重でコンサバになります。しかし新しいデータ型を追加するのは機能的には簡単だし、あまりリスクがないので受け入れられやすかったです。
谷川:きっちりやらなくてはいけないところはコンサバだけど、新しいことも比較的受け入れられる体制があるのですね。
石井:作る意欲のある人、それからニーズが明確なら受け入れられます。
谷川:10.0へのステップはコンサバな領域ですよね。きっちりやらなくちゃいけない領域です。ここに並列処理を入れるということだから大きな変更だという捉え方なんですね。
石井:おっしゃる通りです。
谷川:……それって大丈夫ですか?
石井:確かに難しい問題は多々あります。ただしいろんなフォークで試行錯誤してくれたおかげで、後はどうとりまとめて、どの方式を選んでいくのかという決断の問題となりました。必ず実現できると思っています。ただみんなで力を合わせて頑張らないと、最終的に良くないものができてしまいます。今は大変な時期です。一方で今参加していると面白い時期です。
谷川:大きく変わる時期だから、使う立場からフィードバックして参加するのも面白いでしょうね。
石井:開発者が思いもよらない使い方をするなど、どんどんいじめて、フィードバックしていただけると非常に嬉しいです。
谷川:PGEConsも積極的に新しいことに取り組んで行くことになるんですよね。まだ話題になってないかもしれませんが。
石井:今はコミュニティリレーションシップ部会で進め方を調整しているところです。まずはPGEConsでリクワイヤメントを固めようとしています。一方でコミュニティ開発者はToDoを持っています。その2つを整合させて、PGEConsと開発コミュニティが会話ができるように準備をしていきたいです。
谷川:石井さん的に「PostgreSQLのここが気に入ってる」のはどこですか?
石井:私はITの領域ではプログラム本体よりデータに興味がありまして。大量のデータをうまくコントロールするとか、管理するためのツールとか、人から見ると偏っているかもしれませんね。無難なところだと、PostgreSQLはとにかくソースコードがきれい、アーキテクチャがきれいです。幸いにも細かな指摘も多く、ソースコードの磨かれ方は半端ではありません。
谷川:コミュニティに関わるとソースコードがどうあるべきかまで、確実に学べるわけですね。
石井:Linuxカーネルに知識があればご存知とは思いますが、PostgreSQLはC言語で書かれています。マクロの使い方が意外と難しく、面白いところです。いまだに「こんなことができるのか」と発見があります。PostgreSQLのソースコードは観賞だけでも十分価値があると思います。
谷川:「こういう人はぜひPostgreSQLを使ってみては」という人物像はありますか?
石井:2つあります。1つは自分でPostgreSQLやデータベースに「こうあってほしい」と強く思う人です。もう1つは技術者ではないのだけどエバンジェリスト、PostgreSQLやOSSの良さ伝えてくれる人です。私はとても重要だと思っています。コアメンバーにエバンジェリスト専門がいるほどなので、日本でもそのようなことをやってくれる人が出てきてほしいです。
谷川:今年大きなイベントをやろうという動きがあるんですよね。
石井:PGConf.Asiaです。実行委員長の稲葉香理さん、挙手お願いします。12月2~3日、秋葉原で開催します。PostgreSQL生誕20周年もあわせ、アジアでも大きなイベントで盛り上げようということになりました。日本PostgreSQLユーザ会などボランティアベースで開催を予定しています。私はプログラム委員長を担当します。今はセッションの選考者を取りまとめているところです。いいプログラムを選出して、いいカンファレンスにしようと思いますので、是非12月2日と3日は予定を空けておいてください。
谷川:オタワは別格として、先ほど紹介していただいたロシアをこえる、アジア最大のカンファレンスになるって事ですよね。
石井:実は野望がありまして、「アジア」という名前にしていますので今後はアジアで持ち回りで開催できたらと思っています。中国や韓国などアジアの主要国とコミュニケーションしていきます。
谷川:ヨーロッパやロシアが強いという話がありましたが、アジアはどうでしょう?
石井:基本的にはこれからですが、アジアで先行しているのが中国です。年に一度PostgreSQLの大きなカンファレンスがあります。それ以外にも各都市で頻繁にやっていると聞いています。
谷川:会場の皆さん、是非カレンダーに予定を入れておきましょう。個人的にはPostgreSQLは9.xで商用データベースにいいところまで追いついたと思っています。石井さんはどうですか?
石井:開発者やコアメンバーには「これからは商用DBを追い越す」という気概を持っている人もいます。
谷川:僕もそう思っています。追いつけ追い越せだと移行先にしかならないので、できれば「PostgreSQLならでは」とか「PostgreSQLだからこそ」使う動きになってほしい。
石井:GIS領域だとダントツに強いと言われています。これから強みを増やしていければと思います。ワールドワイドに向けて声を出していきたいと思います。
谷川:会場のみなさん、PostgreSQLを移行先として見るだけではなく、PostgreSQLでビジネスにイノベーションを生む事例を作ってください。DB Onlineで記事にしますので、是非情報をお寄せください。長時間のご参加、誠にありがとうございました。