MariaDBはリレーショナルデータベースとして「データにアクセスするためのSQLインターフェース」と「高度なRDBMS機能」を提供します。
・Oracle Database互換性---PL/SQL
・一時表
・シャーディング
・ロールバック
・透過的データ暗号化
・ポイントインタイムを含む独自のデータベースでしか使用できない一連のエンタープライズ機能 など
MariaDBは、MySQL開発コアメンバーによるプロジェクトが中心となり開発されているオープンソースリレーショナルデータベースです。
MariaDBは、MySQLのブランチに相当し、意識的にMySQL互換性を保ちながら開発されています。MySQLとの互換性を保ちつつも、「性能」や「堅牢性」を高めるための独自機能を追加して、よりよいデータベースとなることを目指し開発されています。
・MySQLとの高い後方互換性を持つ
・MySQLの不具合修正を定期的に反映
・MySQLのソースコードをベースにいくつかの機能を追加 など
MariaDBは「より多くの機能」「新しいストレージエンジン」「より少ないバグ」「より良いパフォーマンス」を備えたMySQLのドロップイン置換として設計されています。
MariaDBは、MySQLとの高い互換性を維持し、ライブラリのバイナリパリティとMySQL APIおよびコマンドとの正確なマッチングによるドロップイン置換機能を保証しています。
MariaDBのAPIとプロトコルは、MySQLで使用されるものと互換性があり、ネイティブのノンブロッキング操作と進捗報告をサポートするいくつかの機能を備えています。
ネイティブ機能をサポートしているかどうかに関わらず、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は、さまざまな利点を持つ多くのストレージエンジンを提供しています。トランザクションセーフなストレージエンジンはデータのロールバックを可能にします。
・MyRocks---優れた圧縮率を備える
・Aria---MyISAMをより良いキャッシュに置き換え
・FederatedX---Federatedのドロップイン置換
・SphinxSE
・TokuDB
・SEQUENCE
・Spider
・Cassandra など
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
Open Source Data Management Software Survey オープンソースデータベースサービス提供企業「Percona」は、オープンソースデータベースを使用する人々の使用パターンと意見を収集するために広範な調査を実施した。 調査には85か国から836人が参加した。
OSS×Cloud ACCESS RANKING