2013年2月5日火曜日

MariaDB vs MySQL の仁義なき兄弟対決


MariaDB vs MySQL の仁義なき兄弟対決

まりあDBって?
mysqlの創始者であらせられるMichael "Monty" Wideniusさんが立ち上げたプロジェクトで作成された
mysqlと完全互換を謳うでーたべーすえんじん。とのこと(wikiを意訳)

理由
次期FedoraやSUSEのデフォルトDBエンジンに採用されるとかなんとかいう噂が聞こえてくる、MariaDB。
お話によるとMySQLの2.7倍のパフォーマンスだとか、1.5倍のパフォーマンスだとかいろいろ聞こえてくるので、
じゃあ一回見てみるかということで、両社の性能対決をしてみようというお話。

これとかで出てますね。
http://it.slashdot.jp/story/13/02/03/0631254/Fedora-19%E3%81%A7%E3%81%AFMySQL%E3%81%AB%E4%BB%A3%E3%81%88%E3%81%A6MariaDB%E3%82%92%E6%8E%A1%E7%94%A8

対決する環境
 さくらVPS1480円プラン
* サーバ1
** ミドルウェア
 MySQL       5.5.29
 mysql-bench 5.5.29
** 設定
 yumでいれたまんまのデフォルトのmy.cnf
* サーバ2
** ミドルウェア
 MariaDB     5.5.29
 mysql-bench 5.5.29
** 設定
 設定差をなくすため、1のmy.cnf流用

** 結果
Operation    seconds  usr      sys    cpu    tests
MySQL  :    5363.00  325.59   55.63  381.22 3425950
MariaDB:    6539.00  366.44   75.14  441.58 3425950

** まとめ
MySQL兄貴の大勝利!
やはり兄より優れた弟は存在しなかったのか・・・?
やっつけな比較なので何とも言えないですが、デフォルト設定同士だと、
MySQLに分があったようですにぃ。

おわり

あとオマケ

MYSQL
--------------------------------------------------------------------------------
Benchmark DBD suite: 2.15
Date of test:        2013-02-05  9:26:33
Running tests on:    Linux 2.6.32-220.23.1.el6.x86_64 x86_64
Arguments:
Comments:
Limits from:
Server version:      MySQL 5.5.29 MariaDB log
Optimization:        None
Hardware:

alter-table: Total time: 79 wallclock secs ( 0.12 usr  0.04 sys +  0.00 cusr  0.00 csys =  0.16 CPU)
ATIS: Total time: 46 wallclock secs ( 3.99 usr  0.34 sys +  0.00 cusr  0.00 csys =  4.33 CPU)
big-tables: Total time: 36 wallclock secs ( 2.62 usr  0.51 sys +  0.00 cusr  0.00 csys =  3.13 CPU)
connect: Total time: 135 wallclock secs (37.48 usr 12.30 sys +  0.00 cusr  0.00 csys = 49.78 CPU)
create: Total time: 485 wallclock secs ( 7.47 usr  2.04 sys +  0.00 cusr  0.00 csys =  9.51 CPU)
insert: Total time: 5170 wallclock secs (291.62 usr 56.01 sys +  0.00 cusr  0.00 csys = 347.63 CPU)
select: Total time: 317 wallclock secs (23.57 usr  2.92 sys +  0.00 cusr  0.00 csys = 26.49 CPU)
transactions: Test skipped because the database doesn't support transactions
wisconsin: Total time: 132 wallclock secs ( 3.21 usr  1.10 sys +  0.00 cusr  0.00 csys =  4.31 CPU)

All 9 test executed successfully

