ヘッドライン(RSS)

あなたはMySQL派?それともPostgreSQL派?

エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、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

3: 名無し@webensoku 2017/09/05(火) 18:23:21.30 ID:kAsBcAOq
mariaDB

11: 名無し@webensoku 2017/09/05(火) 18:35:06.16 ID:sqV28zMm
>>3
どう見てもこれ。

17: 名無し@webensoku 2017/09/05(火) 18:46:35.63 ID:WOm8xsI6
>>3
ホントコレ

20: 名無し@webensoku 2017/09/05(火) 18:54:39.85 ID:8p890kaH
>>17
マリアってMySQLの派生版みたいな理解でええの?

26: 名無し@webensoku 2017/09/05(火) 19:20:12.23 ID:WOm8xsI6
>>20
後継。
加勢大周を名乗れないから、新加勢大周と呼んでいるみたいなものやな。

28: 名無し@webensoku 2017/09/05(火) 19:24:06.24 ID:y739vpa5
>>26
その例えおかしいだろ、その二人別人だろ
今時だと能年玲奈を名乗れないのんだろ。
そして、のんが本流に置き換わるという。

70: 名無し@webensoku 2017/09/05(火) 21:39:19.74 ID:Pm/iWmIU
>>28
それじゃ中身変わらないじゃん…

4: 名無し@webensoku 2017/09/05(火) 18:23:48.60 ID:t9A+0vZK
SQLite

6: 名無し@webensoku 2017/09/05(火) 18:28:12.87 ID:kjEJPIs+
MySQLだろうなあ。。
大体のディストリビューションって両方入ってるんだっけ?

7: 名無し@webensoku 2017/09/05(火) 18:28:59.75 ID:qhZDuAd5
サン→オラクル、PostgreSQL→MySQLになった恨み
オレはずっと・・・

8: 名無し@webensoku 2017/09/05(火) 18:29:32.93 ID:N5HcfB8N
Solaris終了のニュースを見た上でmysqlを選びたいなら好きにしろとしか

9: 名無し@webensoku 2017/09/05(火) 18:32:29.34 ID:1KLuwgX+
最近はSQLite多用してるな

10: 名無し@webensoku 2017/09/05(火) 18:34:18.90 ID:fUKGchV/

16: 名無し@webensoku 2017/09/05(火) 18:46:34.41 ID:ANPSL0Ih
>>10
桐は最新バージョンで
過去のDBが読めないってメッセージ出たorz

過去の資産が活かせないのが桐

54: 名無し@webensoku 2017/09/05(火) 20:56:51.88 ID:3f/EPVQV
>>16
エクスポート/インポートできないの?
ならちょっとひどいわな

21: 名無し@webensoku 2017/09/05(火) 19:02:16.22 ID:eYjva3ck
>>10
爺・・・

13: 名無し@webensoku 2017/09/05(火) 18:37:02.34 ID:GkxIZ/es
vacuumしないとどんどん遅くなるPostgre

38: 名無し@webensoku 2017/09/05(火) 20:01:10.29 ID:1KLuwgX+
>>13
随分前からオートバキュームじゃないの?

14: 名無し@webensoku 2017/09/05(火) 18:39:30.84 ID:4255cQxW
sqrite

18: 名無し@webensoku 2017/09/05(火) 18:48:27.16 ID:4JwJXZEH
mysqlは、遅いしインデックスのバイト制限とか、ショボい部分が多くて嫌い。

19: 名無し@webensoku 2017/09/05(火) 18:53:24.68 ID:Y2yzMJii
Windowsなら、ODBCドライバ経由で操作すれば、DB固有のSQL方言に依存
する部分とかだけをif文で切り替えれば、ほとんどDBに依存しないと思うのだが?

22: 名無し@webensoku 2017/09/05(火) 19:04:37.16 ID:eYjva3ck
>>19
こういうのって、普通はLinuxサーバー上の話で、操作は WebからJava等で行うので、
Windows のODBCなんて使う人間はめったにいない

39: 名無し@webensoku 2017/09/05(火) 20:04:42.17 ID:LXyjCKv0
>>19
ロックの粒度とか違うしねえ

23: 名無し@webensoku 2017/09/05(火) 19:07:53.56 ID:8CHEXWTl
ポスグレ一択

24: 名無し@webensoku 2017/09/05(火) 19:19:07.01 ID:j3icY2dz
俺はポスグレかなあ

25: 名無し@webensoku 2017/09/05(火) 19:19:20.47 ID:y739vpa5
Mysqlは業務でよく使うけどポスグレは出会ったことないわ
あえてポスグレって現場あったりするの?

55: 名無し@webensoku 2017/09/05(火) 20:58:44.11 ID:3f/EPVQV
>>25
Coverity って言うツールのデータベースがポスグレだったな

27: 名無し@webensoku 2017/09/05(火) 19:21:53.17 ID:yT8Uqab2
mysqlとか怖くて使ってられない

