はじめに

RDBMS の種類

PostgreSQL / MySQL / SQLite / SQL Server / Oracle を横断比較し、選び方まで示す。

RDBMS の種類 diagram

なぜ複数の RDBMS が存在するのか

SQL という共通語を話す RDBMS ですが、実装は複数存在します。歴史的経緯(商用 DB と OSS)、運用形態(組み込み・サーバ・クラウド)、想定規模、ライセンス形態によって棲み分けが生まれました。基本 SQL は共通でも、型・関数・LIMIT 記法・ロック動作などは製品ごとに差異(方言)があるため、扱う製品の癖を押さえることが実務では重要になります。

5 RDBMS 横断比較

観点PostgreSQLMySQLSQLiteSQL ServerOracle
ライセンスPostgreSQL License(OSS)GPL / 商用デュアルパブリックドメイン商用(無償版 Express あり)商用(無償版 XE あり)
運用形態サーバ・マネージド(RDS / Cloud SQL / Supabase 等)サーバ・マネージド(RDS / Aurora / Cloud SQL)組み込み(ファイル 1 つ)サーバ・Azure SQL / Managed Instanceサーバ・Oracle Cloud / Exadata
想定規模中〜大規模、分析系にも強い中〜大規模、Web 系に広く普及小規模・組み込み・アプリ内蔵中〜大規模、Windows / .NET 連携大規模エンタープライズ
標準 SQL 準拠度非常に高い比較的高い(モードによる)コアは準拠、細部で独特高い(T-SQL 拡張多数)高い(PL/SQL 拡張豊富)
強みJSON / 配列 / 全文 / GIS / ウィンドウ関数が充実レプリケーションとエコシステムゼロ設定・ポータブルT-SQL / SSMS / BI 連携PL/SQL / パーティション / RAC
よく使われる場面SaaS / 解析 / 地図 / 学術Web アプリ / CMS / ECモバイル / デスクトップ / 設定保存業務システム / BI / Windows 系基幹業務 / 金融 / 大規模 ERP
代表的なクライアントpsql / pgAdmin / DBeavermysql / MySQL Workbench / DBeaversqlite3 / DB Browser for SQLiteSSMS / Azure Data StudioSQL Developer / SQL*Plus
方言の例RETURNING / ILIKE / ON CONFLICTAUTO_INCREMENT / LIMIT m, n / JSON_EXTRACT型アフィニティ / STRICT モードTOP n / OFFSET ... FETCH / OUTPUTSEQUENCE / DUAL / MERGE / CONNECT BY

MariaDB は MySQL からフォークされた OSS RDBMS で、基本型・SQL 構文・AUTO_INCREMENT など大半は MySQL と互換のため本サイトでは原則として MySQL 列の内容が当てはまります。ただし MariaDB は SEQUENCE / ネイティブ UUID 型(10.7+)をサポートし、JSON は LONGTEXT エイリアス扱いになるなど細部で差があります。

どれを選ぶか — Yes/No チャート

どれを選ぶか — Yes/No チャート diagram

上のチャートを Q1 から順に Yes/No で進むと、用途に合った RDBMS に辿り着きます。Q1〜Q3(組み込み / Microsoft 系 / 商用保守)は要件がほぼ一意に決まる分岐、Q4〜Q5 は PostgreSQL と MySQL(MariaDB)で迷う層向けの切り分けです。

  • Q4: WordPress / EC / 共有ホスティング前提 → MySQL 系が前提のエコシステム(WooCommerce・XServer 等)ならそのまま MySQL/MariaDB
  • Q5: 運用シンプルさとツール選好を優先 → MySQL Workbench / Sequel Ace / TablePlus などが肌に合い、JSONB や GIS、拡張機能より慣れや手数の少なさを重視するなら MySQL/MariaDB
  • どれも NoPostgreSQL。標準 SQL への準拠度が高く、JSONB / 全文検索 / PostGIS / pgvector / CTE / ウィンドウ関数など機能の広さで最有力。マネージド(RDS / Supabase / Neon 等)も充実

方言差のチートシートは RDBMS 方言早見表、各 RDBMS の型マッピングは データ型マッピング早見表 を参照してください。