トップ OSS紹介 MariaDB

MariaDB

サポート対象

NRIのOpenStandiaが提供するMariaDB最新情報

バージョンアップ情報

MariaDB情報

MariaDBとは

MariaDBは、世界でもっとも人気のあるデータベースサーバの1つです。MySQLの元開発者によりオープンソースソフトウェアとして開発が行われています。データにアクセスするSQLインターフェースを提供するリレーショナルデータベースです。MariaDBのユーザの中には、Wikipediaや、Facebook、Google などの注目すべきユーザがいます。
MariaDBは、銀行のウェブサイトから幅広いアプリケーションで、構造化された情報データをやりとりします。MySQLの機能強化版もしくは、置き換えという位置づけになっています。MariaDBは幅広いユースケースに対応できるストレージエンジンや、プラグイン、その他多くのツールなどが利用でき、高速で、拡張性があり、堅牢であるため広く利用されています。MariaDB10.2以降ではGIS(地理情報システム)や、 JSON(JavaScript Object Notation)機能も含まれています。

主な特徴

MariaDBは以下の特徴があります。

多くのストレージエンジンを提供

標準のMyISAM、BLACKHOLE、CSV、MEMORY、 ARCHIVE、MERGE ストレージエンジンに加え、以下のものを含んでいます。

  • ColumnStore(データウェアハウス用に最適化されたカラム志向ストレージエンジン)
  • Aria
  • InnoDB(10.2以降はデフォルトのストレージエンジン)
  • XtraDB (10.1までは、デフォルトのストレージエンジン)
  • MyRocks(Facebook社で開発された性能・拡張性に優れたストレージエンジン)
  • FederateX(Federatedからの置き換え)
  • OQGRAPH
  • S3 Storage Engine
  • SphinxSE
  • CONNECT
  • SEQUENCE
  • Spider
  • Mroonga(CJKに対応した全文検索用ストレージエンジン)

性能改善の実施

主なものでは、以下のような性能改善が実施されています。

  • サブクエリの効率化
  • レプリケーションの高速化(バイナリログのグループコミット)
  • 並列レプリケーション
  • Windows上での InnoDB 非同期IOの改良
  • MEMORYエンジンのインデックス高速化
  • MyISAM のキーキャッシュや、ハッシュサイズの性能改善
  • CHECKSUM TABLEコマンドの高速化
  • 文字コード変換の性能改善
  • スレッドプールの改良による速度向上
  • MariaDBへのクライアント接続時のスピードを改善
  • デバッグが利用されていないときのDBUGコードの改善
  • Ariaストレージエンジン使用時の複雑なクエリーの高速化
  • テストスイートの拡張による多くテストをさらに高速化

機能拡張と新機能

主なものでは以下のような機能拡張および、新機能が加わっています。

  • Window関数の対応
  • マイクロ秒精度
  • DECIMAL型での小数点以下の最大桁数が30桁から38桁に拡張
  • WITH ステートメントによるCTE(Common Table Expressions)に対応
  • 再帰CTEに対応
  • CHECK制約に対応
  • BLOBやTEXT型でDEFAULTをサポート
  • Oracle風のEXECUTE IMMEDIATEステートメントに対応
  • JSON関連関数の追加
  • JOINの最適化を行う "Table Elimination" 機能
  • 仮想列(実在しない自動計算列)
  • CONSTRAINTやカラム定義においてCHECK制約式による制限の追加が可能
  • BLOBやTEXT型でもDEFAULT値の利用が可能
  • ユーザ統計情報の拡張
  • ユーザ単位でのKILLコマンドの実行
  • クエリーID単位でのKILLコマンドの実行
  • ユーザ認証のプラグイン機能
  • ストレージエンジンに応じた CREATE TABLE 構文
  • INFORMATIN SCHEMA の PLUGINS テーブルの機能拡張
  • バイナリログでグループコミットが利用可能
  • mysqlbinlog コマンドに "--rewrite-db" オプションの追加
  • 特定のコマンドにおいて、実行状況を表示する機能を追加
  • JOIN および、サブクエリの高速化
  • HandlerSocket 機能の追加および、HANDLER構文の高速化
  • Dynamic Columns機能を追加
  • GIS機能の追加
  • マルチソースレプリケーション機能の追加
  • グローバルトランザクションIDをサポート
  • SHOW EXPLAIN コマンドの追加
  • Roleベースの権限機能の追加
  • PCRE 正規表現ライブラリの更新
  • DELETE ... RETURNING構文のサポート
  • システム変数のデフォルト値の一部変更
  • その他多数(各バージョンのリリース情報を参照のこと)

