【IT】PostgreSQLとMySQL、使うならどっち? [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLとMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。それを徹底解剖すべく、PostgreSQLの専門家である澤田雅彦さんとMySQLの専門家である田中翼さんの対談を実施。各機能ごとに特徴を比較しました。 RDBについて日本トップレベルの知見を持つ2人の意見。ぜひ、PostgreSQLとMySQLを選定する際の参考にしてください! 中略 ―― 最後に総括として、PostgreSQLとMySQLがそれぞれどのようなサービスに向いているかを語ってもらえますか? 澤田 PostgreSQLは「多機能であること」が最大の利点なので、その特徴が生きるようなシステムには向いていると思います。たとえば、Oracle Databaseからの移行やSIer系の企業で使われるケースが多いという印象を個人的には持っています。 あとは、分析系のシステムでもよく使われます。ただこれも前述のようにMySQLの分析機能が徐々に充実してきているため、将来的に差は少なくなってくるでしょう。 ―― MySQLの方はどうですか? 田中 基本的には、シンプルなWebサービスに向いていると思います。 一定数の結果セットを取ってきて、そのデータを表示するといった感じの。たとえばTwitterのように、タイムラインの先頭部分を表示して、下にスクロールすると次のデータを読みこむようなサービスは、MySQLには特にマッチしていると思います。 とはいえ、バージョンが上がるごとにPostgreSQLもMySQLも高性能になってきているので、結局は使いたい方を使えばいいんじゃないでしょうか。 ―― 最後はとても平和的な結論になりましたね。今回はどうもありがとうございました! https://employment.en-japan.com/engineerhub/entry/2017/09/05/110000 MySQLだろうなあ。。 大体のディストリビューションって両方入ってるんだっけ? サン→オラクル、PostgreSQL→MySQLになった恨み オレはずっと・・・ Solaris終了のニュースを見た上でmysqlを選びたいなら好きにしろとしか vacuumしないとどんどん遅くなるPostgre >>10 桐は最新バージョンで 過去のDBが読めないってメッセージ出たorz 過去の資産が活かせないのが桐 mysqlは、遅いしインデックスのバイト制限とか、ショボい部分が多くて嫌い。 Windowsなら、ODBCドライバ経由で操作すれば、DB固有のSQL方言に依存 する部分とかだけをif文で切り替えれば、ほとんどDBに依存しないと思うのだが? >>17 マリアってMySQLの派生版みたいな理解でええの? >>19 こういうのって、普通はLinuxサーバー上の話で、操作は WebからJava等で行うので、 Windows のODBCなんて使う人間はめったにいない Mysqlは業務でよく使うけどポスグレは出会ったことないわ あえてポスグレって現場あったりするの? >>20 後継。 加勢大周を名乗れないから、新加勢大周と呼んでいるみたいなものやな。 >>26 その例えおかしいだろ、その二人別人だろ 今時だと能年玲奈を名乗れないのんだろ。 そして、のんが本流に置き換わるという。 つまり、つのだひろ と つのだ☆ひろみたいなもんか MySqlはもう古い アジアの他の国ではMariaDBが主流 古いものにしがみつくジャップは異常 ガチャゲーはmongoDBの採用例が多かった気がするが。 >>Oracle Databaseからの移行やSIer系の企業で使われるケースが多い おまいらの飯の種じゃん、システム移行 移行した割にはクソシステムは改善はせず 保守だけちょっと楽になる程度 今どきのDBってどれも仮想マシン上での動作保証してるの? >>32 だって窓口になってるシス管の人が今と同じ環境を構築してくれっていうんだもん これからはPostgres一択だろ。 どうしても、MySQLを選ぶくらいならMariaDB選ぶ。 Oracleに飼われている時点でMySQLは採用できない。 そのうちGitでラップしたsqliteが主流になってエンタープライズ駆逐するさ 数キロバイトのデータベース群をclone、commitする形でさ >>33 シングルサーバなら、仮想マシン上でもオッケーだけど、クラスタとかになると話がだいぶ違う。 >>35 昔お世話になった現場で使ってたなぁ その一箇所でしか使ってるの見たこと無いけど。 MySQLは不満を実感させて Oracleへ誘導するためのデコイだろ 活かさず殺さず程度にメンテして マイスキュールを選ぶくらいなら オラクルにするっしょ myからposに移行したけど、機会があればmariaに変えたい PostgreSQL MySQLはオラクルがやる気なし >>46 なぜか書いてくれよ。参考にならないじゃん >>36 ナカーマ(・∀・)人(・∀・) ものつくりの工程管理試作段階はライトで 量産始まったらmysqlで適当にやってこれてる まあ、最近はデータベース乗り換えにもさほど困らんから、好きなの使えよ。 MS系だと今でもSQLServerってあるんかなぁ…ロクでもないロック戦略で泣く。 >>16 エクスポート/インポートできないの? ならちょっとひどいわな >>25 Coverity って言うツールのデータベースがポスグレだったな phpMyAdminとphpPgAdminのできの良さで比較すると圧倒的に前者なんだよなぁ。 WebGUIなんて使うの?ププなんて思うかもしれないが、 改良が進むということはそれだけ使う人が多いということだし。 そういえばmariaになったんだな すっかり忘れてた RDBも残るんだろうけど、最近はKVS型のDB使うことが増えてきた。 クラウドでDynamoDB使いまくりですよん。 >>56 Webサーバを立てると、phpMyAdminの管理ページへのアクセスログがよくある。 サーバ攻撃のいいターゲットになってるな。 正直vacuumを差し引いてもmysqlはちょっと低能すぎんですよ 消しても容量回復しないDBはビックデータ格納には向いてなさすぎる > PostgreSQLとMySQL、使うならどっち? よし...MySQLにする...いややっぱり、Firebirdにするは。 MariaDBってのは最近知ったわ。CentOSにMySQLを入れようとしたら、MariaDBのライブラリと競合するって怒られたのよ。 mariaの最新なんだっけ。12? かなり弱点なくてお勧め。 mysqlのcurrentなんかもうしらん。 6億レコードぐらい入れたいんだけど どれがいいかな? >ただこれも前述のようにMySQLの分析機能が徐々に充実してきているため、将来的に差は少なくなってくるでしょう。 >とはいえ、バージョンが上がるごとにPostgreSQLもMySQLも高性能になってきているので、結局は使いたい方を使えばいいんじゃないでしょうか。 >―― 最後はとても平和的な結論になりましたね。今回はどうもありがとうございました! 無意味な対談記事だなw 大体の用途はSQLiteで十分 仕事で使うなら客の基盤チームが好きなやつ 間違えた 60億レコードぐらい入れたいんだけど どのDB使えばええやろ? Oracleの息のかかったMySQLとかもはや敬遠されてるだろ。今はPostgreSQLかMariaDB マイクロソフト信者の僕らはエクセルでVBAでADOするです 長いことMySQLでスキーマレスな運用してたけど、 ここのところ5年はMongoDBばかり使ってる あれ便利すぎて他が辛くなる >>91 桁間違えてたんや60億いけるか? マイクロ秒オーダーでinsert、selectしたいんだけど >>28 oracleのmysqlと、mariadbは呼び方だけではなく、 中身も別人扱いじゃん。 >>94 そのデータをデータベースに突っ込むまでに時間過ぎてるな mancoDBって作ってくれないか? insertとか凄い興奮しそう >>94 60億程度ならbigqueryならそっこー ただし全カラム取り出したら破産しかねないので注意 >>94 マルチマスターのdbじゃないと無理だろ。 カサンドラとかならいけるんじゃね? ええっと、ここのスレの方々は未だにオンプレミス環境なのでしょうか? Redshift vs Auroraならまだ分かるのですが。 >>75 H立の人からこれだけはやめてくれと言われて 別のDB使いましたがw >>1 ポスグレでしょ。MySQLはjavaと同じくOracleに飼い殺しをより推進されるとしか思えない。 >>74 最近のLinuxディストリビューションだとMySQLではなくMariaDBの方が標準になっていると思います Insertした後、関係をDeleteし忘れて人生Dropしました 昔のmysqlはトランザクション処理が弱かったって記憶がある 今のは知らん >>56 ,62 運用まで考えていない初心者さんはphpMyAdminを使うけど、まぁ仕方ないか。 >>104 プライベートクラウドのラックに15台vmware ESXi入れて、50台程度linux回してる。 オンプレなんかしたら電気代喰うし、停電対策できないし。 >>117 何か、本番環境だとセキュリティホールになりそうで怖い・・・ MySQLならばユーザ名とパスワードがscott/tigerは無いと思うけど。 >>120 普通だったらね。でも、普通じゃないことが結構あるw >>121 apacheのアクセスログ一度でも見ていれば、 考えると思うが、見てないのか? それは一度痛い目に会うべきだ MySQLも今のはトランザクション機能あるし、速度、安定性も実用的だな。今メンテしてるプロジェクトも1億レコード以上あるけど、特に問題ないわ。 最近はamazon auroraの一択だな mysqlと同じ使い勝手でありながら mysqlでは決して出せない性能とコストパフォーマンス パブリッククラウドなんて使えるかって頭の固い客には勧められないのが難点だけどね >>118 プライベートクラウドもオンプレミスの一種じゃね 昔はMySQLは癖があると言われたけど、今はどうなんだろう >>104 日本企業なんて総じてITの進化についていけていないからな 本業で儲かっている企業に限って オンプレミスのレガシーシステムに湯水のようにコストかけていたりするんだよ まあ本業で儲かっているからコストかけられるんだけどね >>125 データセンター業者からラックごと借りているのをプライベートというのは抵抗があるな MySQLは機能全然無いからなぁ 使ってる所見ると たいしたDBでないのが直ぐ解る >>129 世の中はそんな大したDBを必要としない案件のほうが圧倒的に多いので >>25 MySQLは商用開発では費用発生するケースが多いので Postgreが選ばれる 【東大】 最 悪 最 低 の 2 人 【慶応】 武田邦彦 「リサイクルなんてしたって利用できないし、 主婦の忙しい時間を物凄く取ることになるから、こういうことはもうやめたほうがいい」 某東大教授 「主婦や老人は暇で困ってるんだからゴミの分別なんかさしといたらいい 武田先生の言うようにゴミの分別が役に立つとか 役に立たないとかいう問題じゃなくて、主婦とか老人の暇な時間を潰してあげるんだから」 某慶応教授 「名古屋の市民はうんと苦しんだほうがいい、分別でうんと苦しんだほうがいい。 大量にモノを使うような悪いヤツは、うんと苦しめ」 視聴回数 50,712 回 ※【武田邦彦】今でも絶対に忘れない。最悪最低の2人。 https://www.youtube.com/watch?v=mKk4N0DVzok 暴 動 が 起 こ る の で こ こ で は 公 開 で き ま せ ん 世界中において有機水銀はかつて農薬として広く使われ、 1970年代にイラクでは、メチル水銀で消毒した小麦の種を食用に流用したパンによって 有機水銀中毒で400人以上が死亡する事件がおきた。 水俣病の被害者は1万5000人を越え、現在もなお被害者は増え続けています。 この水銀が、実は私たちの口の中に詰められていることをご存知でしたか? 日本人に入っている銀歯の正体は高濃度水銀、アマルガムだった。 http://doclabo.jp/contents/709 いわゆる”銀歯”は欧米では使われていません 日本補綴歯科医学会・歯科用金属規格委員会報告 「できるだけ早い時期に金合金に移行すべきである。」 それから50年以上経ちました。当時とは比べものにならないくらい豊かな現代の日本ですが、 報告書の言う「できるだけ早い時期」は未だ到来せず、今日も代用合金を使い続けています。 http://chicchic8.exblog.jp/25698475/ このような詰め物を保険で認可している厚生労働省は、当然のように事実として知っています。 ではなぜ放置したままなのでしょうか。 当医院の院長が保険への適応を提出したとき、その答えが返ってきました。 その答えとは暴動が起こるのでここでは公開できません。 ●アメリカではアマルガムを摘出する時、 防護マスクを使用している写真(中) http://wakitani.com/treat_2.html >>128 単なるコロケーションサービスをプライベートクラウドと呼んでる例はあるね >>139 勘違いじゃないよ GPL汚染を嫌う場合が多いから商用ライセンスを選ぶケースは結構ある >>140 何が「汚染」されてどんな支障が出るの? >>141 例えばJavaで開発したシステムでMySQL使う場合に GPLv2ライセンスのままだとMySQL標準のJDBCドライバと リンクした時点で開発したシステムもGPLv2の適用を受ける。 そうするとソースコードの公開義務が発生する。 大抵の契約でソースコードのライセンスはお客さんに渡すので それに公開義務があるというのは事前に通知していない限り 存在しない権利の譲渡や守秘義務の観点で問題になる。 >>143 GPLv2の一文だけど、これをどう解釈してる? >>you receive source code or can get it if you want it, >>that you can change the software or use pieces of it in new free programs; >>and that you know you can do these things. >>144 それどう解釈したら公開義務に読めるの? GPLは頒布した人と受け取った人の間の契約だと理解してる? 面倒くさいから勘違いした人の為の解説もちょっと探せば見つかるから疑問に思うなら自分でさがしてくれ。 勘違いしたまま商用ライセンス買いたければそれも好きにすればいい。 商用ライセンスの必要な状況が無いとは言わんが受託開発やSIには必要ないわ。 >>142 >大抵の契約でソースコードのライセンスはお客さんに渡すので だったら問題ないのでは >>141 例えば>>55 みたいなケース >>146 そのお客さんがそれを組み込んだ製品を一般売りするケースでしょ SIはともかく>>145 は受託開発を狭く捉えすぎ どういうツールか分からないけどツールがDB使ってるだけなら汚染されないんでは? >>147 > そのお客さんがそれを組み込んだ製品を一般売りするケースでしょ そういうケースは客の方からライセンスについてクドいくらい確認される。 その上でGPL使っても構わない部分なら使うし、使ったらまずい部分には使わない。 間違ってGPL混入しちゃいましたーてへぺろ みたいなことは無い。 >>149 MySQL の商用ライセンスを使うケースがあるかどうかの話で混入云々は別の話 なおくどいぐらいに確認したから混入なんてあり得ないとか思ってるならOSSのリスク管理について相当レベルが低いと言わざるを得ない >>148 >>55 の話ならコードチェックツールでそっちは関係ないけどチェックした結果を複数ユーザーで共有するために結果を格納するためのデータベース ユーザー認証とかにも使ってるので汚染は避けられない >>152 ユーザー認証に使うから汚染が何なのかよくわからんが。 >>142 クライアントのドライバだけMariaDBのドライバにすればおけ >>142 LGPLじゃなくてGPLv2なのか おそろしいな >>154 MariaDBのODBC、JDBCはLGPLみたいだね >>156 LGPLだからダイナミックリンクだと公開の義務は発生しない そもそも、オープンソースという概念自体、昔のソフトをバイナリ配布するときに、ソースを公開させるためのライセンスで 昨今のシステムをサービス提供する場合はAGPLでない限り公開の義務は発生しないきがする >>153 製品の内部で使ってるってこと ちょっとは頭使えよ w >>162 DBを内部で使うから汚染の説明にならないけど >>163 それ見ても理解できないのか まあアクセスライブラリーを自前で書くとか回避方法はいくつかあるけど色々面倒だからMySQLを使ってないってこと >>164 アクセスライブラリはDBでは無いですね ライセンスの話にそういう雑な話はやめたほうがよいですねえ >>165 はいはい、ライブラリー使わずに回避してる俺スゲー君ね w アスペかよ >>166 自分が雑な頭なのを人をアスペだとか罵倒しても改善されませんよ はいはい、君はMySQL使うのにアクセスライブラリー使わないのが当たり前って思ってなさいよ 常識通じない奴ってこれだから w MySQLのGPLリスクより Oracleのライセンス改定リスクのほうが よほど高いし、事例も枚挙にいとまがないのに、 それを無視してる奴らって相当バカなのでは? 問題が起きたら、起きたときに考えればいい。 起こるかどうかもわからないリスクを恐れて 面倒な手順を踏んでる奴らは 根本的にプロダクト開発に向いてない。 >>169-170 ポスグレ使ってるって話なのに何を言ってるんだよ w >>145 公開の定義が違っているのかな? インターネットでアクセス制限かけずに公開という意味ではなく 相手を問わず第三者にソースコードごと渡す必要があるという意味で 公開という単語を使っている。 例えば競合他社がうちでもそれベースで システム開発して使いたいので頂戴と言われたら 渡す必要があるライセンスを期待して発注してくるお客さんはまずいない。 そもそも納品物にGPLのライセンスつけてなかったら その時点で違反だしね >>160 基本的にそう考えていいよ さすがにいらないと言ってる人に押し付ける必要はまったくないw ただ、この業界は人の移動が多いから従業員が競合他社に転職したり、 開発会社が別の会社で競合製品作ったりと色々と問題の種がある。 そもそも他にだしたくないなら他のライセンス製品使えばいいだけ。 PostgreSQLでもいいし、MySQL系が良ければmariaもある。 GNUのフリーソフトウェアとして流通させたいものだけGPLを使えばいい。 >>160 >>174 無関係の人間に請求されても公開する必要はないよ https://www.ibm.com/developerworks/jp/opensource/library/itm-oss2/ コラム1:ソースコードはどういったときに公開しなければならない? 誤解されがちなポイントですが、オープンソースのソフトウェアは第三者に再配布しない限り ソースコード公開の義務はありません。そのため、 ・オープンソースソフトウェアを改造して自分一人で使っている ・企業においてオープンソースソフトウェアを改造し、自社内でのみ利用している といったケースではソースコードを公開する義務がないのです。 >>173 発注者に著作権譲渡なら(普通そうだと思うが)GPLの頒布でもない。 MySQLのGPLリスクがーー とかこんなこと本気で言ってるのは、 クソ大企業のクソ社内SEとかSI企業だろ。 つまりOracleに金落としまくってる奴ら。 ありもしないリスクを恐れて大金をドブに捨ててる奴ら。 オレもMySQLとPostgresなら確実に後者だが、 MySQLの回避理由がGPLリスクとか頭おかしいわ。 まともなIT企業がそんな理由でMySQLの採用を回避するとは思えない。 GPLリスクなんてもんは オープンソースの「ソースコード」を 流用したり改造したりするときに発生するもんだ。 MySQLを改造して運用するようなのは 技術力のあるごく一部の企業に限られる。 大抵の企業には無関係な話ですよ。 >>180 お前がまともな企業にいないことはよくわかったから黙ってろ まともじゃないから自分達がまともだって信じ込んでる可哀想な >>183 世界の美意識はこん/なに違/った。女性の"完璧なプロポーション"は?(比較画像) http://www.mcpzka.shop/891.html >>184 パナソニック、日立、トヨタ とか普通にOSSのライセンスをチェックする部署持ってるぞ お前の考えるまともな企業ってどこ? w >>186 4大SIの一つの会社ではOSSのライセンスのチェックどうしようって担当者が頭抱えていたけどな >>187 まあマジでやると結構な費用がかかるから担当者が頭を抱えるのも無理はない 同じOracle製品なのにお前らの評価が、 どうして違うの? Java オワコン MySQL 使うでしょ普通 >>189 > どうして > Java オワコン プログラミング言語にはどういうわけだか 熱狂的な信者とアンチが出てくるのです 所詮道具だとわからない人が ライセンスも読んだ事無いド低脳なんちゃってエンジニアのSI馬鹿が居ると聞いてw >>186 OSSのライセンスチェックする部署持ってるってことは、 それだけのコストをかけてもOSSを適宜利用するってこと。 OSS使わなければコスト掛ける必要もないからな。 >>194 お前はいったい何を言ってるんだよ w >>180 辺りから読み直せ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる