X



トップページDB@2ch掲示板
1002コメント288KB
MySQL vs PostgreSQL Part2
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2005/08/03(水) 04:43:20ID:j7oDtJr2
同じオープンソースRDBMSとしてのMySQLとPostgreSQLを語ろう。

どちらが良い・悪いの宗教論争ではなく、漏れたちユーザにとってのそれぞれの使い所を見出そう。

前スレ

MySQL vs PostgreSQL
http://pc8.2ch.net/test/read.cgi/db/1056943680/l50
0076NAME IS NULL
垢版 |
2006/01/14(土) 22:09:30ID:???
まぁ小規模なPGでDB周りをちゃんと作ってれば
DBMSが変わってもさほど直さなくて済むよというか
そうで有ればいいなぁ。。。


0077NAME IS NULL
垢版 |
2006/01/14(土) 22:29:49ID:???
DBアクセス部分を抽象化ってのはむずかしいからね
大概ロジックと乱れ飛ぶから

とりあえず標準SQLを出来るだけ使うようにするというのは大事

>>75
開発環境がWindowsならPostgresが今はオススメかな

インストーラでらくらくセットアップ、pgadminやJDBC等ドライバも
標準でインストールされて、pgadminの日本語ドキュメントもすぐひける

mysqlはWEBで使うという書籍が多いけど、postgresはoracleの代替として
現実的なDBという書籍が多いと思う

最終的にはBSDライセンスが楽ということもあってpostgresでいいと思うけど
0078NAME IS NULL
垢版 |
2006/01/15(日) 13:43:35ID:???
いままでFreeBSD4.11でMysql5.0をつかってきたが
5.0.16からPortsでインストールできなくなったので
PostgreSQLに移行しようと思っている
もともとLINUX_THREADを使わないと壊れるなど
FreeBSDとの相性が悪いようなので

PHPのソースはPEARをつかってるので書き換えは不要だが
mysqldumpの出力内容をいじらないといけないようで
int(11) → int
auto_increment → serial
でインサートできているようだ

他にMySQLからPostgreSQLへ移行する上で
とくに注意する点はないだろうか?
0079NAME IS NULL
垢版 |
2006/01/15(日) 13:45:49ID:???
MySQLはそのままでOSをLinuxにすれば簡単なのに馬鹿だな
0080NAME IS NULL
垢版 |
2006/01/15(日) 13:54:08ID:???
mysqlではこういう書き方でOKだったが
select * from tablename where hoge = "mage";

PostgreSQLでは
where hoge = 'mage' とシングルクォーテションじゃないとダメ
0081NAME IS NULL
垢版 |
2006/01/15(日) 13:55:07ID:???
>>79
そういう前提でいいのか?
OSそのままでOracle使えば楽なのにとかそういうことは俺はいえん
0082NAME IS NULL
垢版 |
2006/01/15(日) 13:55:46ID:???
文字列はシングルクォーテーションだな
ダブルクォーテーションは用途が違う
0083NAME IS NULL
垢版 |
2006/01/15(日) 14:08:50ID:???
MySQLをANSI準拠モードで使うとこれが悲しいってのはあるかな?
0084NAME IS NULL
垢版 |
2006/01/15(日) 14:12:44ID:???
Linuxでいいや
そんなふうに考えていた時期がオレにもありました
0085NAME IS NULL
垢版 |
2006/01/15(日) 14:14:42ID:???
Linuxじゃ駄目だと考えるようになったのはニートと呼ばれ始めた頃からだろうか?
0088NAME IS NULL
垢版 |
2006/02/09(木) 19:16:27ID:???
だから頻繁にはてなおちるのか
0089NAME IS NULL
垢版 |
2006/02/09(木) 20:41:21ID:???
じゃあソース見せてもらえるのか
0090NAME IS NULL
垢版 |
2006/02/09(木) 20:46:54ID:???
さすがにコマーシャルライセンスかってるだろ
0091NAME IS NULL
垢版 |
2006/02/09(木) 21:21:50ID:???
だから時々CMが入るのか。
0092NAME IS NULL
垢版 |
2006/02/09(木) 22:19:29ID:???
はてなのシステムは外販もしてるの?
0093NAME IS NULL
垢版 |
2006/02/09(木) 22:46:03ID:???
社内で閉じたシステムじゃないからな
コマーシャルライセンスが必要
0094NAME IS NULL
垢版 |
2006/02/09(木) 23:57:17ID:???
んでも、「GPLで配布されているMySQL」を入手してGPLの枠内で商用利用する分には
問題ないよな。MySQLを組み込んだ製品を売るんでもなれりゃコマーシャルライセンス
なんていらないんじゃないの?
0095NAME IS NULL
垢版 |
2006/02/10(金) 00:04:39ID:???
はてなで質問してこいw
0096NAME IS NULL
垢版 |
2006/02/10(金) 13:27:53ID:???
>>94
それで誰もかね払わないからDB部分もGPLになるといってる
3.23だっけ?あのあたりからどらいばがGPLになった