29: 名無し@webensoku 2017/09/05(火) 19:28:39.66 ID:yT8Uqab2
つまり、つのだひろ と つのだ☆ひろみたいなもんか

30: 名無し@webensoku 2017/09/05(火) 19:29:58.90 ID:xLr6HaSU
MySqlはもう古い
アジアの他の国ではMariaDBが主流

古いものにしがみつくジャップは異常

31: 名無し@webensoku 2017/09/05(火) 19:30:35.89 ID:jt8g2ZWy
ガチャゲーはmongoDBの採用例が多かった気がするが。

32: 名無し@webensoku 2017/09/05(火) 19:32:22.22 ID:fWw+wT6h
>>Oracle Databaseからの移行やSIer系の企業で使われるケースが多い

おまいらの飯の種じゃん、システム移行
移行した割にはクソシステムは改善はせず
保守だけちょっと楽になる程度

34: 名無し@webensoku 2017/09/05(火) 19:34:38.09 ID:yT8Uqab2
>>32
だって窓口になってるシス管の人が今と同じ環境を構築してくれっていうんだもん

33: 名無し@webensoku 2017/09/05(火) 19:32:51.72 ID:jt8g2ZWy
今どきのDBってどれも仮想マシン上での動作保証してるの?

41: 名無し@webensoku 2017/09/05(火) 20:05:44.13 ID:LXyjCKv0
>>33
シングルサーバなら、仮想マシン上でもオッケーだけど、クラスタとかになると話がだいぶ違う。

35: 名無し@webensoku 2017/09/05(火) 19:35:18.19 ID:QAJC3qGI
cache’

42: 名無し@webensoku 2017/09/05(火) 20:07:51.93 ID:1KLuwgX+
>>35
昔お世話になった現場で使ってたなぁ
その一箇所でしか使ってるの見たこと無いけど。

36: 名無し@webensoku 2017/09/05(火) 19:43:11.53 ID:DO1t3o4H
sqlite3

37: 名無し@webensoku 2017/09/05(火) 19:53:55.01 ID:gs+Vjl1i
これからはPostgres一択だろ。
どうしても、MySQLを選ぶくらいならMariaDB選ぶ。

Oracleに飼われている時点でMySQLは採用できない。

40: 名無し@webensoku 2017/09/05(火) 20:05:09.81 ID:b1a+qm5J
そのうちGitでラップしたsqliteが主流になってエンタープライズ駆逐するさ
数キロバイトのデータベース群をclone、commitする形でさ

43: 名無し@webensoku 2017/09/05(火) 20:22:19.95 ID:PnZoiO6d
Symfoware

46: 名無し@webensoku 2017/09/05(火) 20:30:12.04 ID:ZbGuVeRk
myからposに移行したけど、機会があればmariaに変えたい

48: 名無し@webensoku 2017/09/05(火) 20:37:19.18 ID:IzJg1Ieg
>>46
なぜか書いてくれよ。参考にならないじゃん

47: 名無し@webensoku 2017/09/05(火) 20:31:46.17 ID:tGZItEUD
PostgreSQL
MySQLはオラクルがやる気なし

49: 名無し@webensoku 2017/09/05(火) 20:38:39.15 ID:ZhI76nBF
BerkeleyDB

72: 名無し@webensoku 2017/09/05(火) 21:43:08.21 ID:yoqIV41x
>>49
それもオラクル

51: 名無し@webensoku 2017/09/05(火) 20:46:24.57 ID:cOephZpV
まあ、最近はデータベース乗り換えにもさほど困らんから、好きなの使えよ。

52: 名無し@webensoku 2017/09/05(火) 20:47:32.41 ID:jt8g2ZWy
MS系だと今でもSQLServerってあるんかなぁ…ロクでもないロック戦略で泣く。

53: 名無し@webensoku 2017/09/05(火) 20:51:27.57 ID:yczgPvVB
GoogleもMaria使ってるんだろ?

56: 名無し@webensoku 2017/09/05(火) 21:00:23.86 ID:3MjfThCY
phpMyAdminとphpPgAdminのできの良さで比較すると圧倒的に前者なんだよなぁ。
WebGUIなんて使うの?ププなんて思うかもしれないが、
改良が進むということはそれだけ使う人が多いということだし。

62: 名無し@webensoku 2017/09/05(火) 21:16:10.38 ID:tTJLF31d
>>56
参考になる

67: 名無し@webensoku 2017/09/05(火) 21:28:01.01 ID:Ahn4DshP
>>56
Webサーバを立てると、phpMyAdminの管理ページへのアクセスログがよくある。
サーバ攻撃のいいターゲットになってるな。

57: 名無し@webensoku 2017/09/05(火) 21:02:49.95 ID:xR0ojJ1U
H2ですよ、奥さん!

