マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】MariaDB

【OSS情報アーカイブ】MariaDB

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

コンテンツ

「MariaDB」とは

「MariaDB」基本情報

■概要

MariaDB(マリアディービー)とは、「MySQL」から派生したオープンソースリレーショナルデータベースシステムです。「拡張性」「処理性能」「高品質」が評価され、世界中で急速にシェアを拡大しています。

■基本説明

MariaDBは人気のあるデータベースサーバです。

「高速パフォーマンス」「高機能」「高信頼性」「堅牢性」「スケーラブル」「豊富なストレージエンジン」「プラグイン」「多くのツールが用意されたエコシステム」などの特徴により、さまざまなユースケースで非常に汎用性の高いデータベースとして使用されています。

■動作環境

MariaDBは「Linux」「Windows」「macOS」「Solaris」「UNIX」「BSD」などで動作します。

■経緯

・2009年 初版リリース

MariaDBは、コミュニティで開発されたMySQLのフォークプロダクトです。

MariaDBはMySQL開発チームのコアメンバーが中心となり、外部の開発者と積極的に協力して開発を重ねた結果、機能的で安定した健全なオープンライセンスのデータベースサーバとして成長し続けています。

■ユースケース

シェア拡大

MariaDBは、「開発精度の高さ」や「緻密さ」が世界中のエンジニアから評価され、ダウンロード数が急増しシェアを急速に拡大しています。

MariaDBのインストールは世界中で数百万件の実績があり、MariaDBインストールソフトウェアのダウンロードは1日に何千回もダウンロードされています。

主要Linuxディストリビューションに採用

多方面においてMariaDBのシェアが急速に広まっており、主要なLinuxディストリビューションである「Red Hat Enterprise Linux」「Fedora」「Ubuntu」「BSDディストリビューション」などにおいてMySQLに代わってMariaDBが標準データベースになっています。

主な用途

MariaDBは、プラグイン可能なストレージを活用して拡張であるため、拡張可能なデータベースプラットフォームとしてさまざまなワークロードをサポートできます。

・スタンドアロンアプリケーション
・Webアプリケーション
・クラウドアプリケーション
・IoT(Internet of Things)アプリケーション
・エンタープライズトランザクション
・分析システム
・モバイルデバイス
・地理情報システム「GIS(Geographic Information System)」 など

導入企業/サイト

・Google
・Mozilla
・Wikipedia
・ホテル予約オンラインサービス「Booking.com」 など

■オフィシャルサイト情報

オフィシャルサイト

→MariaDB(MariaDB.org – Supporting continuity and open collaboration)

ライセンス情報

MariaDBのライセンスは「GNU General Public License version 2+他」です。

詳細について、こちらを参照ください。
→MariaDB →MariaDB License

ダウンロード

→MariaDB →Download

導入事例

→MariaDB →Case Studies

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「MySQL」「PostgreSQL」など。

「MariaDB」の主な特徴

■リレーショナルデータベース

MariaDBはリレーショナルデータベースとして「データにアクセスするためのSQLインターフェース」と「高度なRDBMS機能」を提供します。
・Oracle Database互換性—PL/SQL
・一時表
・シャーディング
・ロールバック
・透過的データ暗号化
・ポイントインタイムを含む独自のデータベースでしか使用できない一連のエンタープライズ機能 など

■MySQL互換

概要

MariaDBは、MySQL開発コアメンバーによるプロジェクトが中心となり開発されているオープンソースリレーショナルデータベースです。

MariaDBは、MySQLのブランチに相当し、意識的にMySQL互換性を保ちながら開発されています。MySQLとの互換性を保ちつつも、「性能」や「堅牢性」を高めるための独自機能を追加して、よりよいデータベースとなることを目指し開発されています。
・MySQLとの高い後方互換性を持つ
・MySQLの不具合修正を定期的に反映
・MySQLのソースコードをベースにいくつかの機能を追加  など

MySQLのドロップイン置換

MariaDBは「より多くの機能」「新しいストレージエンジン」「より少ないバグ」「より良いパフォーマンス」を備えたMySQLのドロップイン置換として設計されています。

MariaDBは、MySQLとの高い互換性を維持し、ライブラリのバイナリパリティとMySQL APIおよびコマンドとの正確なマッチングによるドロップイン置換機能を保証しています。

APIとプロトコルの互換性

MariaDBのAPIとプロトコルは、MySQLで使用されるものと互換性があり、ネイティブのノンブロッキング操作と進捗報告をサポートするいくつかの機能を備えています。

ネイティブ機能をサポートしているかどうかに関わらず、MySQLで動作する多くの「コネクタ」「ライブラリ」「アプリケーション」もMariaDBで動作します。

