リレーショナルデータベース管理システム(RDBMS)は、多様なシステムの中核として重要な機能を果たします。RDBMSにはさまざまな種類がありますが、MariaDBはオープンソースで提供され、AWSでも利用可能です。
今回は、MariaDBの概要としてMySQLなどとの違いなど特徴を解説し、AWSにおける利用についても取り上げます。
MariaDBとは
MariaDBはMySQLから派生したRDBMSです。MariaDB Foundationが主体となって開発を進めていましたが、2022年の2月に新規株式公開(IPO)の意向を発表しました。
RDBMSにおける位置づけ、開発の経緯や特徴を整理します。
MariaDBの位置づけ、開発の経緯
データベースには階層型、ネットワーク型、リレーショナル型があり、現在最も多く使われているタイプはリレーショナル型です。リレーショナル型ではSQLを用いて管理します。リレーショナル型の課題を解決するNoSQLも登場しています。
商用型の主要なRDBMSにはオラクル社のOracle Databaseとマイクロソフト社のSQL Serverが有名です。一方、オープンソースとして登場したMySQLは2010年にオラクル社に買収され、オラクル社の製品群のひとつになりました。現在MySQLはGPL (General Public License)と商用のデュアルライセンスで提供されています。
このMySQLの作者であるウルフ・ミカエル・ウィデニウス氏(通称:モンティ)によって立ち上げられたオープンソースのRDBMSがMariaDBです。2009年10月、MariaDBはサン・マイクロシステムズ社を退職したミカエル氏によってリリースされました。したがって開発思想が同じであり、いわば姉妹のようなRDBMSといえるでしょう。
ちなみに「Maria(マリア)」は次女の名前から命名されているそうです。また、MySQLの「My」は長女「My(ミー)」が由来とも言われています。
オープンソースのOSであるLinuxはリーナス・トーバルズ氏の名前から命名されてペンギンのキャラクターですが、MySQLはイルカ、MariaDBはアザラシをロゴマークに使っていることが象徴的です。バルト海に面した北欧のフィンランド出身であることが関係しているのかもしれません。
MariaDBの特徴
開発精度の高さなどが世界中から高く評価されています。処理スピードのほか、拡張性の面でも優れた特徴を持ちます。Linuxのディストリビューションで採用され、急速に浸透するようになりました。
MariaDBはMySQL5.5をもとに分岐したRDBMSのため歴史が新しく、MySQLにはない強みを持っています。機能面としてまとめると、たとえば以下の3つが大きな特徴です。
・カラム型データベースエンジン(ColumnStore)
・冗長化構成の「Galera Cluster」
・負荷分散を担うロードバランサー「MaxScale」
レプリケーション時の並列処理が可能であり、複数マスターを利用できます。また、グローバルトランザクションIDにより、サーバーを柔軟に切り替えられます。
GPLライセンスの形態で配布され、プログラムの実行や複製だけでなく、再配布および改変が可能です。活発な開発者のコミュニティも大きな特徴であり、日々改良が続けられています。
MariaDBのメリットとデメリット
ビッグデータとしてデータベースが扱う情報は増加しつつありますが、このような大量のデータに対応できるメリットがあります。ただ、オープンソースであることには若干の留意が必要かもしれません。
MariaDBのメリット
MariaDBには次のようなメリットがあります。
・My SQLとの高い互換性
・大規模のデータ分析や集計に最適
・将来性があること
そもそもMySQLとの互換性を目標として開発および改良が加えられているため、非常に高い互換性がありデータベース間の不具合の修正に取り組んでいます。データベース間の移行がスムーズです。
大規模のデータ分析や集計に最適な理由として、列単位でデータ処理を行うカラム型データベースエンジン(ColumnStore)によって、データ圧縮率を高めて処理を分散できます。スケーラビリティに優れているため、小規模システムからの利用も可能です。
将来性としては、開発者コミュニティに支えられている点が大きいといえるでしょう。MySQLとの互換性を保つために、常に不具合に対応しています。信頼性とともに最新のニーズに応えるポテンシャルがあります。
MariaDBのデメリット
オラクル社がMySQLを買収した際に、閉鎖的な商用データベースに対抗する完全なオープンソースとしてMariaDBが登場しました。当時は対立的に考えられていましたが、その後は互換性を重視した協調関係にあります。
ただし高性能のRDBMSである反面、オープンソースによるデメリットがないとはいえません。オープンソースのソフトウェア(OSS)は一般的に開発者に支えられて自由な環境で提供されていますが、使いこなすためにはある程度の知識が求められ、最新情報を積極的に収集する必要があります。MariaDBにもオープンソースならではの特性があるといえるでしょう。
MariaDBとMySQLの違い
性能面ではMariaDBの高速処理などの性能に優位性があるとはいえ、基本的にはどちらのRDBMSも大きな変わりはありません。違いについてライセンス形態、機能、利用の実態から取り上げます。
ライセンス形態
MariaDBはGPLライセンスを主体とした完全なオープンソースとして提供されています。一方、MySQLはオラクル社からGPLライセンスと商用ライセンスのデュアルライセンスで提供され、商用ライセンスを使用して再配布する際には料金が発生します。
機能
MySQLはWindows、MacOS、Linuxで稼働するマルチプラットフォームのデータベースです。MariaDBは主としてUbuntu、Debian、CentOSなどのLinuxのディストリビューション上で使われます。
データ形式として、MySQL はJSON( JavaScript Object Notification)にネイティブで対応し、迅速なアクセスができるメリットがありました。MariaDBはJSONをデータ型として採用していませんでしたが、バージョン10.2移行で追加しています。
セキュリティの側面からは、MariaDBの堅牢性が高く評価されています。権限付与の設定のほか、MySQLより暗号化の対象が多くなっていることが特徴です。
利用の実態
MySQLはAmazon、Twitterのほか、動画配信のNetflixなど世界中の大企業が利用していることで注目されました。WordPressのようなCMSでも利用され、一般に浸透しています。かつてGoogleやWikipediaなどの企業もMySQLを採用していましたが、MariaDBに乗り換えました。ただし、オラクル社がMySQLを買収した当時の話です。
Amazon RDS for MariaDBの概要
AWSではAmazon RDSとして、Oracle、MySQL、Amazon AuroraなどのデータベースエンジンとともにMariaDBも利用可能です。
マネジメントコンソールから簡単にMariaDBを起動して接続可能です。データベースのインスタンスは、サーバータイプに合わせたパラメータなどが事前に設定されています。
MariaDB向けのデータベースのストレージは、小規模または中規模のワークロード向けに効率的な汎用 (SSD) ストレージ、最大 80,000 IO の安定した稼働を実現するOLTP アプリケーション用プロビジョンドIOPS (SSD) ストレージ、そしてマグネティックストレージを備えています。
バックアップ機能は自動化され、指定した最大35日間の保存時間からインスタンスを普及可能です。
ONETECHでのDB構築、運用の実績
ONETECHはベトナムでオフショア開発を実施しています。最近ではSAASのようなクラウドサービスの開発をAWSで構築、運用することが増えています。ビジネス用途としてはB2C、B2B両者のクラウドシステムがあります。その中で、もちろんDB構築も対応しております。AWS EC2での構築だけでなく、RDS for Oracle、MariaDB、MySQL、Auroraなどに用途に応じて対応します。またサーバレス構成でDynamoDBにも対応可能です。クラウドサービスを構築にご興味のあるお客様は是非ご相談ください。全て日本語で対応可能です。
おわりに
MariaDBは高性能かつMySQLと互換性によって注目されているオープンソースのRDBMSです。管理している組織はIPOを表明しましたが、基本路線は変わらないことを報じています。大規模のデータを扱うソリューションでは活用を考えるとよいでしょう。
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
Lambdaを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する