MySQL/MariaDBではなくPostgreSQLを選ぶ理由 56
ストーリー by headless
比較 部門より
比較 部門より
本家/.「Why I Choose PostgreSQL Over MySQL/MariaDB」
過去10年、開発者や技術者はMySQLとPostgreSQLを比較し、後者が技術的には優れていると考える人が多かった。PostgreSQLの支持者は、そのANSI標準サポートやACID準拠がMySQLのスピードに勝ると主張する。しかし、すべてのLinux Webホスティングパッケージに含まれることから、非常に多くのWeb開発者がMySQLを使い続けている。Diceの記事では、開発者のDavid Bolton氏がMySQL/MariaDB 5.7.6(2015年3月9日、コミュニティーにリリース)とPostgreSQL 9.4.1を比較し、サブクエリやJSONサポート、ライセンス、データの完全性といった点で現在もPostgreSQLの優位性は変わらないとみる。10年以上にわたって両方のデータベースを使用しているというBolton氏は、MySQLにも改善はみられるものの、PostgreSQLを支持するとの結論に達している。
再帰クエリ使えないし (スコア:5, 参考になる)
MySQLは再帰クエリ使えないから入れ子構造の、例えば製造物-部品管理なんかと相性が悪い。
使うかどうかはケースバイケースだけど、MySQLに決定的アドヴァンテージがない以上、両方を学習するコストをかける意味がない。
Re:再帰クエリ使えないし (スコア:1)
あとオラクルに買収されたってとこ。
MySQLの方が利用者多いのは、XAMPPの影響がやっぱり大きいと思う。
Re:再帰クエリ使えないし (スコア:1)
買収契約の当事者はサン・マイクロシステムズであって、サンはオラクルに後々吸収されたのはご承知の通り。
だからオラクルがMySQLを買収という表現には違和感がある。
長い目で見て結果はおっしゃるとおりなんだろうけど。
Re: (スコア:0)
XAMPPが出る前の安い海外サーバが軒並みMySQLばっかりだったから、そのせいじゃないの
Firebird (スコア:3, 興味深い)
Firebirdは知名度の低さだけを除けば結構扱いやすい良いRDBMSだと思うんだよね。
小難しいコンフィギュレーションいらずだし、Windowsで使いやすいし、基本は1DBが1ファイルで分かりやすいし
アプリ同梱にするための埋め込み版もあるし、PHPのPDOドライバが腐っている以外は各言語用のライブラリも一通りそろってるし
Interbaseから数えれば歴史も実績もそこそこ豊富だし、ライセンスに気を使う必要もないし
何で使われないんだろう?
Re:Firebird (スコア:1)
オープンソース化された時から名称問題の時期くらいまでは、性能・機能的にパッとしなかったからではないですかね。
現在はかなり良くなっていると思います。
Re:Firebird (スコア:1)
DB オープン中に異常終了するとデータファイルに不整合がおきて復旧できなくなる、という体験を何度かしているので
高性能だが使いどころが難しいというイメージ。
Re: (スコア:0)
IB6から数えてFB最新Verまで十ン年間ガシガシ稼働させてるけどそんなこと一度もないなあ…
Re:Firebird (スコア:1)
もしかして Embeded Server で使っていたせいだろうか。
多分Access (スコア:0)
SQL文知らなくてもクエリ作れるデザイナを初期の頃から持ってたところ。
ODBC使えば他DBにたいしても同じように操作できる汎用性。
SQL文全部手打ちはめんどくさいし、一般人に勧められん。。
Re: (スコア:0)
とある商用ソフト買ったら、Firebird必須で驚いた。しかも自分で入れろという…
withが使えないDBでSQLを書きたくはない (スコア:1)
やってられんだろ、そんなの。以上。
Webで使うとなれば (スコア:1)
Webで使うとなれば、そんなに難しいSQLも必要ないし、機能よりも軽くて使い易いもので十分なんだよね。
あとアクセスが多い場合、特に同時アクセスが多い場合は
MySQLのスレッドの方が性能が落ちにくいってのもあったかな。
マスター/スレーブ構成が標準でできてたってのもあるけど、
規模が大きくなるほど、安定性(実績)を重視するようになるので、昔から使われているMySQLを選ぶことが多いかな。
Re: (スコア:0)
>規模が大きくなるほど、安定性(実績)を重視するようになるので、昔から使われているMySQLを選ぶことが多いかな。
それは「タレコミの主張は間違っている。安定性でもMySQLが優れている」という主張ですか?
Re:Webで使うとなれば (スコア:1)
別ACだけど、元記事は読んでないけどタレコミ本文には安定性は書いて無くね?
それにDBが1台だけならともかく、複数台でレプリケーションするとなると安定性…実績はMySQLの方が全然上でしょ。
だって、PostgreSQLにその機能入ったの2010年 [atmarkit.co.jp]だよ。ネット上見る限り、MySQLは遅くとも2004年 [nikkeibp.co.jp]には実装済みなのに。
Re: (スコア:0)
使用者が非常に多いと言っているのだから、安定性(実績)で優れているのはタレこみ主も認めるところでは?
Re: (スコア:0)
>すべてのLinux Webホスティングパッケージに含まれることから、非常に多くのWeb開発者がMySQLを使い続けている。
例えば、昔から惰性でWindowsは使われているが、それは安定しているからなの?
ACID準拠
データの完全性
こいつらは安定の指標だと思ったんだか、どうやらいつの間にかシェアが安定をあらわす指標になったんだね。
寄らば大樹の陰。確かに親方安定してるわ。
値段だろ、普通 (スコア:1)
MySQLとpostgresqlなら無料で商用利用できるpostgresql一択
ってか、MySQLの勉強会でライセンス管理どうしてるんですか?って聞いてろくな回答返ってきたことないんだが・・・・
Re: (スコア:0)
別に使えるんやないの?
http://anond.hatelabo.jp/20140722001658 [hatelabo.jp]
顧客、従業員と個別に契約がある状態で、現実的にライセンスが障害になる状況ってありえるのでしょうか?
ライセンスは契約を上書きできる概念ではないです。
Re: (スコア:0)
自社プロダクトをとして販売する場合GPLでは困ります
GPLで問題無い場合もあるでしょうが、問題なるケースもあるわけです
そんなんでMariaDBがO社からforkしてくれて良かった
O社で飼い殺されて消えていくにはあまりに惜しい
Re: (スコア:0)
mariadb 使えばいいよ。 LGPL 時代のライブラリを元に最新のmysql プロトコルに対応してる。
Re: (スコア:0)
MySQLへの操作はport経由、MySQL自体のライセンスは、ネットワーク上のサーバーのライセンスと同じ扱いじゃ。
Re: (スコア:0)
今のライセンスだとクライアントライブラリのlibmysqlがGPLかコマーシャルライセンスかオープンソース例外の三択。
プロプライエタリの製品に組み込むなら商用ライセンスを買うか、プロトコルから独自ライブラリを作る必要がある。
でも、一時はプロトコルもGPLだから独自実装のライブラリを使っていても金よこせと言ってた。
法的には無効そうでもおかしな言いがかりをつけてくる可能性があった時代は避けといた方が無難だった
Re: (スコア:0)
法的には無効そうでもおかしな言いがかりをつけてくる可能性が前提であるなら
GPL以外でも危険性は同じですよね
バキュームの悪夢 (スコア:0)
昔のPostgreSQLは定期的なバキューム作業が必要だったので、今でも印象が悪いかも。
#どうでもいいかも知れないけど、タレコミ文にPostgre's'SQLが混在していて気持ち悪い
Re:バキュームの悪夢 (スコア:1)
今のPostgreSQLは基本的には不要ですしね
私はISO標準のSQLを覚えてたのでそのあたり忠実なPostgreSQLのほうが好きです
Re: (スコア:0)
sqlite3とかもvacuum必要なんだけど、iosの裏にこいつがいる
自前でFMDB使うとvacuumしたくてたまらんのだが、ios上でvacuumすると三〇分くらい帰ってこない。(core dataでもsqlite3使ってるけどそこは隠蔽されてる)
この手のライブラリの裏にひそんでディスク(携帯デバイスは余裕が無い)食う物ってどうすりゃいいんだろ?
vacuum必須でもPostgresqlは好きだったりする。(mysqlはISAMの頃の悪夢があるのよー)
postgresqlの方が好き (スコア:0)
mysqlって、何も考えずに使ってると大文字小文字区別しないんよね。
照合順とかの概念知ってたはずなのに油断しちゃって、微妙なバグ作り込んじゃったわ。
postglesqlならデフォで区別するモードだし、いつも使ってるってのもあって
もうこの手に馴染んでるし、好き。
Re:postgresqlの方が好き (スコア:2)
そういえば、最近Ruby on Railsではあれこれ区別しない照合順序utf8_unicode_ciがデフォルトにされててさあ大変なんて話がありました: utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる [kamipo.net]。もちろん、問題なのはこんなのを持っているMySQLではなく、デフォルトにしようとしているRailsのほうですが。
#でも仕事でも趣味でもMySQL使っています。PostgreSQL使ったことありません。ごめんなさい。
Re:postgresqlの方が好き (スコア:2)
仕事で、MySQL、PostgreSQL、Oracle を扱ってますが、基本的にはお好みでって感じですね。
「○○を使え」と言われればそれを使いますが、普段はできるだけDBMSに依存しないコードを書くよう努力しています。
強いて言えば「※個人の感想です」と断った上で、
PostgreSQLは、まず機能の安定性が優先で、性能向上などは二の次
MySQLは、まず性能向上とか野心的な取り組みに熱心で、機能の安定性が二の次
といった印象があります。
#つい最近AUTO_IS_NOT_NULL [livedoor.jp]の罠にはまったので、若干MySQLに恨み節があるかも…
Re: (スコア:0)
OracleユーザーはPL/SQLを結構ヘビーに使ってるとこが多いから、他のDBに移行しにくいんだよね。
Re: (スコア:0)
自分もpostglesqlのが好き。仕事で両方触ったことあるけど、mysqlはなんか癖がすごい強いように感じる。独自構文とか型とかトランザクションとか。postglesqlの方が、標準に近いイメージ。
(仕事で最初に触ったのがOracleだからそう感じるだけかもしれんけど。)
ただ、mysqlの方が参照用DB追加したりとか、大規模な(かつOracleを使うほど金かけられない用途に)強いイメージはある。
最近はpostglesqlもこなれてきたのかもしれんけど。
だからWebアプリとかでアクセス数増えそうならmysqlかな?って思っちゃう。
Re: (スコア:0)
俺も大体そのイメージだな。
ただ、それって10年位前のイメージで、今はどちらも肥大化しててどっちもどっちって感はある。
システム屋として見るといろいろ悩むんだけど、
Web屋としては、MySQLにしとけばレンタルサーバー選びで悩まなくて済むってのが今となっては一番大きい。
Re: (スコア:0)
識別子のうちテーブル名だけはケース・センシティブで、
その理由がファイルと 1:1 だからってのが('A`)って感じ。
初期は仕方ないにしてもまだそこ抽象化されてないの? って。
でも実績で大差なもんだから余程自身が無いと PostgreSQL 選ぶのは難しい。
Re: (スコア:0)
それの弊害って、OS依存するんだよね。
MySQLの方がWindowsに正式対応したのもずっと早かったのに、今も引きずってる。
半角カナ (スコア:0)
初期のMySQLって半角カナ使えなかったんだよね。
使えるようにするパッチは有ったけど、うかつにアップデート出来なくなるんで使えなかった
で、一旦慣れちゃうと容易に他に変えられなくなる
そんな訳でずっとpsqlです
Re: (スコア:0)
psqlって見るとPSQL(Pervasive SQL、Btrieve)にしか見えない
あれと同じだ (スコア:0)
いまだにPHPを使う理由ってやつ
ヌルいユーザなので (スコア:0)
大抵のウェブアプリではそんなに高度な問い合わせ自体をしないのでどちらでも支障はない。
が、CUIのmysqlクライアントがctrl+cで落ちるのが許せないので選べる時はpostgresを選択してる。
今北産業すると (スコア:1)
過去10年、開発者や技術者はPostgreSQLを技術的には優れていると考える人が多かった(と思う)。
しかし、すべてのLinux Webホスティングパッケージに含まれることから、非常に多くのWeb開発者がMySQLを使い続けている。
Bolton氏は、MySQLにも改善はみられるものの、PostgreSQLを支持するとの結論に達している。
結論出てるしなw
Re: (スコア:0)
MySQLは商用で使用するにはライセンス的にグレーなんだけど
予め入ってるから使っちゃってる所が多いと思う
MyとかMariaとか先行き怪しくなっちゃってるから避けるのが吉
Re: (スコア:0)
> MySQLは商用で使用するにはライセンス的にグレー
さらっと嘘を書かないように。
Re: (スコア:0)
Web で使うなら問題ないけど、パッケージ製品の DB として使う場合は GPL 版はグレーって事じゃないか?
FSF 的には、それがないと動作に支障を来すような物は「リンク」されているという立場らしいから、
MySQL 以外で動かない製品は MySQL にリンクされている、つまり GPL で配布するか、商用ライセンスを
買わないといけない事になる。
Re:今北産業すると (スコア:1)
GPLで配布すれば問題ないのに、どこがライセンス的にグレーなのか。
Re: (スコア:0)
そのGPL配布がちゃんとできてるか、第三者が確認しようがないからグレー何でしょうに。
確認できてたら白or黒しかないでしょ?
Re: (スコア:0)
> そのGPL配布がちゃんとできてるか、第三者が確認しようがない
またさらっと嘘を書く。
Re: (スコア:0)
配布してる本人は確認できるし真っ白だろ。
Re: (スコア:0)
グレーと書いた#2782681ですが
言いたいことは#2782792のような事で、
ソース公開なんてする気もなく商用利用しているシステムを
いくつか見てきましたので。
ODBC、JDBCドライバも別形態だし。
つまり企業側がグレー利用しているよという話
Re: (スコア:0)
それ、グレーじゃなくて真っ黒じゃねえか。
Re: (スコア:0)
ストーリーもコメントも主観的な印象で語ってるのばかりだからな。
でも強烈な信者もいないから、印象だけで語ってもemacs/vi, linux/freebsd, firefox/chrome, gnome/kdeみたいな討論にはならんよね。