MySQLからMariaDBへ容易に移行

「ディレクトリ構造」「データファイル」「表定義ファイル」「クライアントAPI」「プロトコル」などの互換性は高く、MySQLからMariaDBへの移行もスムーズに行えます。

互換性比較ドキュメント

オフィシャルサイトで、MariaDBとMySQLに関する互換性比較についてドキュメントがまとめられています。

→MariaDB →MariaDB versus MySQL – Compatibility

機能比較ドキュメント

同様に、MariaDBとMySQLに関する機能比較についてのドキュメントもまとめられています。

→MariaDB →MariaDB versus MySQL – Features

■ハイパフォーマンス

MariaDBはマルチスレッドを使用しているため、他のデータベースシステムよりも高負荷を処理できる機能を備えています。

その他、高性能を実現するためのさまざまな機能が標準で実装されています。
・スレッドプーリング
・並列レプリケーション
・マルチソースレプリケーション
・グループコミット
・MyISAMセグメントキーキャッシュなど など

■スケーラブル

MariaDBはスケーラビリティが高いため「数万のテーブル」や「数十億行のレコード」を扱えます。MariaDBはパフォーマンスに焦点を当て、スレッドモデルをベースにしているため、サイトやアプリケーションが「トラフィック急増」や「ビジネスの急速拡大」を経験する際において柔軟にスケールアウトできます。

また、少量データをすばやくスムーズに管理する用途にも向いているため、中小企業や個人プロジェクトにも活用できます。

■デプロイ性

MariaDBはインフラに依存せず、さまざまな環境でデプロイできます。

オンプレミス環境

MariaDBは、「ベアメタル」「バーチャルマシン」「プライベートデータセンター」などのオンプレミス環境にデプロイできます。

クラウド環境

MariaDBはクラウド環境(パブリック/プライベート/ハイブリッド)へのデプロイも可能です。

AWSやAzureでサポートされており「ディザスタリカバリ用途」や「データ分析用途」などに利用できます。

コンテナ環境

MariaDBは「Docker」「Kubernetes」「Red Hat OpenShift」などのコンテナにデプロイできます。

軽量で持ち運びが容易であるため数秒でインストールできます。

■セキュリティ

デフォルト暗号化

他の多くのデータベースシステムではデフォルトで暗号化されていませんが、MariaDBはデフォルトで暗号化できます。

特に複雑な手順を実施せずに、データベースに保管されたデータをセキュリティ保護できるメリットがあります。

オープンソースプロジェクト

クローズ開発プロダクトの場合は、ユーザーが「データアクセス用バックドアが存在するかどうか?」について確認することは難しい面があります。

MariaDBはオープン性を重視しています。MariaDBはオープンソースであり、全ソースコードが公開されているため、多くのユーザーによるソースコードレベルでのセキュリティ監査を行える環境が整っています。

そのため、ユーザーは安心して安全なデータベースとしてMariaDBを利用できます。

セキュリティ問題対応体制

MariaDBプロジェクトは特にセキュリティに焦点を当てています。

重大なセキュリティ問題が発見された場合、MariaDBのセキュリティリリースをすぐに準備し配布します。

MariaDB開発チームは、すべてのセキュリティ問題が迅速に報告され、十分詳細にドキュメント化される体制を整えることで信頼性を高めています。

■クライアントライブラリ

MariaDBプロジェクトは、ユーザーがプログラミング言語やアプリケーションからMariaDBに接続できるようにするためのクライアントライブラリを提供しています。
・クライアント/サーバプロトコル—クライアントとMariaDBサーバ間で使用されるプロトコル
・libmysqld—組み込みスタンドアローンMariaDBサーバ
・C言語/C++コネクタ
・Javaコネクタ—JDBCドライバコネクタ
・ODBCコネクタ
・Node.jsコネクタ—JavaScriptおよびNode.jsコネクタ
・Perl DBIコネクタ
・PHPコネクタ
・Pythonコネクタ
・Rubyコネクタ など

→MariaDB →Client Libraries

■ストレートエンジン

ストレートエンジンとは

ストレージエンジンとは、データベース管理システムがデータベースに対しデータを「挿入」「抽出」「更新」「削除」するために使用する基礎となるソフトウェア部品です。

MariaDBがサポートするストレージエンジン

MariaDBは、さまざまな利点を持つ多くのストレージエンジンを提供しています。トランザクションセーフなストレージエンジンはデータのロールバックを可能にします。
・MyRocks—優れた圧縮率を備える
・Aria—MyISAMをより良いキャッシュに置き換え
・FederatedX—Federatedのドロップイン置換
・SphinxSE
・TokuDB
・SEQUENCE
・Spider
・Cassandra など

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