ユーザーがDBのクライアントだから>WEBアプリ
0097NAME IS NULL
垢版 |
2006/02/11(土) 08:16:11ID:???
文章の意味がつかめんが、WebアプリならDB本体もドライバも
配布するわけじゃないからGPLでも構わんよね
0098NAME IS NULL
垢版 |
2006/02/11(土) 10:24:25ID:???
データも公開しないといけないの?
ママ大変!お客様のパスワードが丸見えだわ!
0099NAME IS NULL
垢版 |
2006/02/11(土) 10:43:17ID:???
当然だよ。
嫌ならPG使え。
0100NAME IS NULL
垢版 |
2006/02/11(土) 10:58:19ID:???
ドライバを自作してGPLを回避している強者はいないのか?
0101NAME IS NULL
垢版 |
2006/02/11(土) 11:02:26ID:???
これだから魔威SQLと言われている
0102NAME IS NULL
垢版 |
2006/02/11(土) 12:23:05ID:???
>>97
普通はDBってユーザーとDBクライアントの間にプロキシみたいなのをかましても
直でつないだのとまったく同じという扱いだよな
0103NAME IS NULL
垢版 |
2006/02/11(土) 12:48:33ID:???
MySQL が GPL で云々言うなら PostgreSQL を使えばいいのに -- マリー・アントワネット
0104NAME IS NULL
垢版 |
2006/02/11(土) 15:08:12ID:???
>>102
オマエ>>96
やっぱり何を言いたいのか意味不明なんだが。
「つなぐ」ことってのはGPLが依拠する著作権的には何の意味もないし。
0106NAME IS NULL
垢版 |
2006/02/11(土) 15:42:43ID:???
だれか解説ヨロ
はてなに対して「コマーシャルライセンス買え」か「コード公開しろ」とかで
祭りでもなってるのか?
0107NAME IS NULL
垢版 |
2006/02/11(土) 16:15:02ID:???
いいえ。馬鹿ですか?
0109NAME IS NULL
垢版 |
2006/02/11(土) 17:00:44ID:???
>>106
んにゃ。GPLが理解できない香具師がからかわれてるだけ。

0110NAME IS NULL
垢版 |
2006/02/11(土) 18:18:20ID:???
>>96で答えが出てる。

WEBアプリはソース公開するか、ライセンス購入
0111NAME IS NULL
垢版 |
2006/02/11(土) 18:29:48ID:???
>>110みたいに必死に嘘を書いてる奴は通報するぞ
0112NAME IS NULL
垢版 |
2006/02/11(土) 18:36:58ID:???
じゃあ詳しく教えてください
0113NAME IS NULL
垢版 |
2006/02/11(土) 18:39:11ID:???
こんな糞スレで教えてもらおうとするな馬鹿。
0114NAME IS NULL
垢版 |
2006/02/11(土) 19:19:34ID:???
ライセンス違反者が多そうだな。
技術者として恥ずかしいことだぞ。
0115NAME IS NULL
垢版 |
2006/02/11(土) 19:38:07ID:???
社員乙

「前世の障りが…」とかいってビビらせて役に立たないもの売りつける
霊感商法とかわらんな
0116NAME IS NULL
垢版 |
2006/02/11(土) 20:49:46ID:???
MySQLは通信プロトコルもGPL
0117NAME IS NULL
垢版 |
2006/02/13(月) 10:15:48ID:???
データもGP・・・いやなんでもない
0118NAME IS NULL
垢版 |
2006/02/13(月) 11:06:45ID:???
俺の彼女もGP・・・いや彼女なんていない
0120NAME IS NULL
垢版 |
2006/02/13(月) 23:21:42ID:???
マジか。

