MariaDBとはMySQLから派生して誕生したオープンソースのリレーショナル型データベースシステム(RDBMS)です。開発者はミカエル氏であり、MySQLの開発者でもあります。そのためMySQLとの共通点が多く、互換性も高いことで有名です。この記事ではMariaDBについて理解をするために歴史や特徴、基本的なコマンドなどの基礎知識を簡単に解説していきます。
MariaDBとはMySQLから派生して誕生したオープンソースのリレーショナル型データベースシステム(RDBMS)です。MariaDBは、現代に合うように根本的に異なるデータベースアプローチを採用し、すべてのニーズを単一の完全なデータベースに依存できるようになりました。
MariaDBはMySQLから派生して開発されたことからデータベースの移し替えをとても簡単に行うことができます。他にも特徴として「カラム型DBエンジン」「スケーラビリティー」「高性能」などが挙げられます。MariaDBは金融系業界から一般的なアプリケーションまで幅広く使用されており世界で最も人気のあるデータベースのうちの一つと言えます。
MySQLとは世界トップシェアを誇るオープンソースのデータベースです。オープンソースであるため無料で利用できるという特徴があり、多くの企業がLAMPと呼ばれるLinux、Apache、MySQL、PHPで組み合わせた開発環境を採用しております。特徴としてストレージエンジンという高性能な独自のエンジンが採用されており処理能力が早いだけでなく、拡張性と柔軟性が高いことも人気の理由です。
MySQLの歴史や特徴について解説された記事はこちら>>
SQLとはリレーショナルデータベースの管理・操作をするため最も普及されているデータベース言語です。主な用途としてデータベース管理システム(DBMS)へデータの検索、追加、削除、更新などの指示のために使用されます。1970年代にIBM社の開発によって誕生した『Structured English Query Language(SEQUEL)』が元になっております。そのことから広く知れ渡っている呼び名は『シーケル』です。またSQLは国際標準化機構(ISO)で規格化をされております。そのためMySQL、Oracle、PostgreSQLなど様々なデータベース管理システムにおいてもSQLにて対応することが可能です。またSQLの代表的な拡張プログラム言語としてPL/SQLやT-SQLなどが挙げられます。
SQLの歴史や特徴について解説された記事はこちら>>
データベースとは様々な情報を整理し効率よく使用するために格納するデータの集合体のことです。データベースには様々なデータを効率よく管理するための機能が用意されております。また大量のデータを高速に処理することも可能です。用途は様々で顧客管理や在庫管理などの複数のデータを取り扱うことが必要とされる業務に使用されます。主なデータベースの種類としてOracleDBやMySQLなどが挙げられます。
データベースの種類や特徴を解説している記事はこちら>>
DBMSとはデータベースを構築するためにデータベースの運用、管理を実行するためのシステムです。代表的な製品としてOracle Database、SQL Server、MySQLなどが挙げられます。
DBMSの歴史や種類を解説している記事はこちら>>
MariaDBの読み方は『マリアデービー』です。名前の由来は「Michael Widenius(ミカエル・ウィデニウス)氏の次女」の名前である『Maria(マリア)』と『DB(データベース)』を組み合わせたものという説が濃厚だと言われております。ちなみに長女の名前を採用して名付けられたのがMySQLだと言われております。
MariaDBはミカエル・ウィデニウス氏によって開発され、2009年にリリースされました。ミカエル・ウィデニウス氏はMySQLの開発者でもあり、MySQL AB社の創業者でもあります。諸説ありますが、ミカエル氏とMySQLコアメンバー(当時のサンマイクロシステムズ社側)と意見の違いがきっかけで2009年にMySQLプロジェクトから脱退することとなりました。
同年にミカエル氏が『Monty Program Ab』を立ち上げ「MariaDB」をリリースしました。2012年になると非営利団体「MariaDB Foundation」を立ち上げ、MariaDBの所有権と開発拠点を移します。2014年になると「MariaDB 10.1」をリリース。それからも度重なるバージョンアップを重ね、現在の最新バージョンは10.5.8となっております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2009年 | 『MariaDB 初版』リリース 『Monty Program Ab』を立ち上げ |
2010年 | 『MariaDB 5.1』リリース |
2011年 | 『MariaDB 5.3』リリース |
2012年 | 『MariaDB Foundation』を立ち上げ 『MariaDB 5.5』リリース |
2014年 | 『MariaDB 10.1』リリース |
2016年 | 『MariaDB 10.2』リリース |
2017年 | 『MariaDB 10.3』リリース |
2018年 | 『MariaDB 10.4』リリース |
2019年 | 『MariaDB 10.5』リリース |
2020年 | 『MariaDB 10.5.8』リリース |
MariaDBの特徴を見ていきましょう。
MariaDBはMySQLとの互換が高いという特徴があります。これはいずれも開発者がミカエル氏のためベースのプログラムが親しいということが大きな理由とえます。これによりMySQLからMariaDBへの切り替えも簡単でスムーズに行うことができます。
MariaDBはカラム型DBエンジンを使用しているという特徴があります。カラム型DBエンジンは一般のデータベースエンジンと違い列単位でデータ処理を行います。データを列単位で処理することにより、同一型データが並ぶためデータの圧縮効率が高くなります。また一般に列方向で行われる集計処理も高速になり、さらに列ごとに分散して並列に行えるというメリットがあります。このことから大規模なデータ分析や集計に最適といえます。
MariaDBはスケーラビリティという特徴があります。膨大な数のテーブル(数万)とレコード(数十億)を扱えるというスケーラビリティの高さ。小さなデータをスムーズに管理することにも向いているため小規模なプロジェクトにも向いております。
MariaDBは高性能という特徴があります。わかりやすい比較対象として度々MySQLが挙げられますが、同等またはそれ以上のパフォーマンスとまで言われております。高性能を実現するために「スレッドプーリング」「並列レプリケーション」「マルチソースレプリケーション」などの機能が標準で備えられております。
MariaDBの基本的なコマンドを以下の表にまとめておりますのでご覧ください。
(※基本的に大半のコマンドがMySQLと同様です。)
カテゴリ | 内容 | コマンド |
起動 | MySQLを起動 | service mysqld start |
停止 | MySQLを停止 | service mysqld stop |
データベース | データベース一覧の表示 | show databases; |
データベースへの接続 | use DB名; | |
テーブル | テーブル一覧の表示 | show tables; |
テーブル詳細の表示 | desc テーブル名; | |
ユーザー | ユーザー作成 | create user ユーザー名 [identified by ‘パスワード’] |
ユーザー確認 | select host,user from mysql.user; | |
ユーザー権限確認 | show grants for ユーザー名; | |
ユーザー名変更 | rename user 変更前のユーザー名 to 変更後のユーザー名 | |
ユーザー削除 | drop user ユーザー名 |
MariaDBを理解するために歴史や特徴、基本的なコマンドなどの基礎知識を簡単に解説させて頂きました。MariaDBを一言で表すと『MySQLから派生して誕生したオープンソースのリレーショナル型データベースシステム』です。MariaDBの特徴として「MySQLとの互換が高い」「カラム型DBエンジン」「スケーラビリティ」などが挙げられます。MariaDBについてこの記事で記載されている最低限の内容は理解しておくようにしましょう。