ビジネス向け PostgreSQL か MySQL か:新規プロジェクトで何を選ぶか
PostgreSQL と MySQL は Web プロジェクトで最も使われるリレーショナルデータベースの2つです。選択は開発開始時に行われ、ホスティング費用、開発者確保のしやすさ、分析機能、2-3年後の移行コストに影響します。経営者にとってこれは「技術的な細部」ではなく「Excel か CRM か」レベルの判断です。要件定義でのミスは、契約前に業者と1時間話すより高くつきます。
- MySQL - WordPress、PHP ホスティング、典型的な EC サイトの標準
- PostgreSQL - Django、SaaS、複雑な分析、厳格なデータルール向けに選ばれがち
- どちらも SQL データベース:注文、顧客、商品は関連テーブルに保存
- 主な基準 - 「どちらが流行っているか」ではなく、プロジェクトのスタック、ホスティング予算、成長計画
- 後から DB 変更 - 可能だが $3,000 - $30,000+ と 2-8 週間の作業
- リスク - シンプルな LP に PostgreSQL「将来のため」、複雑なプラットフォームに MySQL
PostgreSQL と MySQL を平易に
MySQL と PostgreSQL はサーバー上のプログラムで、テーブルに業務データを保存します:顧客、注文、商品、請求、ログ。サイトと CRM は HTML ファイルに書き込むのではなく、SQL コマンドを送り、DB が行と数値を返します。
両システム共通:
- 適切な設定で数百万レコードに対応;
.sqlファイルでのバックアップ;- PHP、Python、Node.js やモダン FW と連携;
- 専用ホスティングまたは VPS が必要 - 「FTP のフォルダ」ではない。
MySQL は共用ホスティングと CMS で主流:WordPress、OpenCart、Bitrix、Laravel は MySQL 付きが多い。注文とユーザーの保存場所は MySQL を平易に を参照。
PostgreSQL は VPS やクラウドに多く、Django/Python や SaaS アーキテクチャのデフォルト推奨。データ整合性、JSON、地理データ、全文検索、複雑レポートに強い。
| 基準 | MySQL | PostgreSQL |
|---|---|---|
| 典型スタック | WordPress、PHP、Bitrix、OpenCart | Django、FastAPI、Ruby on Rails、エンタープライズ |
| ホスティング | $3/月〜のプランでほぼ利用可 | VPS/クラウド $10-20/月〜が多い |
| 開発者の参入障壁 | 低い、人材が多い | やや高い、Python スタックなら十分 |
| データ整合性 | 柔軟、単純スキーマで高速 | 厳格:「静かな」エラーが少ない |
| JSON と可変フィールド | 可(v8 以降) | 標準でより強力 |
| 分析とレポート | typical 用途に十分 | 複雑 JOIN とウィンドウ関数に有利 |
| ライセンス | オープンソース(Oracle)/ MariaDB | オープンソース(PostgreSQL License) |
MySQL を選ぶとき
典型的な Web の範囲に収まるなら MySQL が妥当:
WordPress、WooCommerce、Bitrix、OpenCart
CMS とショップエンジンは MySQL 向け。ワンクリック WordPress インストールのホスティングはほぼ MySQL または MariaDB。
インフラ予算が限られる
共用ホスティングでは MySQL 込み。PostgreSQL は VPS、マネージド DB、クラウドが必要なことが多く +$10-50/月。
PHP チームと業者
PHP 開発者は MySQL が主流。業者変更時の意外が少ない。
単純なデータスキーマ
5 万 SKU までのカタログ、注文、ユーザー、ブログ、フォーム - MySQL で数年持つ。
「MySQL で足りる」サイン:
- PHP と WordPress のサイト;
- DB 内の複雑分析不要;
- ホスティング $30-50/月以下;
- 1 年以内の Django 移行 予定なし。
PostgreSQL を選ぶとき
データが プロダクトの中核のとき:
Python/Django のカスタムプラットフォーム
Django は PostgreSQL を推奨。ORM、マイグレーション、全文検索、JSONField、PostGIS - PostgreSQL の方が適する。
複雑な業務ロジックと厳格ルール
複数倉庫、多通貨、複雑割引、承認フロー、監査ログ - PostgreSQL は整合性をより厳格に。
分析、レポート、DB 内 BI
「18 ヶ月・地域別・返品込み粗利」を毎週 Excel なしで - 複雑 SQL には PostgreSQL が向く。
JSON、連携、イベントログ
SaaS、API ファースト、可変商品属性 - 半構造化データは PostgreSQL が得意。
スケール計画と複数サービス
マイクロサービス、レポート用 read レプリカ - 成長アーキテクチャで PostgreSQL が選ばれやすい。
「PostgreSQL が必要」サイン:
- Django、FastAPI、Rails のカスタム開発;
- 既製 CMS なしの EC / B2B ポータル;
- 監査、ロール、複雑な関連;
- 5 年以上のプロダクト計画。
ビジネスシナリオ別比較
| シナリオ | 推奨 | 理由 |
|---|---|---|
| WordPress コーポレート | MySQL / MariaDB | CMS 標準、安いホスティング |
| OpenCart / Bitrix 店 | MySQL | 互換、プラグイン |
| Django SaaS MVP | PostgreSQL | スタック、JSON、スケール |
| カスタムロジック marketplace | PostgreSQL | 関連、トランザクション |
| LP + Zapier CRM | CRM の DB | サイトに DB 不要のことも |
| WP から Python へ | PostgreSQL | スタック変更 と整合 |
経営者向けルール: 「どのスタックをなぜ推すか」を聞く。「ネットでどちらが良いか」ではない。
ホスティング、コスト、運用
MySQL
- 共用 - 多くは $3-15/月、phpMyAdmin 付き;
- VPS - MySQL 無料、サーバー $5-40/月;
- マネージド MySQL - $15/月〜。
PostgreSQL
- 共用 - 稀;
- VPS 自前 - $10-40/月;
- マネージド PostgreSQL - $15-25/月〜。
隠れコストはチーム時間:索引ミス、バックアップなし、全プロジェクト同一パスワード。両方で同様に危険。
開始前に業者へ聞くこと
- FW と CMS は? WordPress → MySQL。Django → PostgreSQL。
- DB はどこに? バックアップ担当は?
- 移行計画 - 既存 Excel や旧 DB がある場合。
- バージョン - MySQL 8+、MariaDB 10.6+、PostgreSQL 15+。
- 2 年後に DB 変更可能? - 「可能だが高い」の方が誠実。
技術仕様に1行:「DBMS: managed DigitalOcean 上 PostgreSQL 16」または「MySQL 8、WordPress 6.x 互換」。
まとめ:実用的な決定フロー
WordPress / PHP / 既製 CMS → MySQL(または MariaDB)
Django / FastAPI / カスタム SaaS → PostgreSQL
スタック不明、<$20/月 → 実績あるホスティングの MySQL
複雑データ、長期プロダクト → PostgreSQL
MySQL - 人気 CMS の典型サイト・店舗向け。PostgreSQL - DB が競争力のプロダクト向け。
6 ヶ月開発契約の前に決める。ローンチ後の DBMS 変更は常に別プロジェクト。
よくある質問
後から MySQL から PostgreSQL に移行できる?
はい、ただし移行プロジェクト。 予算 $3,000 - $30,000+、2-8 週間。1 年以内に Django なら最初から PostgreSQL が合理的。
WordPress と Laravel のデフォルトは?
WordPress - MySQL または MariaDB。Laravel - MySQL、PostgreSQL、SQLite、SQL Server 対応、チームが選択。安い共用は MySQL、VPS の API/SaaS は PostgreSQL が増加。
複雑な分析に PostgreSQL は必須?
必須ではないが便利。 MySQL、BI、Python pandas でも可。重い分析がトランザクションと同一 DB なら PostgreSQL が有利。
PostgreSQL と MySQL のホスティング費用差は?
MySQL 共用 $0-15/月。PostgreSQL マネージド $15-40/月。年 $100-300 の差 - 開発費比では小さいが名刺サイトでは目立つ。WordPress MVP は MySQL が経済的。
チームが MySQL しか知らない場合は?
WordPress / PHP なら問題なし。 Django/SaaS は PostgreSQL 経験か、研修とマネージドホスティングの予算を。能力の正直な評価が重要。