58: 名無し@webensoku 2017/09/05(火) 21:03:33.78 ID:xR0ojJ1U
そういえばmariaになったんだな
すっかり忘れてた

59: 名無し@webensoku 2017/09/05(火) 21:11:45.00 ID:+YsbL9If
access 一択だろw

60: 名無し@webensoku 2017/09/05(火) 21:11:48.14 ID:qP6+aUih
RDBも残るんだろうけど、最近はKVS型のDB使うことが増えてきた。
クラウドでDynamoDB使いまくりですよん。

61: 名無し@webensoku 2017/09/05(火) 21:15:42.70 ID:dHHd6buh
Firebirdは?

63: 名無し@webensoku 2017/09/05(火) 21:21:43.00 ID:ig5YBxgY
SQLiteでしょ

65: 名無し@webensoku 2017/09/05(火) 21:25:32.98 ID:XApqmS2X
Olacleがなぁ

68: 名無し@webensoku 2017/09/05(火) 21:30:43.02 ID:Dd1nG7M3
SQLSERVERじゃないとやだ!

69: 名無し@webensoku 2017/09/05(火) 21:37:19.02 ID:J+tecG33
正直vacuumを差し引いてもmysqlはちょっと低能すぎんですよ
消しても容量回復しないDBはビックデータ格納には向いてなさすぎる

71: 名無し@webensoku 2017/09/05(火) 21:39:36.48 ID:2S0klu6j
> PostgreSQLとMySQL、使うならどっち?

よし...MySQLにする...いややっぱり、Firebirdにするは。

73: 名無し@webensoku 2017/09/05(火) 21:45:05.98 ID:Reo0+vwd
sqliteで大概十分だわ

74: 名無し@webensoku 2017/09/05(火) 21:50:52.49 ID:2RL5Wu67
MariaDBってのは最近知ったわ。CentOSにMySQLを入れようとしたら、MariaDBのライブラリと競合するって怒られたのよ。

75: 名無し@webensoku 2017/09/05(火) 21:52:52.31 ID:XqNj2DVS
なんだよ、みんなHiRDB無視すんなよ

92: 名無し@webensoku 2017/09/05(火) 22:57:19.12 ID:XVV3QxmB
>>75
トラウマしかない

76: 名無し@webensoku 2017/09/05(火) 21:55:26.40 ID:mgsAa35L
mariaの最新なんだっけ。12?
かなり弱点なくてお勧め。

mysqlのcurrentなんかもうしらん。

77: 名無し@webensoku 2017/09/05(火) 21:59:04.35 ID:n7yY5dQQ
6億レコードぐらい入れたいんだけど
どれがいいかな?

91: 名無し@webensoku 2017/09/05(火) 22:44:15.16 ID:LpwUNo+m
>>77
mongoDB

78: 名無し@webensoku 2017/09/05(火) 22:06:34.74 ID:9Lj/ToOZ
>ただこれも前述のようにMySQLの分析機能が徐々に充実してきているため、将来的に差は少なくなってくるでしょう。
>とはいえ、バージョンが上がるごとにPostgreSQLもMySQLも高性能になってきているので、結局は使いたい方を使えばいいんじゃないでしょうか。
>―― 最後はとても平和的な結論になりましたね。今回はどうもありがとうございました!

無意味な対談記事だなw

80: 名無し@webensoku 2017/09/05(火) 22:14:00.44 ID:87WSiw3C
ORACLE使おう

81: 名無し@webensoku 2017/09/05(火) 22:14:09.76 ID:G/2iw61f
どっちも使う

82: 名無し@webensoku 2017/09/05(火) 22:15:08.92 ID:q41gWK/y
大体の用途はSQLiteで十分
仕事で使うなら客の基盤チームが好きなやつ

85: 名無し@webensoku 2017/09/05(火) 22:19:03.09 ID:n7yY5dQQ
間違えた
60億レコードぐらい入れたいんだけど
どのDB使えばええやろ?

86: 名無し@webensoku 2017/09/05(火) 22:19:43.44 ID:8+bppnqA
Oracleの息のかかったMySQLとかもはや敬遠されてるだろ。今はPostgreSQLかMariaDB

87: 名無し@webensoku 2017/09/05(火) 22:19:54.01 ID:OuzDMvXt
いつかはクラウン
いつかは「Symfoware」

88: 名無し@webensoku 2017/09/05(火) 22:25:39.46 ID:z7dyYz3Q
WINDOWSはCALがなぁ

89: 名無し@webensoku 2017/09/05(火) 22:25:46.76 ID:OuzDMvXt
マイクロソフト信者の僕らはエクセルでVBAでADOするです

90: 名無し@webensoku 2017/09/05(火) 22:39:22.57 ID:qM4cCskl
長いことMySQLでスキーマレスな運用してたけど、
ここのところ5年はMongoDBばかり使ってる

あれ便利すぎて他が辛くなる

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

ヘッドライン(RSS)