とはいえ、特許ならともかく、プロトコルに著作権なんか発生しないのは
USも日本も同じだし(Swedenは知らんけど)。
「MySQL ABがそう言っているだけですね(ホジホジ」としか言えんな。
0121NAME IS NULL
垢版 |
2006/02/14(火) 01:19:01ID:???
そういうライセンスなんだから承諾しなきゃ使えないだけ
いやならPostgresにしろ

まぁこの1年でPostgreSQLの開発者回り見た感じ倍増してるが
MySQL4.1のやっちまった件&PostgresのWindows対応が大きかった希ガス
0122NAME IS NULL
垢版 |
2006/02/14(火) 07:22:31ID:???
そういうライセンスっつーか、GPLでしょ。
いろんな意味で間違ってるよ。
0123DB
垢版 |
2006/02/14(火) 14:16:12ID:???
MyPostgreSQL
0124NAME IS NULL
垢版 |
2006/02/14(火) 17:25:33ID:???
>>121
そして8.1での速度向上もでかいね。
0125NAME IS NULL
垢版 |
2006/02/14(火) 18:52:38ID:???
さすがに俺の周りでは8.1はまだ実務運用はされてないな
8.0で動いてるところはいくつか見たし、俺もかかえてる

8.1でSQL(というかJDBC)が厳密になってるっぽいから
単純に移行できるかどうか地震がないっす
自分が書いたコードだけなら対応は余裕なんだけどね
0126NAME IS NULL
垢版 |
2006/02/14(火) 19:05:34ID:???
8.1やっと本番環境で動きましたよ〜
SQL変更は何箇所かあった。
0127NAME IS NULL
垢版 |
2006/02/15(水) 01:17:23ID:???
うちも年末に8.1に移行した。
全体的に早くなったような気がするけど、相変わらずバージョンが変わるごとに
プランナの挙動が変わってしまうのは困るね。
0128NAME IS NULL
垢版 |
2006/02/15(水) 02:36:13ID:???
うちは未だ7.3だ。

7.3もメンテ続いているから積極的に乗り換える理由が無いんだよなぁ…
0129NAME IS NULL
垢版 |
2006/02/15(水) 09:38:19ID:???
メンテが多少楽になるってのは、理由にならんかなぁ
0130NAME IS NULL
垢版 |
2006/02/15(水) 12:40:23ID:???
8.0からまともになったSQLってのもあるしね

Winで開発しないのならいいかもしれんが、
新規案件に7.xはさすがにありえんね

Linuxでも8.1以前に8.0になっただけでもめちゃくちゃ速度かわってるし
0131NAME IS NULL
垢版 |
2006/02/15(水) 14:16:26ID:???
しかし、変更は7.4->8.0より8.0->8.1のが大きい気がする
0132NAME IS NULL
垢版 |
2006/02/15(水) 20:29:52ID:???
8.1での変更点なんて8.0での変更点に比べたら正直カス

とはいえないけどやっぱり8.0ではクリティカルなところが改善されてるから
8.1はやはりメジャーバージョンがあがってない理由にはなるな
0133NAME IS NULL
垢版 |
2006/02/15(水) 20:37:47ID:???
内部は知らんが
使えないsqlがでた
以前のpsqlやpg_dump等が実質使えない

などがあったからなあ
7から8は何もしなくてすんだが
8.0から8.1はあちこち変えなくてはならなかった
0134NAME IS NULL
垢版 |
2006/02/15(水) 21:14:53ID:???
実務ではどっちが使われているの?
0136116
垢版 |
2006/02/18(土) 08:09:53ID:???
>>131
MySQLで、3.23→4.0より4.0→4.1のが変更が大きいのと同じようなもん?
0137NAME IS NULL
垢版 |
2006/02/18(土) 12:35:07ID:???
正直MySQLの4.1以上へのアップグレードにくらべれば7.4から8.1も楽勝
0138NAME IS NULL
垢版 |
2006/02/23(木) 11:52:21ID:???
SlonyIでレプリケーションする場合
テーブル名もすべて指定しないとダメなんだよね?
その場合、テーブル作る場合、サービス止めて
テーブル指定するって感じなのかな

MySQLからの移行を考えてるんだが
レプリケーションだけがどうもひっかかる
0139NAME IS NULL
垢版 |
2006/02/23(木) 11:55:30ID:???
Slony-Iの操作はpgAdminIIIからやるのが楽でいい
0140139
垢版 |
2006/02/23(木) 11:56:59ID:???
>>138
サービスとめる必要は無いよ
テーブルは普通に作って、レプリケーション側もガワだけ作って
同期はコマンド送るだけ。内容はそのときにコピーされるし。
0141NAME IS NULL
垢版 |
2006/02/24(金) 19:18:30ID:KaTZynr5
MySQLが4.1からおかしくなったから
Postgresに乗換えようかと迷い中。
乗換えた人がいたら、どんな感じか教えてください。
0142NAME IS NULL
垢版 |
2006/02/24(金) 23:03:15ID:???
とりあえずMySQLは3.23だったかから4.1まで使ってたけど
Postgres、速度的機能的に満足
速度はmysqlとかわらんね
業務系だからmysqlはInnoDBしかつかわんけど

とはいえ業務系ではさすがに出たばかりの8.1ではなく8.0にしてる
7.4系は眼中になし

8.0からWindowsでも動くようになったので開発がマシン1台で完結して楽チン
postgresだけのためにLinux用意してたところも多いからね

postgres8.0もJDBCドライバ回りが最初不安定だったけど、去年の5月だったか
あのあたりで不具合が解決されて安定してると思う

ひそかにpostgresのほうがmysqlよりすでに小さくなってる

mysqlはデータ自体の文字の問題は今では解決したようだけれども、
オブジェクト名がUTF8固定で気持ち悪いのとか残ってるのでしばらく様子見

何より日本語対応1年くらい放置してた時点で今後も心配
0143NAME IS NULL
垢版 |
2006/02/28(火) 08:34:27ID:???
>>142
メジャーバージョンアップ直後のの8.0の方がバグ多し、な希ガス。
8.1もマイナーバージョンあがってるから、そっちの方がよくね?
0144NAME IS NULL
垢版 |
2006/02/28(火) 16:21:23ID:???
セキュリティ問題とpgpool Global Developement Group発足
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060215/229362/
を読む限り 8.x を仕事で使うのは少し怖い。
ただ PostgreSQL チームのクオリティは高いから
あと半年くらい寝かせれば大丈夫だと思うけど。
0145NAME IS NULL
垢版 |
2006/02/28(火) 17:57:11ID:???
そうか、ちょっと寝かすか
   ∧_∧
   ( ・∀・)       ))
   /つ( ̄`ヽO_ノ⌒ヽ
  ノ   )        \ ))
 (__丿\ヽ ::    ノ:::: )
     丿        ,:'  ))
   (( (___,,.;:-−''"´``'‐'

 半年後にまた会おうね☆
     ∧_∧
     ( ・∀・ )
    /  _ノ⌒⌒⌒`〜、_
 ( ̄⊂人 //⌒   ノ  ヽ)
⊂ニニニニニニニニニニニニニニ⊃
0146NAME IS NULL
垢版 |
2006/02/28(火) 19:34:47ID:U459FQMy
だから、どっちが多く使われてるの?
0147NAME IS NULL
垢版 |
2006/02/28(火) 21:10:59ID:???
国内では PostgreSQL、
国外では MySQL
0148t_tama
垢版 |
2006/02/28(火) 22:11:52ID:NtqGSwPN
MySQLでは、シーケンス、ビュー、ストアドプロシージャ、外部結合
が無いってのが弱点かも。その分、スピードに力を入れてるってこと
だけど。

業務系ならPostgreSQL、WEB系ならMySQLだな
0149NAME IS NULL
垢版 |
2006/02/28(火) 22:27:21ID:???
>>148
>MySQLでは、シーケンス、ビュー、ストアドプロシージャ、外部結合が無い
「PostgreSQLはWindowsではまともに使えない」ぐらい古い認識かと。
まあ移行が進まないのはどっちも同じだけどね。
0150NAME IS NULL
垢版 |
2006/02/28(火) 23:56:21ID:U459FQMy
IDがMy 

MySQLの勝ち
0152NAME IS NULL
垢版 |
2006/03/01(水) 01:39:33ID:???
>>143
MySQLなめすぎ
あれにくらべたらPostgresのバグはかわいいよ
0153NAME IS NULL
垢版 |
2006/03/01(水) 01:51:18ID:???
まあMySQLも5.0.18が出ているわけで、SQL1999系機能も日本語再対応も一通り終わっているわけで、
どっちも過去の特定のバージョンの話ではなくて、現状ベースで話しましょうよ。
0154NAME IS NULL
垢版 |
2006/03/01(水) 16:04:00ID:???
ビューやトランザクションを使うプログラムでは手元では
速度は PostgreSQL8 > MySQL5 だけど。
# トランザクションが MySQL は遅い?
0156NAME IS NULL
垢版 |
2006/03/01(水) 20:48:26ID:???
そろそろMySQLとPostgreSQLのメリット、デメリットをまとめようぜ。
0157NAME IS NULL
垢版 |
2006/03/03(金) 01:02:16ID:???
MySQL4.0以前:保守のため使う必要あり。新規なら他を使うべし
MySQL4.1以後:積極的に使う必要なし
MySQL5.0以後:話にならない。おもちゃ以下

PostgreSQL8.0以前:できるなら8.0以上に上げる
PostgreSQL8.0以後:8.1が望ましい。業務にも使用可能

番外
Oracle:業務ならこれしか選択肢なし。今のとこ英語だが10.2gのフリー版もある
sqlite:小規模ならこれでOK。ただし2系、3系、3.3系とわけわかめ
BerkeleyDB:さらに小規模用。CSVファイルの代わりに使うくらい



俺の認識じゃぁこんなかんじ。うそも混じってるので注意
0158NAME IS NULL
垢版 |
2006/03/03(金) 01:29:34ID:???
>>157
どれが嘘なのか書いてくれるとありがたい。嘘交じりの情報なんてイラネ。
0159NAME IS NULL
垢版 |
2006/03/03(金) 01:42:06ID:???
ずっとMySQLのみでWEBアプリを作って来て、特に不満もないので
そのまま4.1に移行して使ってるんだけど
PostgreSQLやOracleに移行したらもっと幸せになれるんだろか。
諸々の機能のためにテーブルのバリエーションや
その相関関係がかなり複雑になっていて
巷でよく聞くWEB系向け(=シンプル構造?)というMySQLのメリットは
あまり享受出来ていないような気はしています。
0160NAME IS NULL
垢版 |
2006/03/03(金) 01:51:44ID:???
>>158
どれが嘘かは、俺にもわからんのだ。
覚えてるのを書いただけなので、間違ってる可能性大。
自分の記憶はあんまり信用できない。
0163NAME IS NULL
垢版 |
2006/03/05(日) 13:08:06ID:???
>>159
とりあえずテスト機にPostgreSQLにportした環境作って評価してみては?
以降が簡単に済みそうならOracleの評価版でもいいけど。
0164NAME IS NULL
垢版 |
2006/03/05(日) 21:08:45ID:???
そうそう、やってみればわかるよ。
0165NAME IS NULL
垢版 |
2006/03/05(日) 23:29:12ID:???
移行を考えるとDBはシンプルが一番だよな。

そのDB(以降のバージョン)と心中するつもりなら
いいんだろうけど。

相関関係なんて濁していってるけど、設計がへぼ
かったとかじゃなくてって気もするんだが。
0166NAME IS NULL
垢版 |
2006/03/06(月) 09:18:02ID:???
移行が難しい=現在の設計が理解できていない
0167NAME IS NULL
垢版 |
2006/03/06(月) 10:16:58ID:???
そっくりそのまま持っていって、SQLが変更無しで使えればそれにこしたこたないが
それだけじゃ、移行の理由そのものが薄そうだしな
0168NAME IS NULL
垢版 |
2006/03/06(月) 11:57:39ID:???
一応、SQL92に準拠するように書いておく。
それで移行した際にエラーがでたなら、
ボケアホカスシネMySQLお前はSQL Serverにすら劣るんだよ!!
となじる。

これが正しいDBの移行方法。
0169NAME IS NULL
垢版 |
2006/03/06(月) 12:02:27ID:???
SQL Serverって結構優秀だけどな。
0170NAME IS NULL
垢版 |
2006/03/06(月) 19:40:33ID:???
ふーーーーーーーーーーーーーーーーーーーーーーーん。
0171NAME IS NULL
垢版 |
2006/03/07(火) 15:22:06ID:???
SQLServerが優秀ではなくてSybaseは優秀が正しい
0172NAME IS NULL
垢版 |
2006/03/08(水) 19:29:52ID:???
へぇーーーーーーーーーーーーーーーーーーーーーーーーーーーー。
0173NAME IS NULL
垢版 |
2006/03/14(火) 20:52:07ID:???
>>171
Oracleより小回り利いてて好きだったな
MSと離れたせいでlinuxベースでOracle1択になっちゃったのは
悲しかったよ。今はPostgreSQLあるからいいけど
ASEが米国発売当事にアップグレード掛けたらbcdumpの
インポートにバグがあってnullカラム抜けが発生してて
えらい目にあったのはいい記憶だ
0174NAME IS NULL
垢版 |
2006/03/15(水) 01:17:55ID:???
2chのスレなんて当てにならんかもしれんけど、
MySQLのスレはPart7、PostgreSQLはまだPart2。
んー。MySQL使ってる人の方が多いのかな?
0175NAME IS NULL
垢版 |
2006/03/15(水) 03:11:39ID:???
>>174
どうなんかね。自分は両方使ってるけど、postgresqlはスレにも
日本のMLにも出入りしてない。そんなケースもあるので。

ただMySQLの場合はDBMSを使う選択肢として選んだユーザだけじゃなくて
MySQLを利用するアプリを使いたくて結果的にMySQLを使うユーザがかなり居るので
質問も多くなる傾向がある。ライトなユーザの比率が多いことは確か。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況