1read 100read
2011年12月2期データベース3: MySQL vs PostgreSQL Part2 (645)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
・ 次のスレ
4: MySQL 総合 Part21 (937)
5: SQL質疑応答スレ 12問目 (360)
6: ト リ ッ プ テ ス ト (949)
7: Microsoft SQL Server 総合スレ 9 (232)
MySQL vs PostgreSQL Part2
- 1 :05/08/03 〜 最終レス :11/12/23
- 同じオープンソースRDBMSとしてのMySQLとPostgreSQLを語ろう。
どちらが良い・悪いの宗教論争ではなく、漏れたちユーザにとってのそれぞれの使い所を見出そう。
前スレ
MySQL vs PostgreSQL
http://pc8.2ch.net/test/read.cgi/db/1056943680/l50
- 2 :
- age
- 3 :
- ほっほっほ
- 4 :
- ポスグレのほうが地域ユーザー会が活発そう
- 5 :
- 2chだと過去2週間の書き込み数で比べると「MySQL総合 Part5」が93、
「PostgreSQLについて語ろう」が56でMySQLの方が活発。
国内ユーザメーリングリストだと正確には把握していないけれども、両方購読している
感覚から言うとPostgreSQLのほうが少しトラフィックが大きい、という感じ?
- 6 :
- >>5
MySQLの国内MLは意外と流量が少ないよね。
- 7 :
- 漏れも両方のMLを購読してるけど、厨な投稿はMySQLの方が圧倒的に多い。
PHP+MySQLの影響だろうか。
- 8 :
- MySQLはDLしたそのままで、社内でCGI-Perlを使って接続して利用している場合は無償で利用できる
で合ってる?
MySQLはユーザにインストールしてもらって、そのPerlスクリプトだけを販売できる?
GPLになるから手数料くらいしかもらえないのかな
- 9 :
- >>8
専用スレ向きだと思うが...
そういう使い方をする場合PerlはArtisticライセンスを選択していると思うが
これはMySQLのFOSS例外条項の合致(Artistic license From Perl 5.8.0)し、
接続モジュール(PerlのDBDとかのね)に関しても同質のライセンスのものであれば
GPL版MySQLを利用していても、それらのライセンスとの組み合わせが許される。
(そういう点でMySQLのGPLって意図的な抜けが作ってある)
CGIスクリプトに関しては、Perlのライセンスが許す範囲で
元々自由にライセンスが設定できるんじゃないの?
よって「無償で利用できる?」はGPL版が利用できるのでYes.
「そのPerlスクリプトだけを販売できる?」もYes.
また「GPLになるから」はNo.(多分。Perlは良く知らないけど)
- 10 :
- >>9
ありがとん
あまりライセンスは気にしないで使ってるからな〜
今後はちょっと気にしてみる
- 11 :
- PostgreSQLとMySQLが急接近しているらしい
ttp://www.atmarkit.co.jp/fdb/rensai/dbwatch2005/dbwatch200508_2.html
7月29日に日本PostgreSQLユーザ会(JPUG)でPostgreSQLのしくみ分科会の
勉強会がありました。2部構成となっており、前半が「PostgreSQLチューニング実習」、
後半が「MySQLセミナー」でした。
- 12 :
- >>11
記事読んだけど、これで急接近かと思ってしまったYO。。。
- 13 :
- >>11>>12
たしかにこういった交流みたいのは今に始まったことじゃないよな。
- 14 :
- PostgreSQLとMySQLの導入事例ってどこかに無いでしょうか?
導入したシステムの規模や構成など細かに書かれてるものが良いです。
というのは、うちの会社だと、自分の社内で使うようなシステムでも
Oracleとか使って、もの凄い金額のライセンス料を払ってます。
Oracleまで使って何やってるかといえば、
会社の経費で買った技術書籍の一覧のDBです。
Webで検索用のテキストボックスと実行用のボタン、そして表示用のグリッド。
そして、アクセス件数は月に5回程度と殆ど使われてない。
ユーザが使ってないどころか、新しい書籍が追加されても管理者はメンテナンスもしない。
これをどうにかしたいんだけど、大規模なシステムでそれなりの実績が無いと駄目だという。
色々と文句は言いたいが、相手を納得させちゃえばいいだけなので、
そういった導入事例があればと思っています。
- 15 :
- >>14
MySQLとかPostgreSQLの本に導入事例がかいてあったような気がする
立ち読みでちょっと見た程度で、詳しくは覚えていない
- 16 :
- >>14
会社がつぶれる前に転職すれば解決するのでは?
- 17 :
- 某携帯キャリアのプロビジョニングシステムは MySQL だよ。
詳しくは言えないけど。
- 18 :
- ???
- 19 :
- システム規模や構成を事細かに説明してくれた導入事例ってのを
希望する人は多いが、いまだかつてそういうのを見たことは無い。
導入事例紹介自体はいっぱいあるんだけどさ。
http://www.mysql.com/why-mysql/case-studies/
- 20 :
- Googleが使ってなかったっけ?
- 21 :
- GoogleもYahooもばりばり使ってるよ。米国のだけどな。有名な話だよ。
オープンソースであることをいいことに、ストレージエンジンに手を加えて
独自のログを出力させるような機能を追加したりして使ってる。
- 22 :
- 21の続き
ただどちらかというと彼らはMySQL案件のシステム導入事例という
日本のSIerが欲しがるようなケーススタディとはちょっと違う感じだとおもう。
自社用サービスで使うために社内SIチームがソースコード改変、だからね。
- 23 :
- なるほど
- 24 :
- usogres とかどうなった?
- 25 :
- MySQL
MySQL
MySQL
- 26 :
- PostgreSQLは追記型なので、バキュームしないとDB増えまくりなんだな。
200MBくらいのレンタルサーバだと、書き込みが増えたりしたらヤバい?
- 27 :
- MySQLage
- 28 :
- MySQLは呼び方がすぐ分かる。
PostgreSQLは「ポストグレSQL」なのか「ポステージャーSQL」なのか未だに分からない。
よってMySQLの勝ち
- 29 :
- SQLを「えすきゅーえる」と呼ぶべきか「しーくぇる」と呼ぶべきか迷うじゃないか
- 30 :
- SQLを「しーくぇる」などと呼ぶのは古い世代が多いみたいね。
ぐぐれば分かると分かっていたが、敢えてぐぐらず書いてみた。
しかしぐぐってみたらその妙な呼び方にますますMySQLの勝ちだと思うようになりますた
- 31 :
- しかしmysqlってつくづくタイプし辛いスペルだな・・
- 32 :
- 誰かpostgreSQLとprogreSQLの違いを教えてくれ。
スレ違いかもしれんが頼む。
- 33 :
- >>32
タイプミスかそうでないかのちがいじゃないの?
- 34 :
- >>33
コラコラ
- 35 :
- アイコラと流出写真の違い?
- 36 :
- このレスを見たら
7日後以内に死にます
無残な姿で死にます
回避する方法は1つ
このレスをほかのスレに7つ貼る事です
- 37 :
- 客先で運用するシステムをMySQLで構築して使っているわけだが
何ライセンスが必要か教えてくれあらしる。
- 38 :
- >>37
GPLかCML(コマーシャルライセンス)のどちらか。
GPLが適合しないのなら、CML
CMLの場合トランザクションを利用する場合、innoDB/BDBのライセンス料がいるので
その分高いクラス(Proとかいう)のライセンスが必要。
MyISAMとかだけでトランザクション不要なら安い方(Classic)
# PostgreSQLに関係ないので単独スレで話すべき
- 39 :
- 客先で運用するシステムなら、どうしてもMySQLの必要があるのならライセンス
買うべきだ罠。なるべく安くあげたいのならPostgreSQLにすべき。
- 40 :
- あとMySQLのクライアントの価格は交渉しだいで非公開
- 41 :
- 自宅鯖だが、MySQLとPostgreSQLを両方使用した経験上からの比較。
まず速度面だが、たしかにMySQLは早い。というより、PostgreSQLは使い
続けてると遅くなってきたり、CPU100%使用状態が頻繁にある気がする。
起動直後にデータをSELECTしたりINSERTしたりするときの速度はあまり変
わらないのだが。あと、DBにログインするさいはPostgreSQLのほうが
遅いようだ。認証チェックが厳しいのだろうか?
機能面では、やはりビューがあるPostgreSQLは使いやすい。ユーザーに応
じて特定のデータのみを見せる場合(たいてい、同一テーブルに複数ユー
ザーのデータがあって、自分のデータだけを見せたい場合)わざわざ条
件句を書かなくてもよくなり、ソースがすっきりして可読性がアップす
る。ただ、MySQLも5.0からビューをサポートするのでこのアドバンテージ
は差がなくなるだろう。
また、PostgreSQLはグループごとの権限をサポートしているが、MySQL
はどうなんだろうか?
ライセンスに関しては、PostgreSQLは商用も完全フリー、MySQLはGPLライ
センス。とはいえ、MySQLのライセンスって数万ぐらいだった気も。
動作環境は、昔はPostgreSQLはWindowsをサポートしていなかったため、
Linux上で使うかcygwinというエミュレーターを使用する必要があった。
8.0からWindowsをサポートしているので、ユーザーがWindowsしか使え
ないという場合でも特に問題はなし。ちなみにMySQLは両方ともサポート
していたはず。
他、MySQLは4.1ぐらいから日本語周りでつまることが多い。Unicodeに
仕様変更したかららしいが。ちなみにPostgreSQLはEUC-JPを使用。いず
れも設定で変更できたと思う。
結論として、WEBみたいなデータにアクセスするユーザーを問わなくて
かつデータを出し入れするだけみたいなのはMySQL、業務系みたいに
ユーザー権限が存在してデータを集計したり複雑にテーブルを結合した
りするところではPostgreSQLを使うかな。
- 42 :
- MySQLだとクライアントのライセンスが面倒になる場合があるな
3.xの古い時代にはLGPLなライセンスなときがあったのでそれを使えば大丈夫
ただし、その接続は4.1からつながらないと思う
速度的にもPostgres8使ってる限り差はない
7.4まではかなりPostgresが遅いとかんじる部分はあった
が、その時期はMySQLはサブクエリーがないわけで機能的差も大きいし
業務系でずっとやってきてInnoDBしか使わんが、InnoDBはなんか
insertが遅かったような記憶がある
接続速度が問題になることはどっちもない
アプリケーション鯖ならコネクションプールするし
業務系で2層式、3層式とやってきたがライセンス的に楽なpostgres1本で
もういいんじゃね?という気はする
デフォのインストール状態だともはやPostgresのほうが使用メモリ小さかったような気がするし、
Oracleのように細かい調整が可能
テーブルスペース扱えるようになったのも分かる人には結構大きい変更点だ
まぁスタンドアロンならHSQLDB使うし、商用がいいのなら軽量のInterbaseやOracle選択
ただし、Oracleも商用可能でフリーなライセンスが追加されるようなのでそちらの動向も気になる
スレ違いになるがな
- 43 :
- >>42
古い接続認証方式だと繋がる。
もっとも古いクライアントでは古いAPIしか使えないわけだから、
サーバがMySQL4.1以上の意味がないが。
- 44 :
- PostgreSQL 8.1の高速化により、MySQLの利点はバキュームしなくてもいいってことぐらいになった?
- 45 :
- そのバキュームもCPUがあいてるときにちょろちょろやる設定が8からついたから
あんまり問題にならなくなったよ
もう7.xに戻る気はしないね
速度もそうだけどまったく別物だもん
- 46 :
- 8.1 からは autovacuum が contrib から組み込みになるしね。
もっとも、デフォルトでは無効で設定しないといけないけど。
MySQL は sysvshm/sysvsem を使わないので
FreeBSD jail 環境でも使えるのが利点...と言えなくもない。
- 47 :
- >>46
いったん大きくなってしまったDBサイズの縮小のために定期的にfull vacuumする
必要はまだあるんじゃないかと。
あと、jailつかうのならXenつかってOSごと分けちゃったほうが…、って板違いか。
- 48 :
- > いったん大きくなってしまったDBサイズの縮小のために定期的にfull vacuumする
> 必要はまだあるんじゃないかと。
vacuum fullでDBサイズが小さくなっても、またすぐに大きくなってしまうようなら
普通のvacuumで十分な場合がほとんど。
そもそも、「定期的な」vacuum fullが必要になることはあまりない。
- 49 :
-
Postgresqlはバージョンが上がる毎に
速度がメキメキ上がっていくところが頑張ってるなぁと。
8.1は速度の向上がかなり良かったようだし
autovacuumも標準装備だっけ?
それと、pgpoolとの相性もよさげ。
vacuumの管理の面倒さが無くなり、速度もmysqlと拮抗するなら
postgresqlの方がアドバンテージあるとおもうな。
MySQLだと、ライセンスの問題もあるしね。
- 50 :
- エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
- 51 :
- mysql ODBCとかてのを入れてデータソースに登録すればいいんじゃまいか
- 52 :
- >>50
MySQL5.0のスレに回答があったぞw
マルチするな
- 53 :
- >>52
770 名前:763[sage] 投稿日:2005/11/06(日) 14:27:14 ID:???
他スレで回答がありました。
ありがとうございました。
騙りは止めていただけますか?
- 54 :
- >>52 この板から消えろ 馬鹿すぎ
28 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 23:07:24 ID: urZZ/Ba6
エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
50 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 23:07:55 ID: urZZ/Ba6
エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
763 名前: NAME IS NULL Mail: 投稿日: 05/11/05(土) 22:51:01 ID: urZZ/Ba6
エクセルVBAでMYSQLと接続する方法を教えてください。
ODBCドライバ使えばできるらしいのですが、
私が持ってるVBAの本にはまるでかかれてません。
- 55 :
- >>52
この板から消えろ 馬鹿すぎ
- 56 :
- >>55
?
- 57 :
- MySQLはPostgresに比べてデータが壊れやすい印象があるんだけど、
この認識は間違ってますか?
- 58 :
- >>57
使い方によるんでね?
- 59 :
- 書き込みのしくみからの「印象」ではPostgreSQLのほうが壊れにくそうな気がするけど
実際には運用の仕方によるとしか言えないね。
- 60 :
- >>57
MySQLつうかMyISAMは不整合が起きやすい気がするな。
データそのものが壊れるってことはないけど、MyISAMは
やっぱり煩雑な更新には向かないストレージタイプだと思う。
- 61 :
- おまいらはソース読んで比較してますか?
- 62 :
- PostgreSQLのテーブルパーティションが便利だな
- 63 :
- 英語がすごく苦手なんですけど、ツール類とか含めて日本語環境が充実してるのはどっちですか?
自分で調べた感じではPostgreSQLかなと思いますが・・・
- 64 :
- 何を持って普及してるというかは微妙だが
postgresのバックアップツールは日本語とおらないぞ
データベース丸ごとという指定なら問題ないが
個別にやる場合問題あり
DB自体はまったく問題ないので自作できるとかなら気にしなくてもいいかも
MySQLはどうだったかなぁ
4.0までならプラットフォームのエンコーディング使うんで問題は少ない
最新版の5.0は4.1があんな状況だったのを考えるとわりと危険がいっぱい
でたばかりなのは危険があるのはどちらも同じ
postgresは今8.0が枯れてきたところ
半年くらい前までは8.0もjdbcドライバがバグもちだったし
話はそれたが、どっちも使った人間としては総合的に見て
postgresのほうが今は楽
interbaseやHSQLDBも好きな変人なんで当てにはならないと思うが
俺はまったく英語読めないけどどっちも使えてる
- 65 :
- >>63
「英語がすごく苦手」で「ツール類とか含めて日本語環境が充実してる」なら
二者から選ばず、Oracleになさい。MSのSQLサーバも結構良いよ。
- 66 :
- >>64
>postgresのバックアップツールは日本語とおらないぞ
>データベース丸ごとという指定なら問題ないが
>個別にやる場合問題あり
そうなの?これはpg_dumpのこと?
- 67 :
- >>63
SQLServer 2005 Expressだな。無料だし。
で、SQLServer 2005 ExpressにはEnterprise Managerが付いてないので、
管理用にSQLServer 2005のDeveloper(未発売)を買う。
SQLServer 2005 Developerが5000円くらいで出てくれればコレが最強。
- 68 :
- pg_dumpはテーブル名とかオブジェクト指定に日本語とおらないはず。
- 69 :
- >>68
データの方は大丈夫なんですね。
じゃあ普通に英数字で命名してる分には大丈夫なんかな。
- 70 :
- そういうこと
カラム名に日本語使うのは問題ないみたい
テーブル名に日本語使うとはまるかも
Postgres本体の制限ではないけど、こういうのはオープンソースプロダクトではよくあるよ
DB本体はマルチバイト綺麗に対応していても周辺のツールが未対応っての
- 71 :
- 昔はフィールド名、テーブル名に日本語ってあり得なかったんだけど
最近は普通にみんな使ってるし、対応してくれると楽だなぁ。
- 72 :
- エンドユーザーコンピューティングってやつだな
元々業務系はAccessとかCOBOLとかスタンドアロン系のDBは
日本語使うのが普通だったんだけれども
一応マルチバイトのテーブル名とかカラム名とか動くはずだが
保障しない、推奨しないってのがOracleあたりで多かった希ガス
ま、SQLぱっとみてすぐに分かるのはいいよね
俺も10年位前は否定派だったけど、いまじゃ日本語とおるほうがいい
MYSQLはプラットフォームのエンコーディング無視して
ファイルシステムに格納しやがるからMySQLも日本語テーブルは鬼門
日本語カラムはMySQLでは非推奨だったかな
これも周辺ツールの影響もあると思われ
- 73 :
- プログラマ的発想だと、テーブル名に日本語はやめれって感じだけど、
普通に考えると日本語使えた方がいいね。
仕様書いたりするときも、いちいち説明用に日本語と英語の対応表を
別に用意したり、慣れない英語名を考えたりしなくてむ済むし。
- 74 :
- >>73
確かにカラム名と日本語名とかならずかいてたな
カラム名をそのまま出すとユーザー企業側がわからないので
日本語名対照表作るなり面倒なことになる
そしてカラムが増えたのにそれを忘れたり・・・
- 75 :
- 回答ありがとうございました。勉強になりました。
列名や表名に日本語は使わない方針なので、その点からするとあまり変わらないですかね。
無料のSQLServer2005Expressにも興味ありますが、
Developerが出てないので今回は見合わせます。今すぐ作ってみたいので。
- 76 :
- まぁ小規模なPGでDB周りをちゃんと作ってれば
DBMSが変わってもさほど直さなくて済むよというか
そうで有ればいいなぁ。。。
- 77 :
- DBアクセス部分を抽象化ってのはむずかしいからね
大概ロジックと乱れ飛ぶから
とりあえず標準SQLを出来るだけ使うようにするというのは大事
>>75
開発環境がWindowsならPostgresが今はオススメかな
インストーラでらくらくセットアップ、pgadminやJDBC等ドライバも
標準でインストールされて、pgadminの日本語ドキュメントもすぐひける
mysqlはWEBで使うという書籍が多いけど、postgresはoracleの代替として
現実的なDBという書籍が多いと思う
最終的にはBSDライセンスが楽ということもあってpostgresでいいと思うけど
- 78 :
- いままでFreeBSD4.11でMysql5.0をつかってきたが
5.0.16からPortsでインストールできなくなったので
PostgreSQLに移行しようと思っている
もともとLINUX_THREADを使わないと壊れるなど
FreeBSDとの相性が悪いようなので
PHPのソースはPEARをつかってるので書き換えは不要だが
mysqldumpの出力内容をいじらないといけないようで
int(11) → int
auto_increment → serial
でインサートできているようだ
他にMySQLからPostgreSQLへ移行する上で
とくに注意する点はないだろうか?
- 79 :
- MySQLはそのままでOSをLinuxにすれば簡単なのに馬鹿だな
- 80 :
- mysqlではこういう書き方でOKだったが
select * from tablename where hoge = "mage";
PostgreSQLでは
where hoge = 'mage' とシングルクォーテションじゃないとダメ
- 81 :
- >>79
そういう前提でいいのか?
OSそのままでOracle使えば楽なのにとかそういうことは俺はいえん
- 82 :
- 文字列はシングルクォーテーションだな
ダブルクォーテーションは用途が違う
- 83 :
- MySQLをANSI準拠モードで使うとこれが悲しいってのはあるかな?
- 84 :
- Linuxでいいや
そんなふうに考えていた時期がオレにもありました
- 85 :
- Linuxじゃ駄目だと考えるようになったのはニートと呼ばれ始めた頃からだろうか?
- 86 :
- Solarisでいいじゃん
- 87 :
- はてなとmixiはMySQLつかってるね。
http://www.hatena.ne.jp/info/tech/
- 88 :
- だから頻繁にはてなおちるのか
- 89 :
- じゃあソース見せてもらえるのか
- 90 :
- さすがにコマーシャルライセンスかってるだろ
- 91 :
- だから時々CMが入るのか。
- 92 :
- はてなのシステムは外販もしてるの?
- 93 :
- 社内で閉じたシステムじゃないからな
コマーシャルライセンスが必要
- 94 :
- んでも、「GPLで配布されているMySQL」を入手してGPLの枠内で商用利用する分には
問題ないよな。MySQLを組み込んだ製品を売るんでもなれりゃコマーシャルライセンス
なんていらないんじゃないの?
- 95 :
- はてなで質問してこいw
- 96 :
- >>94
それで誰もかね払わないからDB部分もGPLになるといってる
3.23だっけ?あのあたりからどらいばがGPLになった
ユーザーがDBのクライアントだから>WEBアプリ
- 97 :
- 文章の意味がつかめんが、WebアプリならDB本体もドライバも
配布するわけじゃないからGPLでも構わんよね
- 98 :
- データも公開しないといけないの?
ママ大変!お客様のパスワードが丸見えだわ!
- 99 :
- 当然だよ。
嫌ならPG使え。
- 100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
・ 次のスレ
4: MySQL 総合 Part21 (937)
5: SQL質疑応答スレ 12問目 (360)
6: ト リ ッ プ テ ス ト (949)
7: Microsoft SQL Server 総合スレ 9 (232)