Totals per operation:
Operation             seconds     usr     sys     cpu   tests
alter_table_add                       15.00    0.03    0.00    0.03     100
alter_table_drop                      12.00    0.01    0.01    0.02      91
connect                                5.00    2.84    0.67    3.51   10000
connect+select_1_row                   9.00    4.30    1.06    5.36   10000
connect+select_simple                  7.00    3.13    0.78    3.91   10000
count                                  8.00    0.03    0.00    0.03     100
count_distinct                         5.00    0.13    0.03    0.16    1000
count_distinct_2                      10.00    0.14    0.02    0.16    1000
count_distinct_big                     9.00    2.51    0.05    2.56     120
count_distinct_group                   9.00    0.48    0.03    0.51    1000
count_distinct_group_on_key            7.00    0.14    0.01    0.15    1000
count_distinct_group_on_key_parts      7.00    0.40    0.02    0.42    1000
count_distinct_key_prefix              3.00    0.12    0.01    0.13    1000
count_group_on_key_parts               7.00    0.46    0.02    0.48    1000
count_on_key                          67.00    6.21    0.86    7.07   50100
create+drop                           77.00    1.40    0.37    1.77   10000
create_MANY_tables                    61.00    1.11    0.24    1.35   10000
create_index                           1.00    0.00    0.00    0.00       8
create_key+drop                      101.00    1.81    0.36    2.17   10000
create_table                           1.00    0.02    0.00    0.02      31
delete_all_many_keys                 195.00    0.02    0.00    0.02       1
delete_big                             0.00    0.00    0.00    0.00       1
delete_big_many_keys                 195.00    0.02    0.00    0.02     128
delete_key                            24.00    0.48    0.12    0.60   10000
delete_range                           4.00    0.00    0.00    0.00      12
drop_index                             0.00    0.00    0.00    0.00       8
drop_table                             0.00    0.00    0.00    0.00      28
drop_table_when_MANY_tables           34.00    0.52    0.15    0.67   10000
insert                              1204.00   16.97    5.71   22.68  350768
insert_duplicates                     13.00    3.47    1.15    4.62  100000
insert_key                           460.00    6.93    1.80    8.73  100000
insert_many_fields                     9.00    0.21    0.05    0.26    2000
insert_select_1_key                    2.00    0.00    0.00    0.00       1
insert_select_2_keys                   3.00    0.00    0.00    0.00       1
min_max                                4.00    0.01    0.01    0.02      60
min_max_on_key                        18.00    7.95    1.44    9.39   85000
multiple_value_insert                  3.00    0.16    0.01    0.17  100000
once_prepared_select                  18.00    5.00    1.33    6.33  100000
order_by_big                           9.00    6.77    0.09    6.86      10
order_by_big_key                       8.00    6.90    0.09    6.99      10
order_by_big_key2                      8.00    7.15    0.06    7.21      10
order_by_big_key_desc                 10.00    7.09    0.11    7.20      10
order_by_big_key_diff                  8.00    6.91    0.08    6.99      10
order_by_big_key_prefix                8.00    7.02    0.06    7.08      10
order_by_key2_diff                     2.00    0.87    0.01    0.88     500
order_by_key_prefix                    0.00    0.37    0.00    0.37     500
order_by_range                         1.00    0.34    0.01    0.35     500
outer_join                            11.00    0.00    0.00    0.00      10
outer_join_found                      10.00    0.00    0.00    0.00      10
outer_join_not_found                   9.00    0.01    0.00    0.01     500
outer_join_on_key                      7.00    0.00    0.00    0.00      10
prepared_select                       24.00    9.64    1.37   11.01  100000
select_1_row                          14.00    3.38    1.27    4.65  100000
select_1_row_cache                    12.00    2.85    1.21    4.06  100000
select_2_rows                         13.00    3.25    1.14    4.39  100000
select_big                             9.00    7.33    0.00    7.33      80
select_big_str                         4.00    1.73    0.41    2.14   10000
select_cache                          44.00    1.08    0.17    1.25   10000
select_cache2                         42.00    1.14    0.16    1.30   10000
select_column+column                  15.00    3.40    1.34    4.74  100000
select_diff_key                        0.00    0.05    0.01    0.06     500
select_distinct                        2.00    0.56    0.02    0.58     800
select_group                           9.00    0.55    0.04    0.59    2911
select_group_when_MANY_tables          3.00    0.38    0.15    0.53   10000
select_join                            1.00    0.24    0.01    0.25     100
select_key                            52.00   22.19    3.98   26.17  200000
select_key2                           58.00   25.31    3.43   28.74  200000
select_key2_return_key                52.00   22.41    3.26   25.67  200000
select_key2_return_prim               55.00   24.10    3.38   27.48  200000
select_key_prefix                     52.00   22.65    3.05   25.70  200000
select_key_prefix_join                 2.00    1.63    0.01    1.64     100
select_key_return_key                 53.00   22.98    4.07   27.05  200000
select_many_fields                    10.00    1.75    0.27    2.02    2000
select_range                          29.00    2.82    0.11    2.93     410
select_range_key2                      7.00    2.45    0.26    2.71   25010
select_range_prefix                    5.00    2.39    0.28    2.67   25010
select_simple                          7.00    2.55    1.14    3.69  100000
select_simple_cache                    7.00    2.17    0.87    3.04  100000
select_simple_join                     0.00    0.28    0.01    0.29     500
update_big                            23.00    0.00    0.00    0.00      10
update_of_key                        177.00    2.41    0.80    3.21   50000
update_of_key_big                     27.00    0.03    0.01    0.04     501
update_of_primary_key_many_keys      477.00    0.02    0.01    0.03     256
update_with_key                     1031.00   13.20    4.61   17.81  300000
update_with_key_prefix               348.00    7.30    1.89    9.19  100000
wisc_benchmark                         1.00    0.93    0.07    1.00     114
TOTALS                              5363.00  325.59   55.63  381.22 3425950
aag
--------------------------------------------------------------------------------


