MySQLとPostgreSQLの違い

こんにちは。

早坂@magicalでございます。

今回は、前から疑問に思っていたDBの違いについてでございます。

日本と国外のシェア率を見てみたんですが、MySQLのほうが圧倒的にRDBMSとして利用されていることがわかりました。

で、何で日本では日本語環境がMySQLよりはある程度強いPostgreSQLを使わないのだろう?

と思い、個人的意見を出してみました。

MySQL:

  • 超有名
  • 分かりやすい
  • 海外でも使われている

などなど。

それに比べてPostgreSQL:

  • 名前が知られていない
  • 関数が多すぎてそんなに使わない
  • それほど使いやすくないのかも

などなど。

で、いろいろ調べてみたんですが、なにやら興味深いものが。

MySQLは「INSERT、UPDATE」の実行速度は大分速いらしいです。

ただ、「SELECT、DELETE」の実行速度はかなり遅いらしいです。

PostgreSQLは逆で、「SELECT、DELETE」が早く、「INSERT、UPDATE」が遅いらしいです。

どれくらいかといいますと、およそ2倍の差が出ます。

10万件のレコードに対してそれぞれを行うストアドプロシージャテストをやってみたところ、上記の結果が算出されたようです。

後もう1つ実験として、DBサーバーとコンテンツサーバーを切り離した時の速度を計測したところ、MySQLはレスポンスが遅く、PostgreSQLはネットワーク間のレスポンスはそれほど悪くないみたいです。

つまり、多クライアント環境ではPostgreが強いみたいです。

で、多クライアントを保持するなら、メモリを50G(今では無理ですが)くらい積み込めば、おそらくDBがパンクしたりすることはなくなるのでは?と思ってみた次第です。

用は、提供コンテンツに適したDBを選ぶのが無難ということですね。

しかし、こういう検証をする人たちってどうやって環境を作ってるのでしょうか?

やっぱり、ユーザー協会が提供してくれるのですかね?

俺もまざってみたいなぁと思ってしまいました。

それでは、今日はこれにて。

仕事に戻りますです。