MySQLの特徴 まいえすきゅーえるのとくちょう
MySQLInnoDBLAMPオープンソースWeb開発Oracle
MySQLの特徴について教えて
MySQLとは
MySQLとは、スウェーデンのMySQL ABが1995年に開発したオープンソースのリレーショナルデータベース管理システム(RDBMS)です。2008年にSun Microsystems、2010年にOracleが買収しました。GPLライセンス(Community Edition)と商用ライセンス(Enterprise Edition)のデュアルライセンスで提供されています。
MySQLの最大の特徴はシンプルさと高い読み取り性能です。LAMP(Linux・Apache・MySQL・PHP)スタックの一角として、2000年代のWebブームを支えました。WordPress・Drupal・Joomlaなど多くのCMSがデフォルトDBとしてMySQLを採用しており、世界で最も多くのWebサイトで使われているRDBと言われています。
MySQLのストレージエンジンは複数あり、デフォルトはInnoDB(ACID準拠・外部キー対応・行レベルロック)です。以前はMyISAM(シンプルだがACID非対応)が標準でしたが、MySQL 5.5(2010年)からInnoDBがデフォルトになりました。またMySQL 8.0(2018年)でウィンドウ関数・CTE・JSONサポートが強化され、モダンなSQLに対応しました。
MySQLの主な特徴
| 特徴 | 説明 |
|---|---|
| 高い読み取り性能 | 読み取り中心のWebアプリに最適。読み取りレプリカが使いやすい |
| デュアルライセンス | Community版(GPL)は無料・Enterprise版は有料サポート付き |
| InnoDBエンジン | ACID・外部キー・行レベルロック・MVCC対応 |
| レプリケーション | Master/Slave(Source/Replica)構成が容易 |
| クラウド対応 | Amazon RDS・Aurora・Google Cloud SQL・Azure DB等でマネージド提供 |
| MySQL Shell | 管理・自動化・JavaScript/Python対応のモダンCLI |
| JSONサポート | MySQL 5.7以降でJSONデータ型・JSON関数をサポート |
歴史と背景
- 1995年:MySQL 1.0リリース。スウェーデンのMySQL ABが開発
- 2000年:GPL化。LAMPスタックの一角としてWebサービスに爆発的に普及
- 2006年:MySQL 5.1リリース。パーティション・イベントスケジューラ等を追加
- 2008年:Sun MicrosystemsがMySQL ABを10億ドルで買収
- 2010年:OracleがSunを買収→MySQLもOracle傘下に。MariaDBが派生プロジェクトとして誕生
- 2013年:MySQL 5.6。パフォーマンス大幅向上・全文検索強化
- 2018年:MySQL 8.0。ウィンドウ関数・CTE・JSON強化・utf8mb4がデフォルトに
- 現在:MySQL 8.0/8.4が主流。Amazon Aurora MySQLが大規模サービスで広く採用
MySQL vs PostgreSQL(代表的な違い)
| 観点 | MySQL | PostgreSQL |
|---|---|---|
| ライセンス | GPL + 商用 | PostgreSQL License(制限なし) |
| 標準SQL準拠度 | やや低い(方言あり) | 高い(標準に忠実) |
| 読み取り性能 | 優れる | 同等以上(複雑クエリは有利) |
| JSON/配列型 | JSON型(5.7以降) | JSON/JSONB・配列型が充実 |
| レプリケーション | シンプルで設定しやすい | より柔軟なレプリケーション |
| 拡張性 | 限定的 | プラグイン・拡張が豊富 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| ISO/IEC 9075 (SQL標準) | MySQLが準拠するSQL標準 |
| MySQL Wire Protocol | MySQL独自のクライアント通信プロトコル |
| InnoDB File Format | MySQLのInnoDBストレージフォーマット仕様 |