リレーショナルデータベース

表とキーでデータを整理する『リレーショナルDB』とは何か。代表的な5つを種別・コスト・得意分野でくらべ、このサイトが PostgreSQL を選んだ理由まで。

この記事の要約

業務データのいちばん標準的な置き場が、表とキーで整理するリレーショナルDBです。代表 5 製品の土台は同じで、違いは種別・ライセンスと得意分野に出ます。

  • 読み書きは SQL という共通言語で行う
  • サーバ型 4 つと、アプリに同梱するファイル型 SQLite
  • このサイトは無料・万能・縛りの小ささで PostgreSQL 採用

なぜ違いが分かりにくいのか

Oracle・MySQL・PostgreSQL——名前は知っていても、違いを説明できる人は多くありません。業務システムの土台選びなのに、比べる軸が見えないからです。どこが同じで、どこで枝分かれするのか。まず 5 つの顔ぶれを種別ごとに眺めましょう。

Oracle
Oracle Database
SQL Server
Microsoft
PostgreSQL
★ このサイトの採用
MySQL
Web の定番
SQLite
1ファイルで完結

各ブロックや矢印をクリックすると、その仕組みの説明がここに表示されます。

この図をテキストで読む

構成図「代表的な5つのRDBMS — 種別で並べる」。ブロック5個、つながり0本。 枠: 商用(プロプライエタリ)(ブロック2個)、OSS・サーバー型(ブロック2個)、OSS・ファイル型(ブロック1個)。 【ブロック】 - Oracle: Oracle Database - SQL Server: Microsoft - PostgreSQL: ★ このサイトの採用 - MySQL: Web の定番 - SQLite: 1ファイルで完結

5つを7つの観点でくらべる(早見表)

各セルをクリックすると、その意味や詳しい説明がここに表示されます。

この図をテキストで読む

比較表。5列 × 7行。 【列】 1. Oracle(商用・最古参) 2. SQL Server(Microsoft 商用) 3. PostgreSQL(OSS・万能型 ★採用)〔おすすめ〕 4. MySQL(OSS・Web 定番) 5. SQLite(OSS・ファイル型) 【比較】(観点ごとに) ■ 種別・ライセンス - Oracle: 商用 / プロプライエタリ - SQL Server: 商用 / 一部無償版あり - PostgreSQL: OSS / 寛容ライセンス - MySQL: OSS / GPL/商用の二重 - SQLite: OSS / パブリックドメイン ■ コスト感 - Oracle: 高め / 5 つで最上位級 - SQL Server: 中〜高 / Oracle より手頃 - PostgreSQL: 無料 / ソフトは $0 / 運用/利用料のみ - MySQL: 無料 / コミュニティ版 / 商用サポートも有 - SQLite: 無料 / 完全無償 ■ アーキテクチャ - Oracle: サーバ型 / 大規模 HA も - SQL Server: サーバ型 / Windows/Linux - PostgreSQL: サーバ型 / 拡張で強化 - MySQL: サーバ型 / レプリカ容易 - SQLite: ファイル型 / サーバ無し / DB=1 ファイル ■ 得意・典型用途 - Oracle: 超大規模基幹系 / 金融・通信 - SQL Server: MS 系の企業システム / BI・社内系 - PostgreSQL: 汎用・新規開発全般 / 1 台で多用途 - MySQL: Web・CMS / Web の定番 - SQLite: アプリ内蔵・モバイル・試作 / ローカル/小規模 ■ 拡張性・機能の幅 - Oracle: 非常に広い / 多くは追加課金 - SQL Server: 広い / BI が強い - PostgreSQL: 最も広い部類 / 拡張で何でも / PostGIS/pgvector - MySQL: 標準的 / 8.0 で近代化 - SQLite: 軽量・必要十分 / 型は緩い ■ 標準 SQL・移植性 - Oracle: 独自方言が多い / ロックイン強 - SQL Server: 独自方言あり / MS 前提に寄る - PostgreSQL: 標準準拠が高い / 移しやすい - MySQL: 広く使われる / 情報量が多い - SQLite: ファイルごと可搬 / 用途は別物 ■ 向き・このサイトの見方 - Oracle: 既存 Oracle 資産・最高信頼 - SQL Server: Microsoft 中心の組織 - PostgreSQL: 迷ったらこれ(採用) / 無料・万能・中立 - MySQL: Web/CMS・既存資産 - SQLite: アプリ内蔵・試作 【観点】 - Oracle を見る: Oracle - SQL Server を見る: SQL Server - PostgreSQL を見る: PostgreSQL - MySQL を見る: MySQL - SQLite を見る: SQLite

順位ではなく適材適所。数値・条件は目安として最新を各公式で。

順位ではなく“適材適所”

5 つに絶対の優劣はなく、既存資産・スキル・要件で最適解は変わります。価格・機能・ライセンス条件は更新が頻繁なので、導入前に必ず各公式サイトで最新を確認してください。

押さえておきたい用語

RDBMS / リレーショナルデータベース
データを表(テーブル)に行と列で整理し、表どうしをキーで関連づけて管理するしくみ(とそのソフト)。
SQL
リレーショナルデータベースを読み書きする共通言語。製品ごとに方言はあるが、基本は標準として共通している。
この用語の解説を読む
テーブル / 行 / 列
データを入れる表と、その 1 件分(行=レコード)・項目(列=カラム)。リレーショナル DB の最小の入れ物。
主キー / 外部キー(リレーション)
各行を一意に識別するのが主キー、別の表の主キーを指して関連づけるのが外部キー。この“つながり”が名の由来。
トランザクション / ACID
複数の更新を「全部成功か、全部なかったことに」とまとめる単位。堅く守る性質を ACID と呼ぶ。
スキーマ
テーブルをまとめる名前空間(引き出し)。このサイトは自前テーブルを website スキーマに隔離している。
サーバ型 / ファイル型
DB サーバを立ててネットワーク越しに使う形と、アプリに同梱して 1 ファイルを直接開く『ファイル型』(SQLite 等。正式には組込み型)。

ここから先へ

この解説とつながりのあるページ

データベースの歩き方』の歩き方 2/6 歩目次は「NeonDB