データベースの違い(MySQL)

前回に引き続き、世界TOP3のデータベース

Oracle Database、MySQLSQL Server を比較していきます。

 

今回は、TOP2の MySQL についてです!

MySQLは、世界で最も利用されているオープンソース・データベースです。
デュアルライセンス方式で提供されており、無償版と有償版のライセンスがあります。

無償版は、GNU GPL(GNU General Public License)となります。

GNU GPLは、フリーソフトウェア財団の一般公衆利用許諾契約書のことを言います。

無償版を使用する場合は、開発されたものは、GPLとしてソースコードと共に配布する必要があります。また、公開したソースコードについては、誰もが再配布やコードの変更、コピーが可能となります。

無償版は商用利用をしてはいけないというデタラメな情報が出回っているようですが、GPLを尊守する限り、ビジネスで無償版を使用して問題ありません。

 

MySQL AB社が、MySQLを開発し、その後、サン・マイクロシステムズ社がMySQLを買収しました。サン・マイクロシステムズ社の社員は、データベースのトップシェアを誇るオラクルデータベースを超えることを目標にしていましたが、あと少しでオラクルを上回るくらいのシェアになったところで、ライバルのオラクル社に買収されてしまいました。買収された際に、当時のMySQLを担当していた多くの社員が怒って退職しました。自分たちがライバル視していた企業をもう少しのところで超えられそうだったのに、そのライバル企業に買収されてしまうなんて、、気の毒ですよね。。

 

余談となりますが、オラクル社に買収された時に、MySQL AB社を創設し、MySQLを開発した初期メンバーが退職し、その初期メンバーで新たなデータベースを開発しました。それが「Maria DB」です。

Maria DBは、現在Googleで採用されています。(Googleは、元々MySQLを採用していました。)


MySQLは様々な有名企業に利用されています。

利用企業一覧は、以下リンクより確認できます。
https://www.mysql.com/jp/customers/

※現在利用していない企業も含まれます。


MySQLは、レンタルサーバーのデータベースとしてもよく使われています。
マルチユーザー/マルチスレッドであるため、
複数の人が同時に利用するWebアプリケーションなどのシステムに使用されるデータベースとして適しています。

 

特徴
●高性能なストレージ・エンジン
ストレージエンジンとは,DBMSがデータベースからのデータの読み込み、データベースへの書き込みに使われるMySQL独自のコンポーネントのことです。
MySQLには様々なストレージ・エンジンがあり、選択式で使用可能です。
ストレージ・エンジンは、InnoDBMyISAM、NDB (MySQL Cluster)、Memory、Merge、Archive、CSV などがあります。

以前はトランザクション非対応である代わりに、参照が高速なMyISAMが使われていましたが、現在は完全に統合された、ACID準拠のトランザクション・セーフ・データベースを実現しているInnoDBがデフォルトとなっています。

MyISAMは、テーブルロックのため、Oracle Databaseの行レベルロックより、大きな枠でロックされてしまいましたが、InnoDBは、行レベルロックとなります。

しかし、InnoDBOracle Databaseほど確実な行レベルロックまではいきません。


●スケーラリビティと柔軟性
容量わずか 1MB の組み込みアプリケーションから、テラバイト級の情報量を擁する巨大なデータウェアハウスの稼働に至るまでのすべてに対応できる、対応プラットフォームの柔軟性にも優れており、LinuxUNIXWindows の様々なエディションをサポートします。

Oracle Databaseも対応OSの幅が広いです)

 

まとめ

MySQLは、オープンソースライセンスであり、無償版/有償版の提供があります。

マルチユーザーライセンスのため、複数の人が同時に利用するWebアプリケーションに最適です。また、ストレージエンジンが豊富にあり、選択して使用可能です。

容量が少ない組み込みアプリケーションから、巨大なデータハウスの稼働まですべてに対応可能です。