MySQL
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| MySQL | |
| 開発元: | サン・マイクロシステムズ |
|---|---|
| 最新版: | 5.0.51a(Community Server) / 2007年12月6日 |
| 対応OS: | クロスプラットフォーム |
| 種別: | RDBMS |
| ライセンス: | GPL または Commercial License |
| 公式サイト: | www.mysql.com |
MySQL(マイエスキューエル)は、RDBMS(リレーショナルデータベースを管理、運用するためのシステム)の実装の一つである。オープンソースで開発されており、GNU GPLと商用ライセンスのデュアルライセンスとなっている。
他の多くのオープンソースプロジェクトと異なり、MySQLはスウェーデンの単一の営利企業「MySQL AB」によって保持されていたが2008年2月26日にMySQL ABがサン・マイクロシステムズに買収されたことによって現在はサン・マイクロシステムズが保有している。またトレードマークおよび著作権もこの企業が所有している。
目次 |
[編集] 概要
世界で最も有名なオープンソース・データベースとして知られている。 他のフリーRDBMSと比較して高速性に定評があり、特に更新よりも参照の頻度の高いアプリケーションに向くとされている。具体的にはWebアプリケーションの多くが該当する。データストレージエンジンはSQLエンジンとは分離独立しており、用途に応じた機能を持つストレージエンジンを選択できる「マルチストレージエンジン」方式となっている。
[編集] トランザクション
MyISAMでは、トランザクションをサポートしていない。 バージョン3.23.34以降で組み込まれているInnoDBは、オープンソースソフトウェア企業のInnobase社が開発したストレージエンジンであり、トランザクションをサポートしている。 InnoDBはメディア障害時の更新ログによるリカバリもサポートしている。 ただし、トランザクションの概念がなかったMyISAMベースのテーブルを検索する場合の高速性は、InnoDBの場合は簡単に即座に得ることはできず、チューニングが必要である。 ただし、MySQL 5.0 では、InnoDBの方が、MyISAMよりも読み込みが速いことも多い。
[編集] その他の機能
副次問い合わせ(サブクエリ)は、バージョン4.1以降でサポートされている。
バージョン5.0以降では、SQL99にストアドプロシージャ、ビュー、トリガーが実装され、機能の面でも他のRDBMSに追いつきつつある。
その他、標準でマスタスレーブ方式のレプリケーション機能を備えており、堅牢なデータストレージの構築が比較的容易である。
[編集] 普及
世界的にはこのMySQLとFirebirdの方がPostgreSQLよりも多く使用されており、ウェブサイトの構築に用いるソフトウェア環境として、LAMP (Linux, Apache, MySQL, PHP) の略称が知られている。Yahoo!などの巨大なウェブサイトでの適用例も多く、WebアプリケーションのXOOPSも利用している。また、ウィキペディアのためのソフトウェアであるMediaWikiでもこのソフトウェアを使用している。他にも、社内用WebアプリケーションのサイボウズもMySQLへの乗り換えを決めている。
世界的な傾向に反し、日本ではPostgreSQLの適用例がMySQLを上回っている。2003年の時点で、オープンソース系のデータベースとして、日本では8割以上がPostgreSQLである。
その理由として、以下の理由が指摘されている。
- 欧米において、MySQLの広報が積極的であった
- MySQLの日本ユーザ会の立ち上げが遅れた
- PHP4徹底攻略(通称マンモス本)がPostgreSQLとの接続を想定して記述されていた
- Javaを開発するSun Microsystemsが、MySQLよりもPostgreSQLを推していた(Sun MicrosystemsがMySQLを買収したことにより、今後はMySQLをより重視していく可能性が高い)
- かつてのMySQLでUnicodeのサポートが不十分であった
- アプリケーションの頒布形態によってはGPLではなく商用ライセンスを選択しなければならないケースがある
ただし、商用ライセンスを取得するコストはOracleの10分の1に満たない。
[編集] プラットフォーム
MySQLは以下のような多くのプラットフォームでサポートされている。しかし、MySQLはUnix系プラットフォーム上でもっとも実力が発揮できる実装になっているため、なるべくUnix系プラットフォームで利用することが推奨されている。特に、MS Windows系の実装はDBアプリケーション開発者が利用する分には十分であるが、実際に運用を行うには安定していない。
- Unix系
- MS Windows系
- その他
[編集] 開発言語
C, C++, Eiffel, Smalltalk, Java(JNI), Lisp, Perl, PHP, Python, Ruby, TclはMySQLのAPIを介してデータベースへアクセスできる。またODBCインターフェース (MyODBC) もサポートされている。MySQL自体はCおよびC++で開発されている。 埋め込みSQLによる開発はサポートされていない。
[編集] 日本語処理
MySQL5においてsjis(Shift_JIS)、utf8(UTF-8)、ujis(EUC-JP)など各種文字セットを指定できる。パソコンでは一般的なsjisは、Webページにおいて一部文字化けが発生することが知られている(Shift_JIS#利点と欠点)が、一方Webアプリケーションでは標準のutf8は、ODBCリンクしたMicrosoft Accessにおいて正しく表示できないことがある。この場合MyODBCのオプションキャラクタをsjisにしておけば、正しく入出力できる。ちなみにRuby on Rails、CakePHPのデフォルトはutf8であるが、データベース接続設定でencodingをutf8と明示的に使用宣言しておく必要がある。
[編集] MySQLの管理ツール
[編集] 関連項目
- SQL
- Berkeley DB
- MySQL Cluster
- Firebird
- HSQLDB
- SQLite
- mSQL
- UnixODBC
- MySQLWikiEngine
- PostgreSQL
- WikipediaのためのソフトウェアであるMediaWikiはMySQLを使用している。
- DBDesigner
- XAMPP
[編集] リンク
- MySQL.com
- 日本MySQLユーザ会
- MySQL リファレンスマニュアル
- MySQL development
- MySQL Weblogs
- Free MySQL 5 provider
- Markus Popp's blog
- Andrew Gilfrin's blog
- Roland Bouman's blog
- Beat Vontobel's blog
- Giuseppe Maxia's blog
- Jay Pipe's blog
- Mike Kruckenberg's blog
- Sheeri Kritzer's blog
- MySQL Database Administration Blog
- 日本MySQLパートナー会
- MySQL -- ライセンス早分かり
|
|
|
|---|---|
| ソフトウェア | Solaris • OpenSolaris • Java • JDS • JES • StarOffice(日本ではStarSuite)/OpenOffice.org • NIS/NIS+ • Sun ONE • NFS • ZFS • DTrace • Sun Grid Engine • MySQL |
| ハードウェア | SPARCstation • Sun Ultra series • Sun Enterprise • Sun Blade • Sun Fire • UltraSPARC T1 • SPARC • JavaStation • Sun Ray • Sun Modular Datacenter • Sun SPOT |
| Education and Recognition | SCP • Sun COE |
| 関連人物 | ジョナサン・シュワルツ • アンディ・ベクトルシャイム • スコット・マクネリ • ビル・ジョイ • ビノッド・コースラ • ジェームズ・ゴスリン |

