Ruby開発に向いているデータベースについて

現在、Rubyでの個人開発を始めようとしています。

Ruby開発で採用されているデータベースはPostgreSQLが多いように感じますが、MySQLでなくPostgreSQLを採用するメリット・デメリットについて詳しい方いらっしゃいましたらご教示いただけますでしょうか?
1年前
view数 65

    回答を投稿して企業にアピールしましょう!

    Q&Aで投稿された回答は、
    企業側に表示されるプロフィールにも投稿履歴として表示されます。

    Offersにログイン・新規登録して、気になるテーマやトピックを話してみよう!

    \回答があります!/

    • 横江 亮佑

      エンジニア

      1年前

      PostgreSQLが多いということもなく、
      MySQLもよく使われているイメージがありますね。

      ただ、 Heroku ( https://jp.heroku.com ) や render ( https://render.com ) では
      PostgreSQLが標準搭載されているので、
      それらのプラットフォームで個人開発をおこなうのであればPostgreSQLという選択になってくるかと思います。

      MySQLのほうが `SHOW CREATE TABLE` などわかりやすいクエリが多く、その点は
      PostgreSQLよりもいいと思います。(比較表: https://qiita.com/aosho235/items/c657e2fcd15fa0647471

      一方、TEXT型の扱いはMySQLのほうがちょっと扱いづらくて、
      個人的にはPostgreSQLのほうがちょっと好きかな、と思っています。

      結論としては、MySQL と PostgreSQL、どっちを使ってもいいと思います!
      どっちかを選んだから大きな後悔をする、ということは全くありません! ご安心ください。
      view数 31
      • 1
      • 1
    • 北山 淳也

      エンジニア

      1年前

      横江さんも書いているように Heroku や render で標準搭載されているのが PostgreSQL だからというのは理由として少なくないのではないでしょうか。

      また、MySQL と PostgreSQL には互換性が一定ありますのでどっちかを選んだから大きな後悔をする、ということは全くないはずということにも同意見です。やろうと思えば後から変えることも十分に可能な範囲と思います。
      少なくとも ActiveRecord でサポートしているRDBであればかなり簡易に差し替えができるはずです。

      MySQLを選定する / PosgreSQLを選定する という行為を専門的に実施するならば
      Row Level Security の有無や Join Operator の差による JOIN パフォーマンスの影響、
      Optimizer の実装の差によるトランザクション処理の大きさによるパフォーマンス影響なんかが選定基準になってきたりはしますが、そのあたりの知見が必要になるまでは「どっちでも大丈夫!」ぐらいの気持ちでイケルはずです。
      view数 18