パスワードを忘れた? アカウント作成
6388426 story
データベース

/.Jに聞け:PostgreSQLとMySQL、それぞれの優位性は? 87

ストーリー by headless
質問 部門より
あるAnonymous Coward 曰く、

フリーのデータベースとしてどちらも名高いPostgreSQLとMySQL。それぞれにはどのような優位性があるのか?という 質問がQA@ITにて投げかけられている。確かに複数のDBに対応するORマッパーが普及する現在、どちらを選択するかで迷うことも多いだろう。回答でほぼ完璧な答えが記載されているような気もするが、/.J読者の皆様はどう思う?

ちなみにタレコミ子はみんな使っているからという理由でMySQL派です。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • SQLite3 派 (スコア:5, おもしろおかしい)

    by Anonymous Coward on 2012年09月16日 11時30分 (#2232808)

    開発初期: とりあえず SQLite3 で作っておくかー。
    開発終盤: このままでもいいんじゃね?

    • by Anonymous Coward

      普通にありそうだわ。

    • by Anonymous Coward

      そんな感じっすねー。
      ブログ投稿とかだと、高々数キロバイトの粒度の荒いデータなので、スケールするB-TreeとHashがあればいいって感じ。

      自分でファイルシステムに落とすとなると、ハッシュ分散させたり、FileLockを書くのが面倒なのでDB使ってますが、RDBMSである必要性があまり無いようなデータです。
      KyotoCabinetに手を出そうかとも思ったのですが、そこまでパフォーマンス要求されるアプリでもないですし。。

  • データストアを使うことが MySQL か PostgreSQL か、古いタイプの選択肢にジャンプしてしまうのが嫌いです。クラウドが全盛の時代、自前でサーバーをセットアップして、しばらくするとパフォーマンス落ちるから、データベースのメンテナンスして、バックアップ作業のためのスクリプトを準備して・・・、みたいな作業をまだやるつもりですか?

    ソフトウェアの実行環境を提供するクラウドサービスのデータストア機構や機能を比較検討したほうがいいんじゃないかと思います。そのクラウドサービスは MySQL を提供してるならそれを使うことになるでしょう。ORマッピングAPIを通してデータを扱うことが決められてるなら、そう書きましょう。

    たぶん、リレーショナルデータベースを採用するということは、ユーザが非常に限られ、扱うデータも単純なものなのでありましょう。なら SQL を使うのもいいでしょう。しかし、ユーザーが膨大な数、ないしユーザーの増加数が予想できない場合には? NoSQL系統のデータストア、リレーショナルデータベースなんかじゃなくて、コントロールしやすいトランザクション機構の利用をおすすめします。

    • by Anonymous Coward on 2012年09月16日 18時11分 (#2232945)

      常にインターネットにアクセス出来るシステムばかりではないですよね。
      住基ネットとか銀行とか病院とか、クラウド上に置くのに抵抗がある情報もあります。
      そういう意味で個別のデータベースの比較には意味があります。

      視野が狭く、話がずれています。

      親コメント
    • by Anonymous Coward

      第1段落と第2段落は同意.
      第3段落で上の評価をふっとばして「何言ってんだこいつ」のAAを探し始めるレベル.

  • 神託 (スコア:5, おもしろおかしい)

    by hahahash (41409) on 2012年09月16日 19時04分 (#2232968) 日記

    MySQLの優位な点
     Oracleだ

    PostgreSQLの優位な点
     Oracleじゃない

  • MySQLは、Oracle に潰される危険性があるので怖い。
    PostgreSQL は、自己崩壊する危険性があるので怖い。
    でも、PostgreSQL は、何とか自分でメンテナンスできそうなので、使っています。
    もっとも、以前、--no-localte で initdb しないと文字化けする問題を直してやろうと解析して挫折しました。
  • by gonta (11642) on 2012年09月16日 11時51分 (#2232813) 日記

    ・とりあえずのスペックで、特にISAMあたりにしちゃうと、MySQLの方が早い。
    ・全部のアクセスをrootにすると楽だから、MySQLの方がいい(ケータイゲームの連中はこれが多いとか)。PostrgreSQLは、まじめにユーザ管理が入る(というか初期状態でとっつきづらい)。
    ・ある程度アクセスが増えてきて、マシンスペックを高くすると、MySQLは早めにサチる=スペックとDBの性能が比例しなくなる。PostgreSQLは結構リニアに延びていく。

    自分が説明する場合に用いるネタですが、2009年前後の情報なので、変わっているかもしれません。PostgreSQL育ちなので、MySQLの方が弱いです。

    先日Oracle for Linuxを触ったんですが、ユーザ/スキーマの考え方がPostgreSQLと全然違ってカルチャーショック。

    --
    -- gonta --
    "May Macintosh be with you"
    • by kou1slash (5979) on 2012年09月16日 13時47分 (#2232860)

      自分の遍歴がSQLServer2000→SQLServer2005→mysql 5.1 なんですが、mysqlのアカウント管理の細かさにちょっとビビったりしましたね。
      テーブル単位でユーザとパスワードを定義できるとは思わなかった…。

      システムごとに参照出来るテーブルは分けたほうが良い場合があるから、そういう管理をするときはありますよね。

      パフォーマンスはInnoDBだとインデックスを使えるか使えないかで10倍、100倍の性能差が出てくるから一概に言えないのが難しい…。
      でもmysql 5.1はSQLServer2000級の性能はあるような個人的な感じが。(パフォーマンス)

      親コメント
    • by Anonymous Coward on 2012年09月16日 18時07分 (#2232944)

      >・ある程度アクセスが増えてきて、マシンスペックを高くすると、MySQLは早めにサチる=スペックとDBの性能が比例しなくなる。PostgreSQLは結構リニアに延びていく。

      これはMySQLを理解してない人が運用すると落ち入る穴ですねw
      実際はMySQLの方がリニアに性能が上がってくるけど、毎度チューニングする必要あり。別に難しいチューニングでもないけどね。
      ただMyISAMは性能が上がらないので、まずはInnoDBへ変更するのが先ですが

      PostgreSQLは大量のアクセスがあるサイトだとどうしても・・・

      親コメント
    • by Anonymous Coward

      >・ある程度アクセスが増えてきて、マシンスペックを高くすると、MySQLは早めにサチる=スペックとDBの性能が比例しなくなる。PostgreSQLは結構リニアに延びていく。
      これがすべてを物語っている気が
      軽量システム:SQLite
      そこそこのシステム:PostgreSQL
      かなりのシステム:オラクル/DB2/MS SQL Server

      アレ?
      MySQLの入る場所がないwww

  • by saitoh (10803) on 2012年09月16日 18時39分 (#2232957)
    199x年のころはPostgreSQLが圧倒的優位(入門書などの出版数からみても、雑誌での取り上げ方でも)っていうか有名だったような記憶があるのですが、その後なんだかドンドンMySQLが優勢に(良く名前を見るように)なってきましたね。。
  • 使い始めて10年以上になりますが、何の不自由もないのでMySQLを選んで使ってます。
    私は有料サポートを受けないと無理といった、DBシステムを作ったことがないので参考にならないかもですが、ちょっとしたデータベースでいい場合なら、最初からMySQLを選んでいます。
    インストール可能なOSも多いし、ODBCで接続したりでも難なく使えています。

  • by Anonymous Coward on 2012年09月16日 12時43分 (#2232834)

    MySQLは接続ライブラリがLGPLではなくてGPLとなるため完成したアプリ/システムにGPL汚染が発生する。

    実際にこれを理解していないでライセンス違反の使い方しているソフトハウスとか多そうだね。

    でわざわざライセンスを買って利用するならMySQLの優位性は少なくなってくる。

  • by SteppingWind (2654) on 2012年09月16日 14時16分 (#2232869)

    MariaDB [mariadb.org]とかじゃなく?

    # 個人的にはお客さんがIngres [actian.com]を使っていた影響もあってPostgreSQLをメインで使ってますが

  • by nyagy (17036) on 2012年09月16日 23時17分 (#2233065)

    なので4バイトの文字が格納できねーって話があったんだけど、今調べたら5.5.3でようやく対応したのですね。

    MySQLの"UTF-8"にご用心 [yanok.net]

  • 地図好きなので、趣味でGISデータをデータベースに格納したりしていますが、
    GIS分野では、MySQLよりも、PostgreSQL+PostGISの方が広く使われているという印象です。
  • by Anonymous Coward on 2012年09月16日 12時10分 (#2232819)

    PostgreSQL完敗。

    略称
    ポスグレ
    マイエスキューエル
    PostgreSQL完勝。

  • by Anonymous Coward on 2012年09月16日 12時14分 (#2232823)

    MySQLが未だに再帰クエリに対応してくれないので、この二つならPostgreSQL。
    ただ、SQL Server Expressでいいやってことも。

    • by TonboDama (31248) on 2012年09月17日 1時00分 (#2233089)

      私の周辺でも情報システム(基幹系とか)で脱Oracleの話題はあり、まさにMySQL vs PostgreSQLになりそうだったんですが、
      ピンからキリまでの人間で寄ってたかって作るシステムなんで癖の少なそうなPostgreSQLが優位。
      他にはOracle社の動きが読めないのでMySQLは怖いなとか。
      PostgreSQLをベースにしているというEnterpriseDBなんか興味があるんですけどね。

      PostgreSQLの再帰クエリは住友電工情報が寄贈していますね。話によるとコスト削減でPostgreSQLを
      使いたかったけど再帰クエリがないと使えないという事で実装してもらうことにしたとか。
      http://itpro.nikkeibp.co.jp/article/COLUMN/20081106/318645/ [nikkeibp.co.jp]

      親コメント
    • by Anonymous Coward

      自分も、SQL Server Expressに一票。次点でMySQLだな。
      PostgreSQLは、SQL Serverと比べるといまいちメリット(プラットフォームくらいしか)が見い出せない。

  • by Anonymous Coward on 2012年09月16日 12時18分 (#2232824)

    組込み用途でどっちか選べと言われても
    どっちも使わない気がするけどな。

  • by Anonymous Coward on 2012年09月16日 12時19分 (#2232825)

    国内/国外のレン鯖事情見たって圧倒的大差。そもそもPostgreSQLという選択肢が無い所がごまんとある。
    それはもうレン鯖どころかCMSやBlog kit層にも蔓延していて、SixapartのアレですらPostgreSQLのサポート止めちゃったレベル。
    もはや優位性云々の次元じゃないんだよね。選択肢自体が無いんだから。

    そしてサポート料、これがまた……
    ボラクルボラクルって言わてるOracleのMySQLプランと、SRAの同等プランで比較すると良い。
    だいたいからしてPostgreSQLってのはGNU縛りが存在しないから、PostgreSQL PlusとかPowerGressとかやりたい放題、売りたい放題。
    コミット? 何ソレ美味シイノ? おまえのものは俺のもの俺のものは俺のもの。これがPostgreSQLゴロの現実。

    どうしてクローズドソースのDB郡と比較せずに、わざわざMySQLに絡みたがるのか……
    何かっつーとMyISAM持ち出すしよ、どうしてAriaと比較しないんだ?
    InnoDBとの比較も意味不明。PBXTと比較しろ。
    本当に気持ち悪い連中だわ。

    # つーか、PostgreSQLがどの国で一番使われてるのか調べろよ。ガラパゴスDBってレベルじゃねーぞ。

    • by Anonymous Coward on 2012年09月16日 13時04分 (#2232840)

      実際のところどうなのか気になったので調べてみました。

      Software Stack Market Share: July 2012
      http://blog.jelastic.com/2012/07/23/software-stack-market-share-july-2012-2/ [jelastic.com]

      日本ではMySQLが一番人気みたいですよ。そして、PostgreSQLのシェアが他の地域よりも圧倒的に少ないように見えます。これでは「PostgreSQLを*使わない*なんて、ガラパゴス化してんじゃねーよ」と言わないといけませんね。
      逆に、他の地域よりも人気なのはMongoDBですね。

      他の会社の統計もあれば教えて下さい。

      親コメント
      • 昔は圧倒的に海外MySQL、国内PostgreSQLだったんですが。
        MySQLがOracleに取得されたことで

        海外=やばい、他の選択肢を探さないと!=他のDBが伸びる
        日本=Oracle様なら安心だな!=MySQLが伸びる

        って動きになったんでしょうか。#にしてはMariaのシェアが謎

        • by Anonymous Coward

          != が、関係演算にみえた...

        • by Anonymous Coward

          Linux機にDAViCalを入れたらPostgreSQLを使ってて、
          昔ならこういう場合MySQLだったよなぁと思いました。

        • by Anonymous Coward

          それではMySQLの「世界でもっとも普及している、オープン ソース データベース」というキャッチコピーは違法ですね。

    • by Anonymous Coward on 2012年09月16日 12時25分 (#2232827)

      こいつ絶対「Heroku潰れろ」って思ってるな

      親コメント
    • by Anonymous Coward on 2012年09月16日 15時52分 (#2232887)

      >それはもうレン鯖どころかCMSやBlog kit層にも蔓延していて
      そのオープンソースのCMS系がGPLばかりでBSDライセンスとか無いのは、
      結局MySQLの接続ライブラリがGPLのためにどうしてもGPLになってしまうと言う負の連鎖に陥っていますね。
      (接続ライブラリに関しては接続されるシステムが既定のオープンソースに限って除外規定が使えるけど)

      >PostgreSQLってのはGNU縛りが存在しないから、PostgreSQL PlusとかPowerGressとかやりたい放題、売りたい放題。
      そのおかげでPostgreSQLで作ったシステムは商用転用しやすいですね。

      MySQLは本体も接続ライブラリもGPL、そのせいでパッケージとして売るシステムを作りにくい。
      パッケージとして売るシステムと考えた場合、MySQLのコマーシャルライセンスの価格を上乗せになるから実際にはお財布には優しくない
      クソ仕様ライセンス。
      接続ライブラリがLGPLだったらよかったのにwwww

      親コメント
  • by Anonymous Coward on 2012年09月16日 13時24分 (#2232849)

    私はOracle XEかSQL Server Expressで悩むぐらいだな

  • by Anonymous Coward on 2012年09月16日 16時36分 (#2232901)

    >複数のDBに対応するORマッパーが普及する現在

    ORマッパーを利用して事足りるプロジェクトなら、どれでもよいのでは。

    原付で、エンジン切ってペダルを漕いで進む、みたいな状態で済む距離なら、
    エンジンやサスペンション性能の違いは、大して気にならない。

typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...