MariaDB 10之TokuDB存储引擎

TokuDB存储引擎,你可以把它看做是ARCHIVE存储引擎的升级版,它拥有了密集压缩,并且支持事务。


压缩比:

EngineCompressionTable size [MB]
InnoDB none 2272
InnoDB KEY_BLOCK_SIZE=8 1144
InnoDB KEY_BLOCK_SIZE=4 584
MyISAM none 1810
MyISAM compressed with myisampack 809
Archive default 211
TokuDB ZLIB 284
TokuDB LZMA 208


特性:

FeatureArchiveMyISAM (compressed)InnoDBTokuDB
DMLonly INSERTsnoyesyes
Transactionsnonoyesyes
ACIDnonoyesyes
Indexesnoyesyesyes
Online DDLnonoyes *yes **


MariaDB10,已经内嵌了TokuDB存储引擎,安装超简单,如下:

wKiom1OtPlfCi288AAKnwHfPFQI258.jpg

wKiom1OtM0XAGza2AAHWxjkDGtQ067.jpg

wKioL1OtMxeBeePWAAHBl7c2-ic775.jpg

wKiom1OtM0WD21kHAALMk2W8OOQ524.jpg


调优:

Configuration: what’s really important

As noted by Vadim long ago, “Tuning of TokuDB is much easier than InnoDB, there’re only a few parameters to change, and actually out-of-box things running pretty well“:
TokuDB调优比InnoDB简单的多,只是有一些参数变化,或者你直接使用默认参数,也运行的良好。

MariaDB [(none)]> show variables like '%tokudb%';
+---------------------------------+-------------+
| Variable_name                   | Value       |
+---------------------------------+-------------+
| tokudb_alter_print_error        | OFF         |
| tokudb_analyze_time             | 5           |
| tokudb_block_size               | 4194304     |
| tokudb_cache_size               | 120926208   |
| tokudb_checkpoint_lock          | OFF         |
| tokudb_checkpoint_on_flush_logs | OFF         |
| tokudb_checkpointing_period     | 60          |
| tokudb_cleaner_iterations       | 5           |
| tokudb_cleaner_period           | 1           |
| tokudb_commit_sync              | ON          |
| tokudb_create_index_online      | ON          |
| tokudb_data_dir                 |             |
| tokudb_debug                    | 0           |
| tokudb_directio                 | OFF         |
| tokudb_disable_hot_alter        | OFF         |
| tokudb_disable_prefetching      | OFF         |
| tokudb_disable_slow_alter       | OFF         |
| tokudb_empty_scan               | rl          |
| tokudb_fs_reserve_percent       | 5           |
| tokudb_fsync_log_period         | 0           |
| tokudb_hide_default_row_format  | ON          |
| tokudb_init_flags               | 11403457    |
| tokudb_killed_time              | 4000        |
| tokudb_last_lock_timeout        |             |
| tokudb_load_save_space          | ON          |
| tokudb_loader_memory_size       | 100000000   |
| tokudb_lock_timeout             | 4000        |
| tokudb_lock_timeout_debug       | 1           |
| tokudb_log_dir                  |             |
| tokudb_max_lock_memory          | 15115776    |
| tokudb_pk_insert_mode           | 1           |
| tokudb_prelock_empty            | ON          |
| tokudb_read_block_size          | 65536       |
| tokudb_read_buf_size            | 131072      |
| tokudb_read_status_frequency    | 10000       |
| tokudb_row_format               | tokudb_zlib |
| tokudb_tmp_dir                  |             |
| tokudb_version                  | 7.1.6       |
| tokudb_write_status_frequency   | 1000        |
+---------------------------------+-------------+
39 rows in set (0.01 sec)


The most important of the tokudb_ variables is arguably tokudb_cache_size. The test server where I ran those tests (test01) have a little less than 1G of memory and as you can see above TokuDB is “reserving” half (50%) of them to itself. That’s the default behavior but, of course, you can change it. And you must do it if you are also going to have InnoDB tables on your server – you should not overcommit memory between InnoDB and TokuDB engines. Shlomi Noach wrote a good post explaining the main TokuDB-specific variables and what they do. It’s definitely a worth read.
(最重要的参数是tokudb_cache_size,它类似innodb_buffer_pool_size,如果你的服务器跑着两种引擎InnoDB和TokuDB,那么你得小心点了,别把内存用光了。)


参考:http://www.mysqlperformanceblog.com/2014/06/26/percona-server-with-tokudb-beta-installation-configuration/


注:因此引擎比较新,没有任何生产经验,可以试图把一些LOG日志表改为TokuDB引擎,这样在性能和磁盘空间使用率上都有较大幅度的提升。此外,该引擎的备份工具是收费,所以备份的时候可以采取冷备份。

wKioL1Ow1F6ihz-EAAHrNLCc_ao324.jpg


参考:http://www.mysqlperformanceblog.com/2014/06/23/getting-to-know-tokudb-for-mysql/



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值