まりあDB
--------------------------------------------------------------------------------
Benchmark DBD suite: 2.15
Date of test:        2013-02-05  9:26:35
Running tests on:    Linux 2.6.32-220.23.1.el6.x86_64 x86_64
Arguments:
Comments:
Limits from:
Server version:      MySQL 5.5.29 log
Optimization:        None
Hardware:

alter-table: Total time: 31 wallclock secs ( 0.09 usr  0.02 sys +  0.00 cusr  000 csys =  0.11 CPU)
ATIS: Total time: 40 wallclock secs ( 3.86 usr  0.24 sys +  0.00 cusr  0.00 csy =  4.10 CPU)
big-tables: Total time: 19 wallclock secs ( 1.97 usr  0.32 sys +  0.00 cusr  0.0 csys =  2.29 CPU)
connect: Total time: 93 wallclock secs (29.60 usr  9.89 sys +  0.00 cusr  0.00 sys = 39.49 CPU)
create: Total time: 276 wallclock secs ( 5.22 usr  1.27 sys +  0.00 cusr  0.00 sys =  6.49 CPU)
insert: Total time: 4342 wallclock secs (263.28 usr 40.53 sys +  0.00 cusr  0.0 csys = 303.81 CPU)
select: Total time: 278 wallclock secs (22.91 usr  2.89 sys +  0.00 cusr  0.00 sys = 25.80 CPU)
transactions: Test skipped because the database doesn't support transactions
wisconsin: Total time: 109 wallclock secs ( 2.43 usr  0.59 sys +  0.00 cusr  0.0 csys =  3.02 CPU)

All 9 test executed successfully

