PosgresSQLで「いける」と感じた瞬間
谷川:当時苦労されたこととか覚えてますか?
石井:今となっては懐かしい思い出なのですが、当時はPostgreSQL以前にオープンソース自体誰も知らないのです。当初3人で毎日炎天下を歩きながら「オープンソースとは」から説明を繰り返していました。散々回ってお客様を獲得しまして、最初のビジネスはサポートではなくてトレーニングでした。
谷川:PostgreSQLを使うためのトレーニングですか。当時としては先進的ですよね。
石井:人に恵まれ、幸福なスタートを切れました。
谷川:PostgreSQLの7ごろからデータベースの完成度が高まってきた印象があります。
石井:実は6の時代にはまだトランザクションログがありませんでした。
谷川:おおお。出し入れしてもそのまま?
石井:何よりも性能が悪かったです。今でも使われているベンチマークのpgbenchで計測すると数tps、一桁で嘘みたいな数字でした。トランザクションログが実装されるのが2001年の7.1でようやく実用的になりました。
谷川: 7.x時代、僕はオラクルにいて営業からPostgreSQLの競合資料を出してくれと言われました。
石井:おっ。
谷川:探したのですが、(アメリカから)「ない」と言われました。当時オラクルはまだPostgreSQLをライバル視していませんでした。
石井:おそらく日本でしか使われていませんでしたから。日本はユーザ会が頑張り、仲間を増やすことができたのです。
谷川:PostgreSQL 7.x当時はVacuumに問題などあり、オラクルはライバル視していなくて、営業には「競合資料はないけど、相手にしなくていい」と回答していました。それが今や オラクルのライセンス契約変更などを契機にユーザーがPostgreSQLへの移行を考えるなんて。時代は変わったと思います。ただ、7.xで使えるようになったとはいえ、まだ苦労があったのではないでしょうか。
石井:いろいろありました。元々英語育ちなので、 日本語があまりちゃんと使えない。文字コードの符号化方式が分かれば実装できるのですが、最終的な確認はやはりできません。そこはインターネットを通じて中国や韓国の人などいろいろと協力をいただき、進めることができました。
谷川:PostgreSQLが「いける」と感じたのはいつ頃でしたか?
石井:2003~4年には軌道に乗ってきたと感じました。2005年にSRA OSSが設立されました。
谷川:7の後半くらいですね。画期的に変わったと感じたのはどのくらいですか?
石井:8.0のWindows対応、9.0でレプリケーションなど、技術的な節目はありました。ただビジネス的には7.4が思い出深いです。派手な変更はありませんでしたが、トランザクションが入り日本語対応して、安定していて。7の最後か一つ前でした。後の9.1やマルチコア対応で性能がガンと上がるのですが、7.4ではひとつ完成されたという印象がありました。
谷川:PostgreSQLの認知が広まったのは8.xと記憶しています。
石井:8の最大の売りはWindows対応です。日本はPostgreSQL自体は海外より先行していたものの、Linux普及自体は海外より遅れていましたから。Windowsユーザーに訴えかけられたのがよかったと思います。
谷川:Windows対応で世の中に広く受け入れられる環境が整ったのでしょうね。8から9はどうでしたか?レプリケーションはオラクルをやっていたら珍しくはない概念ですが。
石井:レプリケーションは9.0になる前から要望がありました。本体ではなく周辺ツールで実装されていました。実は私もpgpoolなど開発していて。最終的に本体に組み込まれるストリーミングレプリケーションは「ステートメントベース」と呼ぶもので、SQLを複数のPostgreSQLに同時に投げて結果としてデータがコピーされるという仕組みです。
谷川:個人的にはPostgreSQLの難しいのは本体とツールの機能を組み合わせるところです。素人が手を出しにくい。
石井:9.0以降はレプリケーションの重要性が周知され始めると、もっと先をと考える人が出始めてPostgresのフォーク百花繚乱の状態になってきました。
谷川:OSSの良いところでもあり、敷居を上げたところでもありますね。石井さんから見てフォークがたくさん出ることはどの見ていますか?
石井:フリーダムと言えばフリーダムなのですが、フォークしたもののリストを見るとかなり増えていまして。ライセンスが緩いのでいくらでもフォークできるのはいい点でありつつも、フォークしたらいつか本体に収束しないとPostgreSQLの成長がなくなってしまう。痛し痒しというところですね。