MariaDB参考情報①「MariaDB入門編」+②「MariaDBとMySQLの比較」

MariaDB参考情報①「MariaDBとは(入門編)」

「MariaDB」の概要について解説しているサイトを紹介します。

■MariaDBオフィシャルサイト

ポイント

MariaDBのオフィシャルサイトです。最新情報を参照できます。

テーマ

・About MariaDB
・Download
・Learn
・Get Involved
・Events
・Sponsor
・Blog

ページリンク

→MariaDB(MariaDB.org – Supporting continuity and open collaboration)

■MariaDBナレッジベース

ポイント

MariaDBについてナレッジベースがまとめられています。

テーマ

・MariaDB Releases
・MariaDB Documentation
・MariaDB Knowledge Base
・Training & Tutorials
・Video Presentations & Screencasts
・FAQ
・Case Studies
・White Papers & Monographs
・Bug Tracking
・Server & Client Software

ページリンク

→MariaDB →Knowledge Base

MariaDB参考情報②「MariaDBとMySQLの比較」

「MariaDB」は「MySQL」の妹分というポジションにあるため、この2つはかなり似ています。

「MariaDB」と「MySQL」の違いについて解説しているサイトを紹介します。

■MariaDBの前提知識

ポイント

MariaDBを使っていくにあたって、MySQLとの比較を前提としつつ、各ポイントについて解説されています。

テーマ

・MySQLとの比較
・超図解
・クエリキャッシュとは
・スレッド周りの説明
・オプティマイザが分析時に利用する統計情報はいつ更新されるか
・perror (エラー内容確認ユーティリティ )

ページリンク

→Qiita →MariaDBをきちんと使っていく為の前知識

■性能比較

ポイント

「MySQL5.7とMariaDB10.1の性能比較」についてのスライドと、それに関する補足情報がまとめられています。

テーマ

・はじめに
・MariaDBの変だと思った所
・sysbenchの補足
・LinkBench実行についての補足
・その他ベンチマーク時にはまった点
・公開されているベンチマーク結果について
・最後に

ページリンク

→hiroi10の日記 →MySQL Casual Talks Vol.8 でMySQL 5.7とMariaDB 10.1の性能比較について発表しました

MariaDB参考情報③「MariaDBの環境別インストール方法」+④「MariaDBの使い方」

MariaDB参考情報③「MariaDBの環境別インストール方法」

MariaDBのインストール方法について環境別に紹介します。

■Windows編

ポイント

Windowsの場合は、インストーラーに従えば導入が完了します。

テーマ

・MariaDB概要
・入手方法
・対応OS
・インストール手順
・スクリーンショット
・入手先

ページリンク

→プログラム覚え書き →【手順】MariaDB 10.1系 インストール手順

■Mac編

ポイント

MySQLがインストールされている状態で、MySQLのリンクを外して、MariaDBをインストール方法についてまとめられています。

「brew」を使用してインストールします。

テーマ

・MySQLのリンクを外す
・MariaDBをインストールする

ページリンク

→tagamidaiki.com →今までMySQLが入っていたMacにhomebrewでMariaDBを入れる

■Docker編

ポイント

MariaDBをDockerコンテナ内のUbuntuにインストールする方法についてまとめられています。

MariaDBの設定ファイルについて細かく解説されています。

環境

・Ubuntu: 16.04.2 LTS
・MariaDB: Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

テーマ

・はじめに
・MariaDBのインストール
・MariaDBの初期設定
・MariaDBにユーザを追加
・MariaDBの設定ファイル
・まとめ

ページリンク

→Takahiro Octopress Blog →Dockerコンテナ内のUbuntuでMariaDBを使ってみよう!

■AWS編

ポイント

AWSにMariaDBのDBインスタンスを作成する方法について解説されています。

テーマ

・MariaDB DBインスタンスを作成する
・MariaDB データベースエンジンを実行している DB インスタンス上のデータベースに接続する
・DB インスタンスを削除する

ページリンク

→AWS →MariaDB DB インスタンスを作成して MariaDB DB インスタンス上のデータベースに接続する

MariaDB参考情報④「MariaDBの使い方」

MariaDBの「使い方」や「管理ツール」について紹介します。

■初期設定方法

ポイント

「CentOS7.1」環境にMariaDBをインストールして、初期設定する方法についてまとめられています。

テーマ

・はじめに
・環境情報
・Install
・設定ファイル作成
・初期設定
・DB作成
・権限設定
・テーブル作成

ページリンク

→Qiita →Memo: MariaDBのインストール/初期設定

■XAMPPによるMariaDB管理

ポイント

主要フリーソフトウェア管理ツール「XAMPP」を使用して、MariaDBの各種管理/設定を行なう方法について解説されています。