テスト方法の改良

  • テストスイートによりより多くのテストを実施。
  • テストケースバグを改修。
  • よりよい機能テストを実施するため、異なるconfigureオプションによるテストを構築
  • 無効なテストを削除。

少ない警告やバグ

  • 可能なかぎり多くのバグを修正し、可能なかぎり多くのコンパイラ警告を解消。

真のオープンソース

  • MariaDBの全てのコードは、GPL、LGPLもしくはBSDによってリリースされています。
  • MariaDBはMySQL Enterprise Editionのようなクローズドソースモジュールを含んでいません。MySQL 5.5 Enterprise Editionのクローズドソース機能のすべては、MariaDBオープンソースバージョンに含まれています。
  • MariaDBのクライアントライブラリは、クローズドソースのソフトウェアとの連携を可能とするために、LGPLによりリリースされてい ます。
  • MariaDBはすべてのバグ修正のためのテストコードを含んでいます。OracleはMySQL5.5で修正された新しいバグに対して、テストケースを提供していません。
  • MariaDBではすべてのバグや開発計画が公開されています。
  • MariaDBは真のオープンソース精神で、コミュニティにより開発が行われています。

動作環境

以下のバイナリが提供されており、対応するOS/CPUは以下のとおりです。

バイナリパッケージ

OS/CPU

tar.gzファイル

ソースコード

MSI パッケージ

Windows(64ビット)

ZIP ファイル

Windows(64ビット)

tar.gzファイル

Linux(64ビット)

DEBパッケージ

Debian/Ubuntu

RPM パッケージ

RedHat Enterprise
Linux/CentOS/Fedora/Mageia/OpenSUSE/SUSE Enterprise Linux

pacman パッケージ

Arch Linux

※MariaDBは主要なLinuxディストリビュータの標準レポジトリで利用可能なので、OSのパッケージマネージャから、mariadb-server を探すだけで利用可能です。

MariaDBのライセンス

MariaDBのライセンスは、GPLのバージョン2によりリリースされています。MariaDBのクライアントライブラリは、クローズドソースのソフトウェアとの連携を可能とするために、LGPLによりリリースされています。

MySQLとの互換性

MySQLとMariaDBのバージョンの互換性は以下のとおりとなります。

MySQL バージョン

MariaDB バージョン

5.1

5.1、5.2、5.3

5.5

5.5、10.0

5.6

10.0、10.1、10.2、10.3、10.4

5.7

10.2、10.3、10.4

8.0

10.4、10.5、10.6、10.7、10.8

互換性があるという意味は、以下のとおりです。

  • データやテーブル定義ファイルにバイナリ互換性がある
  • 全てのクライアントAPIや、プロトコルや構造が、同一
  • 全てのファイル名、バイナリ、パス、ポート、ソケットなどは同じ
  • 全てのMySQLコネクタ(PHP、Perl、Python、Java、.NET、MyODBC、Ruby、MySQL Cコネクタなど)は、MariaDBでも変更なく動作する
  • mysql-client パッケージは、MariaDBサーバでも動作する
  • 共有クライアントライブラリはMySQLのクライアントライブラリとバイナリ互換がある

上記に記載したとおり、基本的には互換性が保障されていますが、いくつかの細かい点で非互換な部分が存在します。MariaDBとMySQLの各バージョンの互換性に関しては、以下のページを参照してください。

製品ダウンロード

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • PostgreSQL
    サポート対象

    PostgreSQL

    ポストグレエスキューエル。多くのOS・プラットフォームで稼動するオープンソースのリレーションナルデータベース管理システムです。

  • MongoDB
    サポート対象

    MongoDB

    モンゴデービー。高可用性、スケーラビリティ、スキーマレスに注目が集まる、NoSQLデータベースです。

  • MySQL
    サポート対象

    MySQL

    マイエスキューエル。多くのOS・プラットフォームで稼動するオープンソースのリレーションナルデータベース管理システム

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。