サーバー、データベース、インフラに関するトピックス
■第2話:データベースの種類、選び方
(最終更新日:2022.05.15)

(絵が小さい場合はスマホを横に)
「データベースってどれを使えばいい?」
Web開発を始めたばかリだと、データベースにどんな種類があって、何を使って良いかわからない。
今回はそんなデータベースの種類と違い、選び方を説明する。
[目次]
1.データベースの種類
細かい機能や性能の差はあるものの、近年のデータベース(RDBMS)は有償、無償に関わらず高い性能を発揮する。
有償にはOracle、SQL Server(10GBまでは無料)、無償にはMySQL(有償版も有)、MariaDB、PostgreSQL、SQLiteがある。
個人的には、ローカルでの開発環境ではSQLite、本番環境(サーバー)ではMySQL(MariaDB)を使うことが多い。
SQLiteはファイル1つでデータベースを利用できる手軽さが便利である。ちなみにRailsやDjangoのインストール時のデータベース初期設定はSQLiteである。
MariaDBはMySQL WorkBenchというGUIツールの使いやすさが選定理由となっている。
会社で指定されているとかでなければ、本番環境はMySQL(MariaDB)、もしくはPostgreSQLを使えば良いと思う。
2.データベースの選び方
MySQL(MariaDB)とPostgreSQLどちらを選択するかということだが、個人的な見解を言えば、
複雑で大規模なことをやりたいならPostgreSQL、シンプルに使いやすさを重視したいならMySQLだろう。
加えて、最近はデータ取得を素早くやりたいというニーズも多い。
この場合は、NoSQL(MongoDBやDynamoDB等)を使用することも視野に入れよう。
複数件の同時リクエストがない場合は、NoSQLの方が4~7倍速いと言われている。
また、SQLiteもRDBMSほど複雑な処理ができない分、速いと言われている。ファイル形式のため、セットアップの時間もかからない。
セキュリティやデータの完全性、複雑なクエリが必要な場合はMySQLやPostgreSQL(RDBMS)、
手軽さ、速さ重視ならNoSQLかSQLiteと言ったところだろう。個人の開発環境、及び組み込み用途であればSQLiteが適している。
難しい設定も不要である。
RDBMSの比較表
▼参考図書、サイト
PostgreSQL vs MySQL: その違いとは
logmi Tech
RDBMSとNoSQLはどちらが速いのか?ゲーム開発におけるRDBの上手な使い方
logmi Tech
「SQLの絵本第2版」 アンク 翔泳社