Web制作、Web開発の歩き方

サーバー、データベース、インフラに関するトピックス

■第2話:データベースの種類、選び方

(最終更新日:2022.05.15)

データベースのイメージ
この記事は3分で読めます!
(絵が小さい場合はスマホを横に)

「データベースってどれを使えばいい?」

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の比較表

RDBMSの比較表

▼参考図書、サイト

   PostgreSQL vs MySQL: その違いとは  logmi Tech
   RDBMSとNoSQLはどちらが速いのか?ゲーム開発におけるRDBの上手な使い方  logmi Tech
 「SQLの絵本第2版」 アンク 翔泳社