-PR-

MySQLではなく、Postgresを使った方がよいようなケースは何かありますか

オープンソースのデータベース(最新バージョン)を 導入する場合はやはり、MYSQLにしたほうがよいでしょうか。 Po...

annyG さんからの 回答

  • 2009-09-17 15:23:10
  • 回答No.3
annyG レベル9

ベストアンサー率 25% (10/39)

 私も一時期迷いましたが、結果的にPostgreSQLにしました。

・将来性
 PostgreSQLは将来性があります。これからもOracleに追いつき、追い越そうと進化していくでしょう。
 ですが、Oracleに買収されたMySQLにはそれは絶対にありません。むしろ棲み分けのために機能が押さえ込まれていく可能性の方が高いように思います。また、今までMySQLを支援してきた開発コミュニティの大多数は、「あのOracle社」の売り上げに貢献するためにボランティア活動を続けていけるほど心が広くないのではないかと思います。

・設計
 PostgreSQLはかなり「マトモな」DBだと思います。「え?こんなことが?」ということがほとんどありません。全般的に70点、というカンジです。
 ですが、MySQLはかなりクセがあります。一般的なSQLのコツ以外に、MySQL独自の制約やコツのようなものがけっこうあります。(サブクエリが異様に遅いとか) 普通ならこうするけど、MySQLの場合はこうしないといけない、というようなことはあまり考えたくないです。
 それよりなにより、なんといっても「シーケンスがない!」というのが衝撃でした。もちろん代替策はあるんですが、「代替策があるからシーケンスなんて無くてもいいだろ」という考え方はどうも納得できません。
 PostgreSQLは、機能改善の仕方が順序立っていて、まずこの機能、次にこの機能、という流れがとても自然な気がします。反面MySQLは行き当たりばったりで機能拡張していて、結果的に100点の部分もあるけど0点の部分もある、という印象です。

・コスト
 PostgreSQLはどこまでいっても無料、というのが安心です。反面、責任を持っている企業もないというのが不安といえば不安ですが、有償でサポートしている会社がないわけではないので必要ならそういうところを利用するのもあるかと思います。
 反面、MySQLは責任を持っている企業がある反面、そこがサポート収入に異様にどん欲なところである点が不安です。無償版の存続すら絶対とは言えない状況ですから。

・情報
 日本語の情報に関していえば、PostgreSQLが圧倒的です。ですが、マニュアル自体がかなり簡素なので、突っ込んだことを知りたいと思うとユーザのブログなどの非公式情報に頼ることが多く、ここが物足りない点ではあります。
 MySQLは今現在は日本語の情報が少ないのですが、Oracleはマニュアルなどの技術情報の開示についてはかなり積極的ですし、ドキュメントの日本語化もかなりスピーディです、今後は期待できるかもしれません。

・その他
 MySQLの利点は、無償版でもクラスタの機能があるところです。PostgreSQLは単体ではクラスタの機能がありません。(私はここで迷った)
 ただ、pgpool2などの外部のプロジェクトやDRBDなどを使えばカバーできますし、PostgreSQLも次のバージョンでクラスタリングがサポートされそうな雰囲気です。(本当は今のバージョンで実装されるはずだったが間に合わずに延期になった)

 これらの点を総合的に判断すると、やっぱりPostgreSQLかな、と自分的には判断しています。
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
-PR-
-PR-
関連するQ&A
-PR-
-PR-
-PR-
-PR-
-PR-
ページ先頭へ