第13回:MySQLとMariaDBの比較

皆様、こんにちは。
MySQLとMariaDBについて最新バージョンをインストールし、各DBの違いについて検証を行いました。

1.検証環境

自分のPC上のVirtualbox6.0.10上に「CentOS Linux release 7.6」を構築し検証しました。

【ホストOS】

OS:Windows10
CPU:コア数4、スレッド数8
メモリ:8GB
VM:Virtualbox6.0.10

【ゲストOS】

OS:CentOS Linux release 7.6
CPU:1CPU
メモリ:1G

バージョンbasedirportinnodb_buffer_pool_size
8.0.18 MySQL Community Server/usr/local/mysql803308512M
10.4.10-MariaDB Server/usr/local/mariadb3309512M

※バイナリインストールでフォルダを分けることで同環境に共存を実現

ストレージエンジン

 MySQLMariaDB
ARCHIVE 
Aria 
BLACKHOLE 
CSV
FEDERATED 
InnoDB
MEMORY
MRG_MYISAM
MyISAM
PERFORMANCE_SCHEMA
SEQUENCE 

※●はデフォルトストレージエンジン

文字コード

					
mysql> status									
--------------									
			~省略~				
Server characterset:    utf8mb4									
Db      characterset:    utf8mb4									
			~省略~				
--------------									
									
									
MariaDB [(none)]> status									
--------------									
			~省略~				
Server characterset:    latin1									
Db      characterset:    latin1									
			~省略~				
--------------		
 MySQLMariaDB
character_set_serverutf8mb4latin1
character_set_databaseutf8mb4latin1

MariaDBで日本語(マルチバイト)を使用するにはUTF8に変更する必要があります。

その他パラメータ差異については、下記のURLを参照ください。
https://mariadb.com/kb/en/library/system-variable-differences-between-mariadb-104-and-mysql-80/

2.パフォーマンス検証

負荷ツール「mysqlslap」を使いパフォーマンス検証を行いました。

▶mysqlslapとは

MySQLが公式でサポートしている負荷エミュレーションクライアントです。
MySQLサーバのクライアント負荷をエミュレートし、各ステージのタイミングを報告する診断プログラムです。

試験ケース

 項目設定値
スレッド数50
データ件数1000
クエリ数1000
NOケース
1read(テーブルスキャン)
2write(テーブルへの挿入)
3key(主キー読み取り)
4mixed(挿入とテーブルスキャンを半々)
5update(更新)

3.検証結果

ケース平均(Average number of seconds)※単位:秒
MySQL 8MariaDB 10
read(テーブルスキャン)7.1256.011
write(テーブルへの挿入)0.4630.221
key(主キー読み取り)0.20.16
mixed(挿入とテーブルスキャンを半々)0.3650.235
update(更新)0.5590.274

※特定条件(PC上の仮想環境上、デフォルトパラメータ、負荷ツール)での性能試験結果となりますので、参考情報としてお考え下さい。

コラム検索

連載タイトル

DOWNLOAD

資料ダウンロード

CONTACT

お問い合わせ