MySQL

MySQLとは



MySQLは、オープンソースのリレーショナルデータベース管理システム(RDBMS)であり、その名前は開発者の娘「My」と「SQL」を組み合わせたものです。当初はスウェーデンの企業MySQL ABによって開発され、後にサン・マイクロシステムズ(現在のオラクル)に買収されました。

歴史



MySQLは1995年に最初のバージョンがリリースされ、その後、多くの改良と機能追加を経て、現在に至ります。特に重要な出来事としては、以下のものがあります。

1995年: 最初のバージョンが内部リリース。
1998年: Windows版がリリース。
2008年: サン・マイクロシステムズがMySQL ABを買収。
2010年: オラクルがサン・マイクロシステムズを買収。

買収後、MySQLの創設者の一人であるミカエル・ウィデニウスは、オープンソースのMySQLプロジェクトをフォークしてMariaDBを設立しました。

特徴



MySQLは、以下の特徴を持つRDBMSです。

オープンソース: GNU General Public License (GPL) の下で公開されており、無料で利用できます。
デュアルライセンス: GPLの他にプロプライエタリライセンスでも利用可能です。
マルチプラットフォーム: Linux、Windows、macOSなど、多様なOSで動作します。
マルチストレージエンジン: 用途に応じて最適なストレージエンジンを選択できます。
トランザクションサポート: InnoDBストレージエンジンを使用することでACID準拠のトランザクションが可能です。
レプリケーション: マスタースレーブ方式のレプリケーションを標準でサポートしています。
豊富な機能: ストアドプロシージャ、トリガー、ビューなどの高度な機能を備えています。

エディション



MySQLには、オープンソースのMySQL Community Serverと、プロプライエタリなMySQL Enterprise Serverの2つのエディションがあります。Enterprise Serverは、追加の拡張機能が搭載されていますが、基本的にはCommunity Serverと同じコードベースから構築されています。

ストレージエンジン



MySQLの大きな特徴の一つが、マルチストレージエンジンアーキテクチャです。これにより、データの保存とアクセス方法をアプリケーションのニーズに合わせて柔軟に選択できます。

InnoDB: ACID準拠のトランザクションをサポートし、高い堅牢性と並列処理性能を持つ、最も広く利用されているストレージエンジンです。
MyISAM: 検索性能に優れ、かつては広く利用されていましたが、現在はInnoDBが主流となっています。
その他: Memory、Merge、Federated、Archive、CSV、Blackhole、NDB Clusterなどのストレージエンジンも利用できます。

トランザクション



MySQLでのトランザクション管理はストレージエンジンに依存しており、InnoDBがACIDに準拠したトランザクションをサポートしています。

その他の機能



サブクエリ
ストアドプロシージャ
ビュー
トリガー
レプリケーション
グループレプリケーション
ウィンドウ関数、共通表式(CTE)

ライセンス



MySQLは、GPLと商用ライセンスのデュアルライセンス方式で提供されています。GPL版は無料で利用できますが、GPLの条件に従う必要があります。商用ライセンス版は、GPLの制約を受けずに利用できます。

利用状況



MySQLは、世界中で最も人気のあるオープンソースのRDBMSの一つであり、Webアプリケーションを中心に広く利用されています。LAMP(Linux、Apache、MySQLPerl/PHP/Python)スタックの主要なコンポーネントとしても知られています。

多くの大手ウェブサイトやアプリケーション(FacebookTwitterYouTubeWordPressMediaWikiなど)で利用されています。日本でもPostgre[[SQL]]を上回り、最も普及しているオープンソースRDBMSとなっています。

プラットフォーム



MySQLは、以下のプラットフォームでサポートされています。

FreeBSD 11以降
Oracle Linux 6以降
macOS 10.12以降
Microsoft Windows 10

開発言語



MySQLには、C、C++、Eiffel、Smalltalk、Java、LISP、Perl、PHP、Python、Ruby、Tclなどの様々な言語からアクセスできます。また、ODBCインターフェースも提供されています。

日本語処理



MySQLは、sjis、cp932、utf8、utf8mb4、ujisなどの文字セットをサポートしており、日本語の文字を正しく扱うことができます。ただし、Windows環境で使用される拡張Shift_JISを正しく扱うためには、cp932を指定する必要があります。

管理ツール



MySQLを管理するためのツールには、以下のようなものがあります。

MySQL Workbench
phpMyAdmin
Navicat for MySQL
* Adminer

まとめ



MySQLは、その柔軟性、機能性、そしてコミュニティの活発さから、多くの開発者にとって魅力的な選択肢となっています。オープンソースでありながら、商用利用にも対応できるデュアルライセンスを提供しており、幅広いニーズに対応できます。Webアプリケーションからエンタープライズシステムまで、様々な場面でその強力な性能を発揮しています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。