Totals per operation:
Operation             seconds     usr     sys     cpu   tests
alter_table_add                       38.00    0.02    0.00    0.02     100
alter_table_drop                      36.00    0.03    0.01    0.04      91
connect                               11.00    5.19    1.34    6.53   10000
connect+select_1_row                  20.00    5.99    1.64    7.63   10000
connect+select_simple                 12.00    4.99    1.23    6.22   10000
count                                  9.00    0.02    0.00    0.02     100
count_distinct                         5.00    0.15    0.01    0.16    1000
count_distinct_2                      10.00    0.16    0.01    0.17    1000
count_distinct_big                    11.00    2.87    0.05    2.92     120
count_distinct_group                   8.00    0.35    0.02    0.37    1000
count_distinct_group_on_key            7.00    0.14    0.02    0.16    1000
count_distinct_group_on_key_parts      9.00    0.39    0.02    0.41    1000
count_distinct_key_prefix              3.00    0.11    0.02    0.13    1000
count_group_on_key_parts              10.00    0.56    0.02    0.58    1000
count_on_key                          72.00    5.58    0.87    6.45   50100
create+drop                          125.00    2.19    0.63    2.82   10000
create_MANY_tables                    75.00    1.26    0.31    1.57   10000
create_index                           1.00    0.00    0.00    0.00       8
create_key+drop                      224.00    2.91    0.66    3.57   10000
create_table                           1.00    0.01    0.00    0.01      31
delete_all_many_keys                 162.00    0.02    0.00    0.02       1
delete_big                             0.00    0.01    0.00    0.01       1
delete_big_many_keys                 162.00    0.02    0.00    0.02     128
delete_key                            32.00    0.54    0.27    0.81   10000
delete_range                          14.00    0.00    0.01    0.01      12
drop_index                             0.00    0.00    0.00    0.00       8
drop_table                             0.00    0.01    0.00    0.01      28
drop_table_when_MANY_tables           57.00    0.74    0.29    1.03   10000
insert                              1448.00   23.72   11.02   34.74  350768
insert_duplicates                     24.00    5.25    2.03    7.28  100000
insert_key                           527.00    8.96    3.21   12.17  100000
insert_many_fields                    24.00    0.38    0.08    0.46    2000
insert_select_1_key                    9.00    0.00    0.00    0.00       1
insert_select_2_keys                  15.00    0.00    0.00    0.00       1
min_max                                6.00    0.02    0.01    0.03      60
min_max_on_key                        22.00    8.89    1.40   10.29   85000
multiple_value_insert                  5.00    0.20    0.02    0.22  100000
once_prepared_select                  28.00    6.02    1.54    7.56  100000
order_by_big                          10.00    7.37    0.07    7.44      10
order_by_big_key                      11.00    9.37    0.11    9.48      10
order_by_big_key2                      9.00    7.67    0.08    7.75      10
order_by_big_key_desc                 10.00    7.79    0.13    7.92      10
order_by_big_key_diff                  8.00    7.22    0.08    7.30      10
order_by_big_key_prefix               10.00    7.38    0.06    7.44      10
order_by_key2_diff                     1.00    0.65    0.01    0.66     500
order_by_key_prefix                    0.00    0.34    0.01    0.35     500
order_by_range                         1.00    0.36    0.00    0.36     500
outer_join                            17.00    0.01    0.00    0.01      10
outer_join_found                      12.00    0.00    0.00    0.00      10
outer_join_not_found                  11.00    0.00    0.00    0.00     500
outer_join_on_key                     10.00    0.00    0.00    0.00      10
prepared_select                       36.00   12.42    1.72   14.14  100000
select_1_row                          19.00    3.81    1.46    5.27  100000
select_1_row_cache                    16.00    3.35    1.37    4.72  100000
select_2_rows                         19.00    3.88    1.46    5.34  100000
select_big                            10.00    8.61    0.06    8.67      80
select_big_str                         4.00    1.35    0.33    1.68   10000
select_cache                          50.00    1.12    0.16    1.28   10000
select_cache2                         51.00    1.18    0.16    1.34   10000
select_column+column                  18.00    3.49    1.47    4.96  100000
select_diff_key                        0.00    0.05    0.00    0.05     500
select_distinct                        2.00    0.51    0.01    0.52     800
select_group                          11.00    0.53    0.04    0.57    2911
select_group_when_MANY_tables          4.00    0.37    0.15    0.52   10000
select_join                            1.00    0.26    0.00    0.26     100
select_key                            61.00   24.28    3.43   27.71  200000
select_key2                           68.00   24.69    3.91   28.60  200000
select_key2_return_key                59.00   21.80    3.40   25.20  200000
select_key2_return_prim               64.00   23.51    3.48   26.99  200000
select_key_prefix                     60.00   21.69    3.14   24.83  200000
select_key_prefix_join                 2.00    1.50    0.02    1.52     100
select_key_return_key                 61.00   24.70    3.78   28.48  200000
select_many_fields                    11.00    2.23    0.43    2.66    2000
select_range                          32.00    2.89    0.08    2.97     410
select_range_key2                      6.00    1.88    0.17    2.05   25010
select_range_prefix                    7.00    2.39    0.25    2.64   25010
select_simple                          9.00    2.90    1.08    3.98  100000
select_simple_cache                    7.00    2.53    0.92    3.45  100000
select_simple_join                     0.00    0.30    0.01    0.31     500
update_big                            70.00    0.00    0.00    0.00      10
update_of_key                        241.00    3.07    1.73    4.80   50000
update_of_key_big                     53.00    0.06    0.02    0.08     501
update_of_primary_key_many_keys      424.00    0.04    0.01    0.05     256
update_with_key                     1286.00   17.99    9.68   27.67  300000
update_with_key_prefix               442.00   10.08    3.77   13.85  100000
wisc_benchmark                         3.00    1.12    0.15    1.27     114
TOTALS                              6539.00  366.44   75.14  441.58 3425950
--------------------------------------------------------------------------------

0 件のコメント:

コメントを投稿