PostgreSQLは群衆の叡智か?
SRA OSS, Inc. 日本支社
石井 達夫
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 2
自己紹介
● SRA OSS, Inc.とは?● OSSに関するサービスを提供する会社です● 主にPostgreSQLというOSSデータベースを手がけていま
す● 私は何者?
● 日本支社を預かっています● R&Dのリーダです● PostgreSQLのコミッターです● PostgreSQLを広めることが,公私ともども自分の役割だ
と思っています● 最終的には,水や電気のように,どこでも,いつのまにか
PostgreSQLが使われるようになるのが個人的な理想
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 3
PostgreSQLとは?
● すでに10年以上の歴史を持つ,代表的なOSSデータベース
● 機能に定評あり.最近は性能もすごい● 典型的なOSSプロジェクト
● BSDライセンス● 特定企業や団体の支配なし● コアメンバー+多数の開発者
● DBなので,良くも悪くも実業との結び付きが強い
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 4
データベース製品のシェア
O r a c le
Po st g r eSQ L
M ySQ L
SQ L Ser v er
D B 2
F ir eB ir d
Po w er G r es
その他
Linux World 2007における弊社アンケート結果による(複数回答可能)
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 5
1 2 3 4 5 6 7 80
2 5 0 0
5 0 0 0
7 5 0 0
1 0 0 0 0
1 2 5 0 0
1 5 0 0 0
1 7 5 0 0
2 0 0 0 0
2 2 5 0 0
2 5 0 0 0
2 7 5 0 0
3 0 0 0 0
3 2 5 0 0
3 5 0 0 0
3 7 5 0 0
P o s tg r e S Q L 8 .1 と 8 .2 の C P U スケーラビリティの比較
8 .2
8 .1
C P U 数
トランザクション/秒
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 6http://tweakers.net/より引用
MySQL PostgreSQL
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 7
PostgreSQLの歴史
6 .1 .1 6 .2 .1 6 .3 .1 6 .4 .2 6 .5 .3 7 .0 .3 7 .1 .3 7 .2 .8 7 .3 .19
7 .4 .17
8 .0 .13
8 .1 .9 8 .2 .4 8 .30
5 0 0 0 0
1 0 0 0 0 0
1 5 0 0 0 0
2 0 0 0 0 0
2 5 0 0 0 0
3 0 0 0 0 0
3 5 0 0 0 0
4 0 0 0 0 0
4 5 0 0 0 0
5 0 0 0 0 0
5 5 0 0 0 0
6 0 0 0 0 0
6 5 0 0 0 0
7 0 0 0 0 0
7 5 0 0 0 0
8 0 0 0 0 0
トリガ
副問い合わせマルチバイト
PL/pgSQL
行ロックMVCC
WALログTOAST
ConcurrentVacuum
Windows対応
マルチプロセッサ
対応
HOT全文検
索
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 8
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 9
PostgreSQLの開発プロセス
● プロポーザルを提出● 叩きまくられる● 何とか認められたらパッチを作る● 更に叩かれる● 多いときは10回もパッチを作り直す● めでたくコミット,次のバージョンに反映● 開かれた場でのディスカッション● 技術的に正しいかどうかでのみ判断● もしかしてこれは群衆の叡智?
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 10
PostgreSQL vs. Postgres
● 元々は”Postgres”だった● 誰かが名前を変えようと言った● 投票で”PostgreSQL”に決まった● 10年後に「やっぱりPostgresに戻そう」と誰かが言
い出した● 今更いやだ,いやいやPostgreSQLなんて読みにく
い名前は変えた方がよいとか,議論百出● ちっとも議論が収束しない● 群衆の叡智が働いていない?
2007/11/1 Copyright(c)2007 SRA OSS, Inc. Japan 11
PostgreSQL開発プロセスの評価
● 企業や組織のコントロールを受けていないので,多様な意見や技術が集まる
● 提案者(開発者)とコアメンバーの協調による技術の集約
● 反面,よい提案があっても,それを実装する資金や時間がない場合は,開発の停滞につながる
● 意見や技術の多様性を担保しつつ,開発の支援を行う方法は?