MariaDBとは?MariaDBの使い方やMySQLとの違いを比較して解説!基本コマンドや互換性・移行方法も確認しよう
様々なシーンで活躍しているデータベースたち
データベースは、会員情報や商品情報、社員の情報など様々なデータを扱うのに非常に役に立ちます。
今や世の中の仕組みになっているともいえ、インフラといっても過言ではない重要な存在だといえます。
そんなデータベースは非常に数多くの種類が存在しており、有名なものからマイナーなものまで、多岐に渡ります。
豊富に存在しているデータベース
MySQLや、Microsoft SQL Server、Oracle Database、Amazon Aurora、PostgreSQLといったものが代表例でしょう。
有料のものがあれば、無料のものも存在しており、把握しきれないほどに多くの種類があります。
上記の他にも様々なデータベースが存在していますが、今回の記事では「MySQL」から派生して誕生した「MariaDB」に注目していきます。
MariaDBはMySQLから派生して生まれた
MariaDBはMySQLから派生したRDBMS(リレーショナルデータベース管理システム)です。
非常にメジャーなRDBMSとしての地位を築いているMySQLの派生版でること、無料で使用できるということで注目を集めました。
MariaDBもMySQL同様無料で使用可能ですが、一体どのような違いがあるのでしょう。
今回の記事では、MariaDBにフォーカスを当て、MySQLとの違いの比較や基本コマンドなどをチェックしていきます。
MariaDBと互換性を持っているRDBMSや、移行する方法などについても確認していきます。
勢いに乗っていて今後更に普及していく可能性の高いMariaDBについて、知識を深めていきましょう。
MariaDBとは何か
まずは、MariaDBについて基礎的な概要情報をチェックしましょう。
MariaDBは「RDBMS」である
先ほども触れましたが、MariaDBは「RDBMS(Relational Database Management System)」です。
日本語では「リレーショナルデータベース管理システム」や「関係データベース管理システム」といった呼び方をします。
表形式で格納されたデータを示す、いわゆる一般的なデータベースだといえるでしょう。
SQL言語を用いて紹介・操作などの指示を行い、データベースの整合性を保つ仕組みを持っているデータベースです。
有料ではOracle DatabaseやMicrosoft SQL Serverが、無料ではMySQLやPostgreSQLが特に高いシェアや知名度を獲得しています。
MySQLと開発者が同じ
MySQLから派生したというMariaDBですが、開発者はどちらも「Michael “Monty” Widenius」氏であり、同一人物です。
開発方針の違いなどが理由でMySQLから離れたWidenius氏が、新しく会社を立ち上げてMySQLのコアメンバーたちと開発をスタートしたのが「MariaDB」になります。
この後両者の違いなどについて詳しく解説しますが、互換性の高さなどは開発者が同じでソースコードのベースも同じだからというのも大きな理由の1つでしょう。
MariaDBとMySQLの違い
MySQLから派生して誕生したMariaDB。
互換性などが高いことも有名な両RDBMSですが、実際にはどのような違いがあるのでしょうか。
ライセンスの違い
最も大きな違いといえるであろうポイントがライセンスの違いです。
どちらもオープンソースソフトウェアとして有名なRDBMS。
MariaDBは完全なるGPLライセンスで提供されています。
オープンソースプロジェクトとして、ベンダーなどからの干渉・関与なしに開発が進んでいるということです。
対して、MySQLはGPLと商用のデュアルライセンスで提供されているため完全なオープンソースとは少し違うといえるでしょう。
実質的に、MySQLはOracleによって開発・ソースコードを管理されているという状況にあります。
処理の速さや性能
似た製品・サービスが複数存在する際に気になるポイントの1つが「処理の速さ」でしょう。
処理速度に関しては、大きな差はないものの若干MariaDBの方が速いというデータがあるようです。
MariaDBはMySQLに匹敵・もしくはそれ以上の性能を持っているという評価を受けています。
一般ユーザーから見た「使いやすさ」
一般的なユーザーからは「MariaDBの方が使いやすい」という声も多く見られます。
もちろんMySQLが「使いにくい」というわけではありませんが、一般ユーザーの支持を得ているのはMariaDBといえるかもしれません。
高い拡張性、処理性能、高品質が高く評価されているようです。
MySQLの採用例
元々世界的に幅広いシーンで使われているMySQL。
数多くの有名企業。サービスから採用されている実績が、以下のページから確認できます。
FacebookやNetflix、YouTubeやAirbnb、Spotifyなど有名サービスからも採用されており、かな実績を持っているRDBMSです。
オープンソースに抵抗を感じる企業でも、商用ライセンスがあるため安心して導入できるのかもしれません。
MariaDBの採用例
では、MariaDBの採用実績はどのようなものがあるでしょう。
公式サイトの「MariaDB Customer Stories」ページからチェックすることができます。
日本でも知名度の高いものでいえばSAMSUNGやRed Hat、NOKIAといったところでしょうか。
他にも多くの企業から採用されています。
Linuxのディストリビューションの多くがMySQLからMariaDBに移行しているというのも見逃せないポイント。
MySQLには及ばないかもしれませんが、MariaDBも十分に実績を持っているRDBMSといえるでしょう。
そして、Linuxディストリビューションのように今後MySQLからMariaDBへ移行する動きが拡大していく可能性も否定できません。
シェア
多くの有名サービスから採用されていることからも分かる通り、MySQLは世界的に高いシェアを持っています。
対して、MariaDBはまだまだ新しいということもあってシェア率ではMySQLには敵わないでしょう。
しかし、その使いやすさなどから急速に普及しつつあるのも事実。
今後、MariaDBが更にシェアを伸ばしていく可能性は大いに考えられます。
とはいえ、MySQLがRDBMSの中でも世界的にかなり高いシェアを誇っているのは揺るぎない事実です。
MariaDBの持つ特徴
MariaDBはリレーショナルデータベースで、「カラム型エンジン」が用いられています。
これにより、大規模なデータやビッグデータなどの集計を得意としているようです。
2009年にリリースされて以降も積極的に開発が進んでおり、高機能なことが特徴になっています。
インストール手順はMySQLとほぼ同じであり、簡単に導入することができるでしょう。
また、母体ともいえるMySQLと非常に高い互換性を持っているのも大きな特徴の1つです。
MariaDBとMySQLの高い互換性
さて、MariaDBの大きな特徴であるMySQLとの互換性。
一体、どのレベルまで互換性を持っているのでしょうか。
そもそも、MariaDBはMySQLとの互換性を保つことを目標としています。
データ・表定義ファイルはもちろん、全てのクライアントAPIとプロトコルの互換性を保持。
ファイル名やバイナリ、パスも同じで、ポートとソケットも同様です。
MySQLの不具合修正を定期的に反映しているということも、互換性という観点での大きな特徴といえます。
MySQLからMariaDBへの移行
基本的にMariaDBは、MySQLのシステムをそのまま移行してこれるように開発が進められています。
バージョンによる定義の違いなどがなければ、MariaDBを新たにインストールしてMySQLライブラリなどを入れ直す等するだけで簡単に移行できます。
基本的に移行の手間が少なく、非常に楽に行えるというメリットがあるといえるでしょう。
とはいえ、何が起こるか分かりませんので、移行の際には必ずmysqldumpなどでバックアップしてから行いましょう。
MariaDBの基本的なコマンドを紹介
ここからは実際に、MariaDBに実装されている基本的なコマンドを紹介いたします。
基本的にMariaDBでは大半のMySQLのコマンドが使用可能です。
コマンドという観点でも、非常に互換性が高く使い勝手がいいRDBMSだといえます。
ログイン
MariaDBにログインする際のコマンドは、MySQLと同じです。
- mysql -u ユーザー名 -p
上記のようにユーザーを指定すると、次の行で「password」の入力を求められるので、適切なパスワードを入力して実行すれば、ログインができます。
データベースを指定してログイン
また、データベースを指定してログインすることも可能です。
その場合は下記の通り、-pの後ろにデータベース名を併記するだけでOKです。
- mysql -u ユーザー名 -p データベース名
ログアウト
MariaDBからログアウト(終了)する場合はこちらのコマンドを実行してください。
- exit
また、exitではなく下記コマンドでもログアウトできます。
- quit
好きな方でログアウトしましょう。
データベースの作成
MariaDBで実際にデータベースを作成する際には下記のコマンドで実行できます。
- CREATE DATABASE データベース名;
非常にシンプルです。
データベースの一覧表示・接続・削除
実際に存在しているデータベースの一覧を表示したり、接続・削除などを行う際には下記のコマンドを使用します。
- SHOW DATABASES; – データベース一覧の表示
- USE データベース名; – データベースへの接続
- CONNECT データベース名; – 接続データベースの切り替え(USEでも可能)
- DROP DATABASE データベース名; – データベースの削除
どれも非常にシンプルです。
一点注意しなければならないのが「SHOW DATABASES」は複数形だということ。
最後に「S」が付いているので、この点は忘れないよう意識しましょう。
テーブルの作成
データベースにテーブルを作成する際は、こちらのコマンドを実行します。
- CREATE TABLE テーブル名(
- カラム名 データ型,
- カラム名 データ型
- );
「,」を使用すれば、複数のカラムを1度に作成できます。
最後のカラムのみ「,」をつけないので、注意してください。
テーブルの一覧表示
テーブルの一覧を表示する際には、データベースの際と同様「SHOW」コマンドを使用します。
- SHOW TABLES;
データベースの時同様「TABLES」と複数形であることに注意してください。
MySQLの大半のコマンドが使える
ここまで紹介してきたコマンドで明らかですが、MariaDBは基本的にMySQLと同じコマンドで操作できます。
そのため、仮にMySQLからMariaDBへ移行をしても戸惑わず、問題なく扱うことができるでしょう。
こういった部分も高い互換性を持っているといえます。
MariaDBはMySQLと高い互換性を持つRDBMS
今回の記事ではRDBMSの「MariaDB」に注目してきました。
MariaDBはMySQLから派生して生まれた、RDBMSです。
あくまでMySQLがベースとなっている「派生バージョン」ではありますが、高機能であり使い勝手がいいことから急速に注目を集めています。
MySQLと高い互換性を持っていることが大きな特徴であり、移行が非常に簡単です。
コマンドなども大半が同じであるため、MySQLからMariaDBへ移行した後も混乱を招くことなく通常通り業務を行えるでしょう。
積極的に開発が進んでいるMariaDBは、今後ますます注目・人気を集め、シェアを伸ばしていくことが予想されます。
互換性が高いのでMySQLのことしか知らない方でもさほど不安に感じる必要はないかもしれません。
しかし、今のうちからMariaDBに関する知識を蓄えておくことは無駄にはならないでしょう。
MariaDBとMySQL、どちらも問題なく扱えるDBエンジニアになれるはずです。
toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。
エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。