🛢️

【DB】DBMSの選び方をざっくりまとめる

2025/01/30に公開

はじめに

データベースを使用する場合、どのDBMSを使用すべきか悩んだため、自分なりにまとめてみました。
なお、著者はDB初心者です。内容に誤りなどがあればご指摘ください。

種類

リレーショナルデータベース

  • テーブル、レコードでデータを管理する
  • SQL文を利用してデータを操作する

メリット

  • 整合性を持ったデータ管理ができる
  • SQLを利用して複雑な条件での検索などができる

デメリット

  • 複数のサーバーへのデータを分散させることが難しい
  • 画像やテキストなどの非構造化データを効率的に扱うのが難しい

NoSQL

  • 非リレーショナルデータベース
    • SQLとかを使わない
  • ドキュメント型、グラフ型とか色んな種類がある

メリット

  • 非構造化データを扱える
  • 大規模なデータに対応できる
  • データ構造を自由に変えることができる

デメリット

  • 整合性がない
  • 複雑な検索が難しい

DBMS一覧

Oracle DB

  • 商用のDBMS
  • PL/SQLという手続き型言語で、ifとかforを使える

https://www.oracle.com/jp/database/

MySQL

  • 無料のオープンソースRDBMS
  • 機能は少なめだけど、軽量で扱いやすい
  • 読み取り専用操作などが可能

https://www.mysql.com/jp/

PostgreSQL

  • 無料オープンソースのオブジェクトリレーショナルデータベース
  • ACIDコンプライアンスをサポート

https://www.postgresql.org/

SQLite

  • サーバーを使用しない、ローカルのみの無料DBMS
  • モバイルアプリでのデータベース管理などで利用できる

https://www.sqlite.org/

MongoDB

  • NoSQLデータベース
  • ドキュメント指向データベース

https://www.mongodb.com/ja-jp

選び方

軽く調べて、自分で勝手に決めた結果、以下のようになりました。
他にもDBMSは存在しますが、代表的なものを選択しました。

  • 個人利用:MySQL
  • 大規模、商用利用:PostgreSQL
  • 商用利用、資金がある、非手続き型:OracleDB
  • 大規模データ、非構造化データ:MongoDB
  • モバイルアプリなど:SQLite

さいごに

これらのDBMSを適材適所で使えるようになりましょう~

参考

https://smooz.cloud/news/column/six-database-management-systems/

https://atmarkit.itmedia.co.jp/ait/articles/1703/10/news015.html

https://qiita.com/Integrateio/items/f1e1e20fd96edbfe3412

https://kinsta.com/jp/blog/sqlite-vs-mysql/

Discussion