Laravel 10.xで使用できるデータベースは下記の通りです。
MariaDB 10.10+
MySQL 5.7+
PostgreSQL 11.0+
SQLite 3.8.8+
SQL Server 2017+
余談ですがLaravel-dynamodbっていうライブラリを使えば、Amazon DynamoDBを使うこともできるみたいです。難しそう。
(参考記事:Laravel-dynamodbで使ってdynamoDBに接続してみる)
Laravelで使用できる各データベースのメリット・デメリットは次の通りです。
(自分の知識と力量も合わせてまとめてみました😎)
MySQL
世界で最も多く使われているオープンソースRDBMS
《メリット》
個人的に使い慣れている(理解できている)
正直、これしか使ったことがない。初心者向け
①動作が早い
②オープンソース
③多くのOSで動作する
④多くのプログラミング言語が対応している
⑤無償および有償の2つの形態がある
《デメリット》
MySQLは古い
• PostgreSQLに比べて機能が劣る
• 無償版では機能やサポートに限界がある
• Amazon RDSに使用するには多少の料金が発生
PostgreSQL
MySQLと同じオープンソースのRDBMS。
日本では人気あり(読み方はポストぐれすキューエル)
《メリット》
個人的に名前は聞いたことがある程度で未知の領域。
MySQLよりも多くの機能を提供するオブジェクトリレーショナルデータベース管理システム(ORDMBS)
他のSQLデータベースよりも優れたデータの完全性と信頼性を提供
オープンソースで無償。
《デメリット》
• MySQLに比べてドキュメント不足
• 速度面では難あり
MariaDB
MySQLと同じオープンソースのRDBMS。MariaDBはMySQLの修正版
《メリット》
AWSにデフォルトで入っている
MySQLに比べてスケーラブルで、クエリも高速(大規模なデータを管理するのに適している)
シーケンスストレージエンジンや仮想列、1 つのテーブルで複数のエンジンの使用など、MySQLにはない機能がある。
MySQLは古い。MariaDBは新しい。
《デメリット》
ある程度の知識が必要
SQLite
開発者にとって非常に使いやすいデータベースエンジンのひとつ(読み方はエスキューライト)
《メリット》
小規模システムの開発向け
完全無料・圧倒的な通信速度・バックアップ一瞬
基本構造はMySQLと共通
簡単に導入できてセットアップが簡単、構成ファイルなどの設定も不要
Amazon RDSサーバレスで料金を気にせずに開発できる
《デメリット》
セキュリティ面(ユーザ権限がないので自由にアクセスできてしまう)
型のルールが甘い
ドキュメント少なめ
Microsoft SQL Server
Microsoft社の商用RDBMS
《メリット》
企業で利用されることが多いデータベース管理システムの1つ
Windows OSとの相性がよく、Windows Serverで利用されることが多い
《デメリット》
データベースは有償で使用し、ライセンス契約を結ぶ必要あり
以上、Laravel 10.xで使用できるデータベースのメリット・デメリットでした。
参考記事:
Laravel 10.x データベース:準備
MariaDB と MySQL の違いはなんですか?
MySQL と PostgreSQL の違いはなんですか?
【必読】小規模なシステム開発にSQLiteを使うべき5つの理由
AWSで爆安サーバレスRDBを構築する (個人開発向け)
SQL Serverとは?知っておきたい3つの特徴・メリット
参考書籍:
基礎からのMySQL