🛢️
【DB】DBMSの選び方をざっくりまとめる
はじめに
データベースを使用する場合、どのDBMSを使用すべきか悩んだため、自分なりにまとめてみました。
なお、著者はDB初心者です。内容に誤りなどがあればご指摘ください。
種類
リレーショナルデータベース
- テーブル、レコードでデータを管理する
- SQL文を利用してデータを操作する
メリット
- 整合性を持ったデータ管理ができる
- SQLを利用して複雑な条件での検索などができる
デメリット
- 複数のサーバーへのデータを分散させることが難しい
- 画像やテキストなどの非構造化データを効率的に扱うのが難しい
NoSQL
-
非リレーショナルデータベース
- SQLとかを使わない
- ドキュメント型、グラフ型とか色んな種類がある
メリット
- 非構造化データを扱える
- 大規模なデータに対応できる
- データ構造を自由に変えることができる
デメリット
- 整合性がない
- 複雑な検索が難しい
DBMS一覧
Oracle DB
- 商用のDBMS
- PL/SQLという手続き型言語で、ifとかforを使える
MySQL
- 無料のオープンソースRDBMS
- 機能は少なめだけど、軽量で扱いやすい
- 読み取り専用操作などが可能
PostgreSQL
- 無料オープンソースのオブジェクトリレーショナルデータベース
- ACIDコンプライアンスをサポート
SQLite
- サーバーを使用しない、ローカルのみの無料DBMS
- モバイルアプリでのデータベース管理などで利用できる
MongoDB
- NoSQLデータベース
- ドキュメント指向データベース
選び方
軽く調べて、自分で勝手に決めた結果、以下のようになりました。
他にも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
Discussion