これまでレンタルサーバーでは、主にオープンソースである MySQL(マイエスキューエル)がデータベースとして使われてきましたが、近年 MariaDB(マリアディービー)を採用するレンタルサーバーが増えつつあります。
MariaDB は MySQL から枝分かれしたデータベースシステムであり、MySQL よりもパフォーマンスが向上しているということで、多くのユーザーから期待されており、詳細は下に書いていますが、実際に当サイトによるパフォーマンステストでも高い成績を上げています。
今回は、その MariaDB とは何か?という説明から、MySQL との機能の差やパフォーマンスの違い、そして MariaDB を採用しているレンタルサーバーについて紹介していきます。
- 初心者~上級者向け ⇒ エックスサーバー
- 中級~上級者向け ⇒ mixhost(ミックスホスト)
MariaDB とは?
MariaDB は、MySQL から派生したオープンソースのリレーショナルデータベース管理システム(情報を効率的に管理できるシステム)で、いわば MySQL の妹分に当たります。
これまでレンタルサーバーで主に使用されていたのは MySQL ですが、今後はこの MariaDB が主流になっていくと考えられています。
実際すでに、Google がシステムに MariaDB を採用しているほか、Fedra、Red Hat、CentOS や Debian など、Linux の主要なディストリビューションも、データベースを MySQL から MariaDB に移行しています。
MariaDBは、もともと MySQL のオリジナルコードの作者でもある Michael “Monty” Widenius によって作られた、MariaDBプロジェクトによって作成されています。また、プロジェクトには Widenius 以外にも MySQL に関わっていたメンバーが多数参加しているため、MySQL 自体も更新は続けていますが、ある意味 MySQL の正当な後継と言っていいかもしれません。
なお、MySQL の名称である “My” は、Widenius の長女の名前から、MariaDB の “Maria” は次女の名前から取られていますので、まさに「妹」と言って差し支えない存在ですね。また、Widenius は、長男の名前 “Max” も “MaxDB” として用いています。(Max は前妻との子供、My と Maria は2番目の妻との子供だそうです)
MySQLとMariaDBの違いは?
MariaDB は MySQL と比較して、どのような点が異なるのでしょうか。
まず、MariaDB の主な特徴を挙げてみます。
- MySQLとの高い互換性(インストール方法やディレクトリ構造がほぼ同じ)
- セキュリティ面・頑健性・パフォーマンスが向上
- 拡張性・処理性能・品質が向上
当初、MariaDB は MySQL の不具合を定期的に修正し、反映するという作業がメインになっていましたが、MySQL がバージョン 5.6 に移行した際、大規模なリファクタリング(プログラムの動作を変えずに、プログラムを変更)を行ったために、それ以降 MySQL をベースとした改善を進めることが困難になりました。
そのため、MariaDB は 10.0 としてリリースしたのちは、MySQL の中から必要な要素を取り込みつつも、独自の機能を加えていくといった流れになっていますので、今後はその違いも大きくなってくるかもしれません。
具体的な機能の違いとしては、専門的な内容になりますが、以下のような点が挙げられます。
- ストレージエンジンの追加
- オプティマイザの強化
- 各種機能の追加
さらに細かい点については、以下のページが参考になります。
MariaDBを採用しているレンタルサーバー
MariaDB は、国内ではまだ採用している共用サーバーは少ないですが、国内では2016年にサービスリリースをした mixhost が先行して導入しています。
以下が、当サイトで紹介しているレンタルサーバーにおける MariaDB の対応状況です。
使用可能なデータベース | |
---|---|
エックスサーバー | MariaDB(新規サーバー) |
mixhost | MariaDB |
CPI | MySQL |
お名前.comサーバー | MySQL |
ロリポップ! | MySQL |
sixcore | MySQL |
カゴヤ | MySQL/PostgreSQL |
heteml | MySQL |
ABLENET | MySQL/PostgreSQL |
WebARENA | MySQL/PostgreSQL |
さくらのレンタルサーバ | MySQL |
スターサーバー | MySQL |
WADAX | MySQL/PostgreSQL |
iCLUSTA+ | MySQL |
Bizメール&ウェブエコノミー | MySQL |
※2017年10月現在
また、前述のように Linux のディストリビューションが導入していることもあり、VPS であれば、さくらインターネットなどでも導入されており、利用が可能です。
MariaDBとMySQLのベンチマーク比較
MariaDB は MySQL と比較してもパフォーマンスが高いということですが、実際にどの程度の変化があるのか見てみましょう。
ニフティクラウドのエンジニアチームによる検証結果
まず参考になるのが、ニフティクラウドのエンジニアチームによる、以下の結果です。
※ブログが消えてしまったようなので、Weybackmachine のキャッシュにリンクしています。もし、掲載に問題がある場合はご連絡ください。
「ベンチ1. シングル構成」と「ベンチ3. スレッドプール」の後半の検証データがわかりやすいですが、MariaDB のほうが MySQL と比較してよい結果が出ており、「MariaDBに関して、MySQLと同等かそれ以上の性能を出してくれそうです。」と結論づけられています。
当サイトによるベンチマーク結果
では、次に当サイトによるベンチマークの結果を見てみましょう。
こちらは、ニフティによる検証のように、同じ環境で MySQL と MariaDB を比較したものではないため、純粋にデータベースの違いだけを確認できるものではありませんが、MariaDB のパフォーマンスの高さを垣間見ることができるかもしれません。
・データベースのパフォーマンスをベンチマークテストで比較【2017年版】(PHPspeed)
ベンチマークツールには、PHP で動作するアプリケーションやデータベース、サーバー自体のパフォーマンスなどを総合的にチェックできる PHPspeed を用いており、その中でデータベースの処理に関する以下の 2つのテストのデータをあわせて比較しています。
- Synthetic MySQL Test(総合的な MySQL テスト / どれだけ早くデータベースに読み書きできるかをテスト)
- Real World PHP w/ MySQL Test(MySQLを用いた PHP の実環境テスト / MySQL へのアクセスを含めた 4つの違ったサイズの PHP ページを読み込む時間を計測)
今回はその結果の中から、総合の上位5位までの結果を抽出します。
Synthetic MySQL Test | 順位 | Real World PHP w/ MySQL Test | 順位 | 総合順位 | |
---|---|---|---|---|---|
mixhost | 13,903 | 2 | 8,371 | 4 | 1 |
heteml | 3,644 | 6 | 9,014 | 3 | 2 |
WADAX | 5,629 | 3 | 7,730 | 6 | 2 |
エックスサーバー | 2,451 | 8 | 9,952 | 2 | 4 |
WebARENA | 16,600 | 1 | 5,297 | 9 | 4 |
この中では、mixhost と エックスサーバーが MariaDB を採用していますが、mixhost は 2つのテストの総合で堂々の1位を獲得しています。一方、エックスサーバーは “Synthetic MySQL Test” の成績はそれほどではありませんが、実環境テストでは 2位になっていますので、実際に使用するうえでのスピードはかなり期待できることがわかります。
もちろん、このデータは先に書いたように、純粋なデータベースだけのパフォーマンスを比較したものではないため、一概に MariaDB だけの優位性を示すものではありませんが、MariaDB を採用しているサーバーにおけるデータベースのパフォーマンスの高さを確認することはできました。
まとめ
以上、MariaDB の概要とそのパフォーマンスについてチェックしました。
MariaDB は MySQL の派生であり、今後のスタンダードになっていくオープンソースのデータベースであること、また実際により高いパフォーマンスが期待できることなどを確認することができました。
現時点では、まだ MariaDB を採用している共用サーバーは数少ないですが、エックスサーバーのように、今後は MariaDB に切り替えていくレンタルサーバーが増えていくでしょう。
mixhost と エックスサーバーでは、実際に MariaDB の高いパフォーマンスを確認することができます。エックスサーバーは 10日間のお試し期間がありますので、一度試してみては。
- 初心者~上級者向け ⇒ エックスサーバー
- 中級~上級者向け ⇒ mixhost(ミックスホスト)