テーマ

・MariaDBの起動とサービス登録
・rootアカウントのパスワード設定
・rootのパスワード設定後にphpMyAdminのログインに関する設定を行う
・my.iniファイルの確認と修正
・phpMyAdminを使ったサンプルデータベースの作成
・PHPプログラムからMariaDBへ接続テスト

ページリンク

→AdminWeb →XAMPPの使い方 [→MariaDBの設定と利用]

■MariaDBの基本操作コマンド

ポイント

MariaDBを使用するための基本的な操作コマンドについてまとめられています。

テーマ

・MariaDB を管理するための基本操作コマンドについて
・MariaDB へログイン
・ユーザ登録、及び削除
・データベース/テーブル操作
・データベース作成
・データベースバックアップ、及びリストア

ページリンク

→etuts+ →[連載] CentOS 7 MariaDB インストールから使い方まで →第2回 : MariaDB テーブル管理、バックアップ等の基本操作コマンド

■負荷テストツール「mysqlslap」

ポイント

「MySQL」および「MariaDB」に備わっている負荷テスト機能「mysqlslap」の使用法についての解説です。

両者の性能比較検証も行われています。

テーマ

・今回の概要
・mysqlslapの使い方
・MariaDB(10.0.12)とMySQL(5.6.20)での実行比較

ページリンク

→TECH Pjin →MariaDB はじめてのMariaDB 【第11回 負荷テストツール(mysqlslap)】

■監査プラグイン「SERVER_AUDIT」

ポイント

MariaDBの監査プラグイン「SERVER_AUDIT」について紹介されています。

テーマ

・インストール方法
・設定パラメータ
・使い方

ページリンク

→Yakst →MariaDBの監査プラグインの導入

MariaDB参考情報⑤「MariaDB ColumnStoreとは」

MariaDB参考情報⑤「MariaDB ColumnStoreとは」

カラムストレージエンジン「MariaDB ColumnStore」について、概要と参考サイトを紹介します。

■カラムストレージエンジン「MariaDB ColumnStore」の概要

「MariaDB ColumnStore」は、カラム型(列指向型)データベースエンジンです。MariaDBのストレージエンジンとして組み込めます。

オープンソースプロジェクト(GPLv2)として開発されています。

「InfiniDB」ベース

「MariaDB ColumnStore」は、オープンソースのデータウェアハウス向けデータベース「InfiniDB」をフォークしたものです。

カラム型データベースエンジン

一般的なデータベースエンジンはデータを行単位で扱いますが、カラム型データベースエンジンは「列単位」で処理を行います。列単位ならではのメリットがあります。
・データ圧縮効率が高い(列単位処理で同一型データが並ぶため)
・列方向で行われる集計処理が高速
・列ごとに分散して並列処理が可能
・大規模な分析/集計処理に向いている

「MariaDB ColumnStore」の特徴

・MariaDBとの高い親和性(既存ストレージエンジンと統合して利用/管理できる)
・運用管理が簡潔
・大規模分散処理に対応(ペタバイトクラスのデータをリアルタイムで処理できるように設計)
・リニアスケールアウトによる並列処理
・データを高圧縮(最大25分の1にまで圧縮可能)
・Hadoopファイルシステム「HDFS」との統合が可能(SQLでのデータ分析が可能)
・「トランザクション」と「並列化分析」を同一技術で処理できる

■「MariaDB ColumnStore」発表記事①

ポイント

「MariaDB ColumnStore」発表に関する記事です。

ページリンク

→Publickey →MariaDB、カラム型データベースエンジン「MariaDB ColumnStore」発表。OLAPへ参入

■「MariaDB ColumnStore」発表記事②

ポイント

「MariaDB ColumnStore」発表に関する記事です。

ページリンク

→OSDN Magazine →MariaDB、ビッグデータ分析エンジン「MariaDB ColumnStore」を発表

■MariaDB ColumnStoreナレッジベース

ポイント

オフィシャルサイトのMariaDB ColumnStoreについてのナレッジベースです。

テーマ

・MariaDB ColumnStoreについて
・MariaDB ColumnStoreリリースノート
・ColumnStore入門
・ColumnStoreアップグレードガイド
・ColumnStoreアーキテクチャ
・ColumnStoreの管理
・ColumnStoreデータの処理
・ColumnStore SQLの構造とコマンド
・ColumnStoreパフォーマンスチューニング
・ColumnStoreシステム変数
・ColumnStoreセキュリティの脆弱性
・ColumnStoreのトラブルシューティング
・MariaDB ColumnStoreの使用
・MariaDBにColumnStoreを構築する

ページリンク

→MariaDB →MariaDB ColumnStore

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。