ウェブ用DBとしてMySQLを利用していますが、PostgreSQLってどうなんだろう?と思っています。

なにげに調べるともPostgreSQLはSELECTも同じぐらい速いようです。

違いがわかる方におたずねします。
MySQL、PostgreSQLの違いを教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/05/27 23:43:50
  • 終了:2007/06/03 23:45:03

回答(5件)

id:WANT No.1

WANT回答回数118ベストアンサー獲得回数92007/05/28 01:02:05

ポイント20pt

過去に同様の質問がありますので、参考にされてみてはいかがでしょう?

http://q.hatena.ne.jp/1172246032

id:peppon

ありがとうございます。

2007/05/28 12:03:21
id:tombe No.2

tombe回答回数38ベストアンサー獲得回数72007/05/28 01:16:54

ポイント20pt

http://www.google.co.jp/search?num=20&hl=ja&q=mysql+post...

URLはダミーです。


MySQLは、当初「トランザクション機能」をキャンセルする事によって「高速性」を盛んに宣伝したRDB製品です。

「高速性」だけがクローズアップされたが為に需要が伸びましたが、いつのまにか「トランザクション機能」を搭載して、そこに誤解が発生したのです。

日本における典型的なMySQL採用事例は以下の図式です。


Oracleは高価だからオープンソースの代替製品は無いの?

    ↓

MySQLがオープンソースの割りにスケーラビリティが良いらしいよ

    ↓

では、MySQLを検討しようかな

    ↓

確かに速度的にはまぁまぁだが、いくらなんでもトランザクション無しは厳しいよね

    ↓

トランザクション版MySQLもあるらしいよ♪

    ↓

OK! トランザクション版MySQL採用決定! (この時点で論理破綻)


というわけで、トランザクション機能有りなら、パフォーマンスに関してはMySQLもPostgreSQLも大差ありません。

信頼性の面では、ぽっと出のMySQLに比べて、40年前後のIngres系の歴史を継承するPostgreSQLに一日の長があるでしょう。

特にUnicode対応に関しては、PostgreSQLはかなり以前から地道に対応していますが、MySQLはバージョンアップする度に仕様が右往左往して混乱しています。個人的感想としては、Unicode一点だけを見てもMySQLは信用できないと感じています。

ちなみに以前、仕事関係で両者の日本語対応状況を調査しましたが、GUIツール、スキーマ(DB名、テーブル名、カラム名)、SQLプロンプト等・・・全ての面で MySQL は劣悪でした

id:peppon

とても参考になります。 ありがとうございます。 でも今MySQLを利用していますがそんなにひどいと状況とも思えないですが、どんなんだろう。

2007/05/28 12:05:02
id:gekikawa No.3

gekikawa回答回数110ベストアンサー獲得回数112007/05/28 12:43:02

ポイント20pt

チョット古い記事ですが

http://journal.mycom.co.jp/articles/2005/03/28/db3/

両者の目だった問題点などが記されています。(現在でもその状況はあまり変わらないと思います。)



MySQLはストレージエンジンが選べてトランザクション機能

を持たせることも可能。Windows対応も古く現在世界的にはこちらの方が利用多数

PostgreSQLはライセンスがゆるく、改造してもOK。非同期クエリもつかえる。日本語対応は古くから

と私は思っています。

最近はMySQLのほうが書籍が豊富になっているのかなとも思います。

id:peppon

そうですね。MySQLは利用していますがPostgreSQLの情報が少なく感じています。

2007/05/28 23:50:08
id:Yota No.4

Yota回答回数453ベストアンサー獲得回数282007/05/29 19:07:57

ポイント20pt

わたしは、PostgreSQLとMySQLの両方を同じくWEBアプリケーションにつなげて使用しています。

もともとPostgreを使っていたのですが、挿入するデータのエンコーディングが(Windows)SJISのとき、エンコーディング変換したくないのでMySQLを使いました。

昔はPostgreの方が標準SQLに近いといわれましたが、最近のMySQLはどんどん歩み寄ってきてますね。とはいえ、データ型とか運用管理とかは、両者で違います。MyISAMは別として、同じ条件ならそんなにスピードは変わらないような気がします。いまMySQLで支障がなければあえて乗り換える必要はないと思います。それよりもMySQLの道を奥深く究めたほうが、パフォーマンスの向上が期待できると思います。たとえば、きちんとチューニングすればレスポンススピードは上がるのに、現状をそのDBMSの性能と思い込んでいる場合も多いと思います。

まあわたし個人としては、ABという営利企業が提供しているMySQLよりもコミュニティで運用されているPosgreの方が、よりオープンソースらしくていいです。とはいえ、突然ABがオープンソースをやめるということはないし、ネイティブでレプリケーションができる、Windowsと仲良しである、などMySQLも捨てがたいよさがありますね。

http://dummy.com/

id:peppon

ありがとうございます。

とりあえず現在のMySQLで満足はしていますし、またいろいろと調べ直すのも大変だという気もします。

2007/05/31 10:17:36
id:karla No.5

karla回答回数130ベストアンサー獲得回数42007/05/30 04:13:30

ポイント20pt

http://itpro.nikkeibp.co.jp/article/COLUMN/20060120/227628/?ST=o...

数年前に何を使うか選定した時は、MySQLのトランザクション管理やサブクエリーなどの機能不足な点からPostgreSQLを使う事になりました。

最近はMySQLも使っていますが、トランザクションありだとパフォーマンスの差などは気になりません。

便利だなぁと思ったのは

・クラスタリングがしやすい。

・1システム内でInnoDBとMyISAMを使い分けできる。

・バキュームがいらない。

です。


最近のPostgreSQLはテーブルスペースやCEなど、機能面で充実してきた感があります。

id:peppon

ありがとうございます。

MySQLに比べてPostgreの方がいいって部分はなんでしょうかねー ライセンスがぬるい事なのかなー

2007/05/31 10:17:37

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • しらべてみた なんとなく。 なお、バージョン8.3からはHeap-Only Tuples (HOT) が採用され、インデックスの変更を伴わない更新については、削除された行を直ちに再利用することが可能となり、
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません