PostgreSQL (1986年)(ポストグレスキューエル)
PostgreSQL は1986年UC Berkeley Michael Stonebraker が Ingres (1974年) 後継「Post-Ingres」として開発・後Postgres95 (1995年SQL 対応)・PostgreSQL (1996年改名) のオープンソースRDBMS で MVCC・ACID・JSONB・Vector pgvector 採用し2024年Stack Overflow Survey で2年連続最多開発者採用 DB となった現代主流オープンソースRDBMS。
PostgreSQL (1986年)
概要
PostgreSQL は1986年UC Berkeley Michael Stonebraker (2014年Turing Award) が Ingres (1974年) 後継「Post-Ingres」として開発開始・1989年Postgres v1.0 (QUEL クエリ言語) ・1995年Postgres95 (Andrew Yu・Jolly Chen が QUEL→SQL 移植・UC Berkeley 学生プロジェクト) ・1996年PostgreSQL 6.0 改名 (PostgreSQL Global Development Group オープンソース化) のオープンソースRDBMS で MVCC (Multi-Version Concurrency Control・2000年版7.1)・ACID (Atomicity/Consistency/Isolation/Durability) 完全準拠・JSONB (Binary JSON・2014年版9.4・後継Document DB機能)・Vector pgvector (2021年・AI ベクトル検索・OpenAI 等のEmbedding 検索 DB) ・logical replication (論理レプリケーション・2017年版10)・Stored Procedure (PL/pgSQL・2003年版7.4 Oracle PL/SQL 類似) 採用し2024年Stack Overflow Survey で2年連続最多開発者採用 DB (49%・MySQL 40% 等を凌駕) となった現代主流オープンソースRDBMS。PostgreSQL 17 (2024年9月最新)。
主な特徴・仕組み
- 発表: 1986年UC Berkeley Postgres プロジェクト開始
- 正式版: Postgres v1.0 (1989年・QUEL)・Postgres95 (1995年・SQL 移行)・PostgreSQL 6.0 (1996年改名)
- 対応OS: 全主要Unix・Linux・Windows・Mac・BSD
- ライセンス: PostgreSQL License (BSD 風・無償・商用可)
- クエリ言語: SQL (1995年Postgres95 から・初期はQUEL)
- 特徴: ACID 完全準拠・MVCC・JSONB・Vector pgvector・拡張機能 (Extension) システム・GIS (PostGIS 2001年)・JSONB (NoSQL 機能)
- 主要バージョン: 6.0 (1996年・PostgreSQL 改名)・7.0 (2000年・MVCC)・8.0 (2005年・Windows 対応・Tablespace)・9.0 (2010年・Streaming Replication)・10 (2017年・Logical Replication)・15 (2022年・MERGE 文)・17 (2024年9月・Incremental Backup)
Postgres95 と PostgreSQL 改名 (1995-1996年)
オープンソース化の起点:
- 1994年Andrew Yu・Jolly Chen (UC Berkeley 学生): Postgres を改良 (QUEL→SQL 移植)
- 1995年5月Postgres95 リリース: 初の SQL 対応・無償公開
- 1996年7月Postgres95 v1.09 リリース後Stonebraker チーム解散: UC Berkeley プロジェクト終了
- 1996年8月Marc Fournier (カナダ) が「PostgreSQL」改名提案: 「Post」+「SQL」の組合せ
- 1996年12月PostgreSQL 6.0 リリース: PostgreSQL Global Development Group オープンソース化
- 以降: 完全コミュニティ主導・現代まで継続
Michael Stonebraker の貢献
データベース業界の重鎮:
- 1971年UC Berkeley 教授: 後MIT 教授 (2001年-)
- 1974年Ingres 開発: 世界初の本格RDBMS・UC Berkeley 学術プロジェクト
- 1980年Relational Technology Inc.: Ingres 商用化・Stonebraker 共同創業
- 1986年Postgres 開発開始: Ingres 後継・UC Berkeley
- 1995年Postgres から離脱: 学生プロジェクトに引継ぎ・後Andrew Yu/Jolly Chen がPostgres95 開発
- 2014年Turing Award: 「データベース業界での貢献」(Ingres・PostgreSQL・StreamBase・VoltDB・Vertica・Tamr 等の創業)
- 2024年現在: MIT 教授・Tamr (2014年-) CEO・現代DB 業界の重鎮
MVCC (Multi-Version Concurrency Control・2000年版7.1)
PostgreSQL の核心機能:
- 動作: 各トランザクションが独自のデータバージョンを参照・読み取りと書込みが互いをブロックしない
- 競合: Oracle 同等機能 (Read Consistency 1984年Oracle V4)・MySQL InnoDB (2001年-)
- メリット: 高同時実行性・読込性能優位・銀行業務向け
- 後継: 全現代RDBMS (PostgreSQL/Oracle/SQL Server/MySQL InnoDB) 標準
JSONB (Binary JSON・2014年版9.4)
NoSQL 機能の統合:
- 動作: JSON データを効率的なバイナリ形式で格納・SQL クエリ可能
- 競合: MongoDB (2009年-・NoSQL 主流)・並走
- メリット: SQL+NoSQL の Hybrid (両者の良い所取り)
- 採用: 多くの現代Web アプリ・PostgreSQL を NoSQL 代替として利用
- 後継: Oracle JSON (2014年Oracle 12c)・SQL Server JSON (2016年)・並走
pgvector (2021年AI ベクトル検索)
2021年Andrew Kane (オーストラリア) 開発:
- 動作: PostgreSQL で高次元ベクトル (Embedding) 検索・類似度検索
- 採用: OpenAI ChatGPT (2022年-) の RAG (Retrieval-Augmented Generation)・Anthropic Claude・Google Gemini 等の生成AI アプリ
- 競合: Pinecone (2021年・専用Vector DB)・Weaviate (2019年)・Chroma (2022年)
- メリット: PostgreSQL の既存システムに統合可能・別Vector DB 不要
- 後継: 2024年現代AI アプリの標準・PostgreSQL Vector DB 市場急成長
拡張機能 (Extension) システム
PostgreSQL の柔軟性:
- PostGIS (2001年-): 地理空間データ (GIS) 拡張・現代Geospatial DB のデファクト
- TimescaleDB (2017年-): 時系列データ拡張・IoT/監視用途
- Citus (2010年-): 分散PostgreSQL・水平スケーリング・後Microsoft 買収 (2019年Azure Cosmos DB)
- pgvector (2021年-): AI ベクトル検索
- pg_partman (2015年-): パーティション管理
- 後継: 300+ 拡張機能で多用途化
採用システム (1996-2024年)
- 大手企業: Apple (iCloud バックエンド)・Instagram (Web スタック)・Spotify・Skype (旧Microsoft)・Reddit
- 金融: Robinhood・Stripe・Plaid (Fintech 主流)
- スタートアップ: 大半のSaaS スタートアップ (Heroku/Render/Supabase デフォルトDB)
- クラウド: AWS RDS for PostgreSQL・Aurora PostgreSQL (2017年-)・Google Cloud SQL・Microsoft Azure PostgreSQL・Heroku PostgreSQL (2007年-)・Supabase (2020年-Firebase 競合)・Neon (2022年-Serverless PostgreSQL)・PlanetScale (2024年PostgreSQL 対応)
- AI: OpenAI ChatGPT RAG・Anthropic Claude・全AI 企業のEmbedding DB
- 教育: 大学・研究機関・SQL 教育の標準
関連技術との違い
| 項目 | Ingres (1974) | Oracle (1979) | PostgreSQL (1986) | MySQL (1995) |
|---|---|---|---|---|
| ライセンス | 商用 (Actian) | 商用 ($47,500/CPU) | **PostgreSQL License (BSD 風・無償) ** | GPL/商用 (Oracle) |
| ACID | あり | あり (Oracle 4以降) | **あり (完全準拠) ** | あり (InnoDB のみ) |
| MVCC | 限定 | あり | **あり (2000年版7.1) ** | あり (InnoDB) |
| JSON 対応 | 限定 | あり (12c 2013年) | **JSONB (2014年版9.4・先行) ** | あり (5.7 2015年) |
| Vector 検索 | なし | あり (23ai 2024年) | **pgvector (2021年・先行) ** | なし |
| Stack Overflow 採用率 (2024) | - | 11% | **49% (最多) ** | 40% |
よくある質問 (FAQ)
Q1: なぜPostgreSQL が2024年最多採用DB か? A: (1) 完全無償・オープンソースで企業/個人問わず採用容易・(2) ACID/MVCC で銀行業務級信頼性・(3) JSONB/Array/UUID 等の現代データ型サポート・(4) pgvector でAI 時代対応・(5) 拡張機能300+ で多用途・(6) クラウド全主要 (AWS/GCP/Azure) でマネージドサービス充実・(7) SaaS スタートアップのデフォルトDB (Heroku/Supabase/Neon)・全要因で「現代主流オープンソースRDBMS」確立。
Q2: PostgreSQL と MySQL どちらが推奨か? A: 用途次第。PostgreSQL: 複雑クエリ・トランザクション・地理空間/JSON/Vector・大規模分析。MySQL: シンプル CRUD・LAMP スタック (WordPress 等の Web)・大量読込・MariaDB 互換。新規プロジェクトはPostgreSQL 推奨 (2024年Stack Overflow 1位)・WordPress/レガシーシステムは MySQL 継続。
Q3: 現代でPostgreSQL 学ぶ価値は? A: 大いにあり。(1) 2024年Stack Overflow 最多採用DB・(2) Backend Engineer 必須スキル・(3) 全主要クラウド (AWS RDS/Aurora・Google Cloud SQL・Azure PostgreSQL) で標準・(4) PostgreSQL 開発者は高給職 (世界平均年収$100,000-$150,000)・(5) pgvector でAI 時代対応・(6) 拡張機能・PL/pgSQL で高度機能・新卒/転職市場で最重要DB スキル。
まとめ
- 1986年UC Berkeley Michael Stonebraker 開発
- Ingres 後継「Post-Ingres」
- 1996年PostgreSQL オープンソース化
- MVCC・ACID・JSONB・pgvector
- 2024年Stack Overflow 最多採用DB