MySQL (1995年)(マイエスキューエル)
MySQL は1995年スウェーデン Monty Widenius (Michael Widenius・MySQL AB 創業) ・David Axmark が開発したオープンソースRDBMS でLAMP スタック (Linux/Apache/MySQL/PHP) の中核・WordPress (2003年) ・Facebook (2004-2013年) ・Twitter (2008-2010年) の主要DB で世界中のWeb サイトの過半数で採用された MySQL→MariaDB (2009年フォーク) で継続する世界最普及DB の1つ。
MySQL (1995年)
概要
MySQL は1995年5月23日スウェーデン Monty Widenius (Michael Widenius・1962-・MySQL AB 創業・後MariaDB 設立 2009年) ・David Axmark・Allan Larsson が開発したオープンソースRDBMS で MySQL AB (1995年スウェーデン) ・Sun Microsystems 買収 (2008年1月$1B) ・Oracle 買収 (2010年Sun 買収) ・LAMP スタック (Linux/Apache/MySQL/PHP) の中核・WordPress (2003年MattMullenweg)・Facebook (2004-2013年・後独自分散DB MyRocks 移行) ・Twitter (2008-2010年・後Scala 移行) ・Wikipedia (2001年-)・YouTube (2005-2007年初期・後Vitess 開発)・Booking.com の主要DB で世界中のWeb サイトの過半数で採用された。InnoDB エンジン (1996年-・ACID 完全準拠・MySQL 5.5 2010年標準化) ・MyISAM エンジン (旧標準・トランザクション非対応)・MySQL 8.0 (2018年・JSON/Window Function 等)・MySQL HeatWave (2020年Oracle Cloud)・MariaDB 11.5 (2024年MySQL フォーク)・現代最も普及したDB の1つ (DB-Engines 2024年Rank 2)。
主な特徴・仕組み
- 発表: 1995年5月23日Monty Widenius
- 元代名: 「My」=Widenius の娘 (My Widenius) ・「SQL」=Structured Query Language
- 対応OS: 全主要Unix・Linux・Windows・Mac・BSD
- ライセンス: GPL v2 (オープンソース) +商用 (Oracle MySQL Enterprise)
- クエリ言語: SQL
- 特徴: 軽量・高速 (Web 用途最適)・複数Storage Engine (InnoDB/MyISAM/MEMORY)
- 主要バージョン: 1.0 (1995年・社内のみ)・3.23 (2001年・ACID 対応開始)・4.0 (2003年・UNION/Cluster)・5.0 (2005年・Stored Procedure/Trigger)・5.7 (2015年・JSON)・8.0 (2018年・Window Function/CTE 等の現代SQL 機能)
- マスコット: Sakila (海豚・MySQL ロゴ)
Monty Widenius と MySQL AB の物語
スウェーデン発の OSS DB:
- 1962年生まれ: フィンランド・スウェーデン国籍
- 1979年BASIC プログラミング開始: 17歳
- 1995年MySQL 開発開始: スウェーデン・Tcx DataKonsult AB (後MySQL AB 改名)
- 2008年1月Sun Microsystems 買収 ($1B): Sun のオープンソース戦略の一環
- 2010年Oracle Sun 買収 ($7.4B): MySQL も Oracle 傘下
- 2009年MariaDB フォーク: Monty Widenius が Oracle 買収を懸念・MySQL のフォーク MariaDB 設立・「My」(娘) と並ぶ次女「Maria」命名・後継Foundation の Monty Program AB
LAMP スタック (1998年-)
Web 開発の黄金スタック:
- L (Linux 1991年): OS
- A (Apache 1995年): Web サーバ
- M (MySQL 1995年): DB
- P (PHP 1995年Rasmus Lerdorf・Perl 後継・Web スクリプト)
- 意義: 全コンポーネントオープンソース・無償でWeb サイト構築可能
- 採用: 1998-2010年Web 開発のデファクト・WordPress (2003年)・Drupal (2001年)・Joomla (2005年) 等のCMS が LAMP ベース
- 後継: LEMP (Nginx 代替) ・MEAN (MongoDB/Express/Angular/Node.js)・MERN (React)・JAMstack (JavaScript/APIs/Markup)・現代多様化
WordPress と MySQL (2003年-)
Web の主流CMS:
- WordPress (2003年5月Matt Mullenweg): MySQL ベースCMS・現代Web サイトの43%採用 (2024年W3Techs)
- MySQL 必須: WordPress は MySQL/MariaDB 専用設計
- 採用: BBC・New York Times・TechCrunch・The White House (一時期)・全世界数億サイト
- 後継: WordPress.com (Automattic 商用)・WordPress.org (オープンソース)・現代もMySQL 中核
Facebook と MySQL (2004-2013年)
歴史的な大規模利用:
- 2004年Facebook 設立 (Mark Zuckerberg・Harvard): 初期DB は MySQL
- 2008年Facebook ユーザー数1億: MySQL シャーディング (分散) で大規模化
- 2013年MyRocks 開発開始: MySQL+RocksDB (Facebook 独自KV ストア)・MySQL の限界を独自拡張で克服
- 2013年Facebook MySQL → MyRocks 移行: 性能・コスト改善・但しMySQL ベース継続
InnoDB vs MyISAM
MySQL 2大Storage Engine:
- MyISAM (1996-2010年標準): 軽量・読込高速・トランザクション非対応・全文検索 (FULLTEXT) 対応
- InnoDB (1996年Heikki Tuuri・2000年Oracle 買収): ACID 完全準拠・トランザクション・外部キー・行ロック
- 2010年MySQL 5.5: InnoDB デフォルト化 (MyISAM から移行)
- 後継: 2024年現代MySQL の99%+ がInnoDB 利用
Oracle 買収 (2010年Sun 経由)
MySQL の運命:
- 2008年1月Sun MySQL AB 買収 ($1B): オープンソース戦略
- 2010年1月Oracle Sun 買収 ($7.4B): MySQL も Oracle 傘下
- 2009年MariaDB フォーク (Monty Widenius): Oracle の MySQL 縮小・有料化を懸念
- 2010-2024年Oracle MySQL 戦略: Community Edition (無償・GPL) + Enterprise Edition (商用)・並走
- 後継: 2020年MySQL HeatWave (Oracle Cloud・Snowflake/Redshift 競合)
MariaDB (2009年-) MySQL のフォーク
完全オープンソース後継:
- 2009年Monty Widenius がMySQL フォーク: MariaDB 設立・「My」(MySQL)+「Maria」(次女)
- 特徴: MySQL と100% 互換+独自機能 (Galera Cluster・MyRocks)
- 採用: Wikipedia (2012年MySQL→MariaDB 移行)・Google (2013年Google Cloud SQL でMariaDB 採用)・Red Hat Enterprise Linux (RHEL 7 2014年デフォルトDB)・全主要Linux ディストリ
- 2024年MariaDB 11.5: 最新版・MySQL 8.0 と互換+独自機能
採用システム (1995-2024年)
- Web CMS: WordPress (43% Webサイト)・Drupal・Joomla・全主要オープンソースCMS
- 大手企業: Facebook (2004-2013年MySQL+MyRocks)・Twitter (2008-2010年)・YouTube (2005-2007年)・Wikipedia (2001-2012年MySQL・2012年-MariaDB)・Booking.com・PayPal・GitHub (一部)
- クラウド: AWS RDS for MySQL・Aurora MySQL (2014年-)・Google Cloud SQL・Microsoft Azure MySQL・PlanetScale (2018年-Vitess ベース)
- スタートアップ: 多くのSaaS で MySQL/MariaDB 利用
- 教育: 大学・初心者向けSQL 教育の主流
関連技術との違い
| 項目 | PostgreSQL (1986) | MySQL (1995) | MariaDB (2009) | SQLite (2000) |
|---|---|---|---|---|
| 開発元 | UC Berkeley→Global Dev Group | MySQL AB→Sun→Oracle | MariaDB Foundation | D. Richard Hipp |
| ライセンス | PostgreSQL License (BSD 風) | GPL+商用 | GPL (完全OSS) | Public Domain |
| 用途 | 複雑クエリ・分析・GIS・AI | Web (LAMP) ・WordPress・大量CRUD | MySQL 後継・大手企業 | 組込み・モバイル |
| ACID | あり (完全) | **あり (InnoDB のみ) ** | あり | あり |
| JSON | JSONB (2014年・先行) | **あり (5.7 2015年) ** | あり (10.2 2017年) | あり (3.45 2024年) |
| シェア (2024 DB-Engines) | 4位 (急成長) | 2位 | 8位 | 9位 |
よくある質問 (FAQ)
Q1: MySQL と MariaDB どちらが推奨か? A: 用途次第。MySQL: Oracle 公式サポート・MySQL HeatWave (Cloud)・既存システム保守。MariaDB: 完全オープンソース・Galera Cluster (高可用性) ・MyRocks・Red Hat Enterprise Linux 標準・新規プロジェクトでオープンソース重視。両者95% 互換・実用差は限定的・新規はMariaDB or PostgreSQL 推奨。
Q2: なぜFacebook が MySQL を選んだか? A: (1) 2004年LAMP スタックがWeb 開発の標準・(2) 無償・オープンソースでスタートアップ予算で利用可能・(3) シンプル CRUD でユーザー データ管理可能・(4) MySQL のシャーディングで水平スケーリング可能・(5) PHP との相性・全要因で「2004年MySQL 選択は当時のベストプラクティス」評価。後MyRocks (2013年-) でMySQL の限界を独自拡張で克服。
Q3: 現代でMySQL 学ぶ価値は? A: 大いにあり。(1) Web サイトの43% (WordPress) がMySQL・(2) Backend Engineer 必須スキル・(3) 全主要クラウド (AWS RDS・Google Cloud SQL・Azure MySQL) で標準・(4) MariaDB 互換でオープンソース重視も対応・(5) DB-Engines 2024年Rank 2・PostgreSQL と並ぶ主流DB・新卒/転職市場で必須DB スキル。
まとめ
- 1995年Sweden Monty Widenius 開発
- オープンソースRDBMS
- LAMP スタックの中核 (Linux/Apache/MySQL/PHP)
- WordPress/Facebook/Twitter で主要採用
- 2009年MariaDB フォーク継続