MySQL vs PostgreSQL Part2
■ このスレッドは過去ログ倉庫に格納されています
同じオープンソースRDBMSとしてのMySQLとPostgreSQLを語ろう。
どちらが良い・悪いの宗教論争ではなく、漏れたちユーザにとってのそれぞれの使い所を見出そう。
前スレ
MySQL vs PostgreSQL
http://pc8.2ch.net/test/read.cgi/db/1056943680/l50
mysql ODBCとかてのを入れてデータソースに登録すればいいんじゃまいか >>50
MySQL5.0のスレに回答があったぞw
マルチするな >>52
770 名前:763[sage] 投稿日:2005/11/06(日) 14:27:14 ID:???
他スレで回答がありました。
ありがとうございました。
騙りは止めていただけますか? >>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の本にはまるでかかれてません。
MySQLはPostgresに比べてデータが壊れやすい印象があるんだけど、
この認識は間違ってますか? 書き込みのしくみからの「印象」ではPostgreSQLのほうが壊れにくそうな気がするけど
実際には運用の仕方によるとしか言えないね。 >>57
MySQLつうかMyISAMは不整合が起きやすい気がするな。
データそのものが壊れるってことはないけど、MyISAMは
やっぱり煩雑な更新には向かないストレージタイプだと思う。 PostgreSQLのテーブルパーティションが便利だな 英語がすごく苦手なんですけど、ツール類とか含めて日本語環境が充実してるのはどっちですか?
自分で調べた感じではPostgreSQLかなと思いますが・・・ 何を持って普及してるというかは微妙だが
postgresのバックアップツールは日本語とおらないぞ
データベース丸ごとという指定なら問題ないが
個別にやる場合問題あり
DB自体はまったく問題ないので自作できるとかなら気にしなくてもいいかも
MySQLはどうだったかなぁ
4.0までならプラットフォームのエンコーディング使うんで問題は少ない
最新版の5.0は4.1があんな状況だったのを考えるとわりと危険がいっぱい
でたばかりなのは危険があるのはどちらも同じ
postgresは今8.0が枯れてきたところ
半年くらい前までは8.0もjdbcドライバがバグもちだったし
話はそれたが、どっちも使った人間としては総合的に見て
postgresのほうが今は楽
interbaseやHSQLDBも好きな変人なんで当てにはならないと思うが
俺はまったく英語読めないけどどっちも使えてる
>>63
「英語がすごく苦手」で「ツール類とか含めて日本語環境が充実してる」なら
二者から選ばず、Oracleになさい。MSのSQLサーバも結構良いよ。 >>64
>postgresのバックアップツールは日本語とおらないぞ
>データベース丸ごとという指定なら問題ないが
>個別にやる場合問題あり
そうなの?これはpg_dumpのこと? >>63
SQLServer 2005 Expressだな。無料だし。
で、SQLServer 2005 ExpressにはEnterprise Managerが付いてないので、
管理用にSQLServer 2005のDeveloper(未発売)を買う。
SQLServer 2005 Developerが5000円くらいで出てくれればコレが最強。 pg_dumpはテーブル名とかオブジェクト指定に日本語とおらないはず。 >>68
データの方は大丈夫なんですね。
じゃあ普通に英数字で命名してる分には大丈夫なんかな。 そういうこと
カラム名に日本語使うのは問題ないみたい
テーブル名に日本語使うとはまるかも
Postgres本体の制限ではないけど、こういうのはオープンソースプロダクトではよくあるよ
DB本体はマルチバイト綺麗に対応していても周辺のツールが未対応っての
昔はフィールド名、テーブル名に日本語ってあり得なかったんだけど
最近は普通にみんな使ってるし、対応してくれると楽だなぁ。 エンドユーザーコンピューティングってやつだな
元々業務系はAccessとかCOBOLとかスタンドアロン系のDBは
日本語使うのが普通だったんだけれども
一応マルチバイトのテーブル名とかカラム名とか動くはずだが
保障しない、推奨しないってのがOracleあたりで多かった希ガス
ま、SQLぱっとみてすぐに分かるのはいいよね
俺も10年位前は否定派だったけど、いまじゃ日本語とおるほうがいい
MYSQLはプラットフォームのエンコーディング無視して
ファイルシステムに格納しやがるからMySQLも日本語テーブルは鬼門
日本語カラムはMySQLでは非推奨だったかな
これも周辺ツールの影響もあると思われ プログラマ的発想だと、テーブル名に日本語はやめれって感じだけど、
普通に考えると日本語使えた方がいいね。
仕様書いたりするときも、いちいち説明用に日本語と英語の対応表を
別に用意したり、慣れない英語名を考えたりしなくてむ済むし。 >>73
確かにカラム名と日本語名とかならずかいてたな
カラム名をそのまま出すとユーザー企業側がわからないので
日本語名対照表作るなり面倒なことになる
そしてカラムが増えたのにそれを忘れたり・・・
回答ありがとうございました。勉強になりました。
列名や表名に日本語は使わない方針なので、その点からするとあまり変わらないですかね。
無料のSQLServer2005Expressにも興味ありますが、
Developerが出てないので今回は見合わせます。今すぐ作ってみたいので。 まぁ小規模なPGでDB周りをちゃんと作ってれば
DBMSが変わってもさほど直さなくて済むよというか
そうで有ればいいなぁ。。。
DBアクセス部分を抽象化ってのはむずかしいからね
大概ロジックと乱れ飛ぶから
とりあえず標準SQLを出来るだけ使うようにするというのは大事
>>75
開発環境がWindowsならPostgresが今はオススメかな
インストーラでらくらくセットアップ、pgadminやJDBC等ドライバも
標準でインストールされて、pgadminの日本語ドキュメントもすぐひける
mysqlはWEBで使うという書籍が多いけど、postgresはoracleの代替として
現実的なDBという書籍が多いと思う
最終的にはBSDライセンスが楽ということもあってpostgresでいいと思うけど いままでFreeBSD4.11でMysql5.0をつかってきたが
5.0.16からPortsでインストールできなくなったので
PostgreSQLに移行しようと思っている
もともとLINUX_THREADを使わないと壊れるなど
FreeBSDとの相性が悪いようなので
PHPのソースはPEARをつかってるので書き換えは不要だが
mysqldumpの出力内容をいじらないといけないようで
int(11) → int
auto_increment → serial
でインサートできているようだ
他にMySQLからPostgreSQLへ移行する上で
とくに注意する点はないだろうか? MySQLはそのままでOSをLinuxにすれば簡単なのに馬鹿だな mysqlではこういう書き方でOKだったが
select * from tablename where hoge = "mage";
PostgreSQLでは
where hoge = 'mage' とシングルクォーテションじゃないとダメ >>79
そういう前提でいいのか?
OSそのままでOracle使えば楽なのにとかそういうことは俺はいえん 文字列はシングルクォーテーションだな
ダブルクォーテーションは用途が違う
MySQLをANSI準拠モードで使うとこれが悲しいってのはあるかな? Linuxでいいや
そんなふうに考えていた時期がオレにもありました Linuxじゃ駄目だと考えるようになったのはニートと呼ばれ始めた頃からだろうか? 社内で閉じたシステムじゃないからな
コマーシャルライセンスが必要 んでも、「GPLで配布されているMySQL」を入手してGPLの枠内で商用利用する分には
問題ないよな。MySQLを組み込んだ製品を売るんでもなれりゃコマーシャルライセンス
なんていらないんじゃないの? >>94
それで誰もかね払わないからDB部分もGPLになるといってる
3.23だっけ?あのあたりからどらいばがGPLになった
ユーザーがDBのクライアントだから>WEBアプリ 文章の意味がつかめんが、WebアプリならDB本体もドライバも
配布するわけじゃないからGPLでも構わんよね データも公開しないといけないの?
ママ大変!お客様のパスワードが丸見えだわ! ドライバを自作してGPLを回避している強者はいないのか? >>97
普通はDBってユーザーとDBクライアントの間にプロキシみたいなのをかましても
直でつないだのとまったく同じという扱いだよな MySQL が GPL で云々言うなら PostgreSQL を使えばいいのに -- マリー・アントワネット >>102
オマエ>>96?
やっぱり何を言いたいのか意味不明なんだが。
「つなぐ」ことってのはGPLが依拠する著作権的には何の意味もないし。 だれか解説ヨロ
はてなに対して「コマーシャルライセンス買え」か「コード公開しろ」とかで
祭りでもなってるのか? >>106
んにゃ。GPLが理解できない香具師がからかわれてるだけ。
>>96で答えが出てる。
WEBアプリはソース公開するか、ライセンス購入
>>110みたいに必死に嘘を書いてる奴は通報するぞ ライセンス違反者が多そうだな。
技術者として恥ずかしいことだぞ。
社員乙
「前世の障りが…」とかいってビビらせて役に立たないもの売りつける
霊感商法とかわらんな いや、通信プロトコルがGPLというのはネタじゃないんだが
http://dev.mysql.com/doc/internals/en/licensing-notice.html
だからMySQLと通信するプログラムをフルスクラッチで作ったとしてもGPLに縛られる。 マジか。
とはいえ、特許ならともかく、プロトコルに著作権なんか発生しないのは
USも日本も同じだし(Swedenは知らんけど)。
「MySQL ABがそう言っているだけですね(ホジホジ」としか言えんな。 そういうライセンスなんだから承諾しなきゃ使えないだけ
いやならPostgresにしろ
まぁこの1年でPostgreSQLの開発者回り見た感じ倍増してるが
MySQL4.1のやっちまった件&PostgresのWindows対応が大きかった希ガス
そういうライセンスっつーか、GPLでしょ。
いろんな意味で間違ってるよ。 さすがに俺の周りでは8.1はまだ実務運用はされてないな
8.0で動いてるところはいくつか見たし、俺もかかえてる
8.1でSQL(というかJDBC)が厳密になってるっぽいから
単純に移行できるかどうか地震がないっす
自分が書いたコードだけなら対応は余裕なんだけどね
8.1やっと本番環境で動きましたよ〜
SQL変更は何箇所かあった。 うちも年末に8.1に移行した。
全体的に早くなったような気がするけど、相変わらずバージョンが変わるごとに
プランナの挙動が変わってしまうのは困るね。 うちは未だ7.3だ。
7.3もメンテ続いているから積極的に乗り換える理由が無いんだよなぁ… 8.0からまともになったSQLってのもあるしね
Winで開発しないのならいいかもしれんが、
新規案件に7.xはさすがにありえんね
Linuxでも8.1以前に8.0になっただけでもめちゃくちゃ速度かわってるし しかし、変更は7.4->8.0より8.0->8.1のが大きい気がする 8.1での変更点なんて8.0での変更点に比べたら正直カス
とはいえないけどやっぱり8.0ではクリティカルなところが改善されてるから
8.1はやはりメジャーバージョンがあがってない理由にはなるな 内部は知らんが
使えないsqlがでた
以前のpsqlやpg_dump等が実質使えない
などがあったからなあ
7から8は何もしなくてすんだが
8.0から8.1はあちこち変えなくてはならなかった >>131
MySQLで、3.23→4.0より4.0→4.1のが変更が大きいのと同じようなもん? 正直MySQLの4.1以上へのアップグレードにくらべれば7.4から8.1も楽勝
SlonyIでレプリケーションする場合
テーブル名もすべて指定しないとダメなんだよね?
その場合、テーブル作る場合、サービス止めて
テーブル指定するって感じなのかな
MySQLからの移行を考えてるんだが
レプリケーションだけがどうもひっかかる Slony-Iの操作はpgAdminIIIからやるのが楽でいい >>138
サービスとめる必要は無いよ
テーブルは普通に作って、レプリケーション側もガワだけ作って
同期はコマンド送るだけ。内容はそのときにコピーされるし。 MySQLが4.1からおかしくなったから
Postgresに乗換えようかと迷い中。
乗換えた人がいたら、どんな感じか教えてください。 とりあえず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年くらい放置してた時点で今後も心配 >>142
メジャーバージョンアップ直後のの8.0の方がバグ多し、な希ガス。
8.1もマイナーバージョンあがってるから、そっちの方がよくね?
セキュリティ問題とpgpool Global Developement Group発足
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060215/229362/
を読む限り 8.x を仕事で使うのは少し怖い。
ただ PostgreSQL チームのクオリティは高いから
あと半年くらい寝かせれば大丈夫だと思うけど。 そうか、ちょっと寝かすか
∧_∧
( ・∀・) ))
/つ( ̄`ヽO_ノ⌒ヽ
ノ ) \ ))
(__丿\ヽ :: ノ:::: )
丿 ,:' ))
(( (___,,.;:-−''"´``'‐'
半年後にまた会おうね☆
∧_∧
( ・∀・ )
/ _ノ⌒⌒⌒`〜、_
( ̄⊂人 //⌒ ノ ヽ)
⊂ニニニニニニニニニニニニニニ⊃
国内では PostgreSQL、
国外では MySQL MySQLでは、シーケンス、ビュー、ストアドプロシージャ、外部結合
が無いってのが弱点かも。その分、スピードに力を入れてるってこと
だけど。
業務系ならPostgreSQL、WEB系ならMySQLだな >>148
>MySQLでは、シーケンス、ビュー、ストアドプロシージャ、外部結合が無い
「PostgreSQLはWindowsではまともに使えない」ぐらい古い認識かと。
まあ移行が進まないのはどっちも同じだけどね。 ■ このスレッドは過去ログ倉庫に格納されています