マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【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
ダウンロード
導入事例
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「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がサポートするストレージエンジン
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参考情報②「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」について紹介されています。
テーマ
・インストール方法
・設定パラメータ
・使い方
ページリンク
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を構築する
ページリンク
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク7位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク8位🏆
【無料で使える】「 マルウェア 」対策ツールまとめ - 🏆ランク9位🏆
【OSS情報アーカイブ】fping - 🏆ランク10位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力