阿里云 RDS 开启 TokuDB 引擎

前言

相信很多 RDS 用户都很迷自己的数据库怎么会那么大吧,数据库太大不仅备份麻烦,而且还要多花点钱。不过还好 RDS/AliSQL 一个主打的特性就是支持 TokuDB引擎 来做数据库的引擎。在TokuDB引擎的帮助下,我们的 RDS/AliSQL 能以低于 五分之一 的存储开销来支持用户大数据需求!

介绍

TokuDB 是一个支持事务的“新”引擎,有着出色的数据压缩功能,由美国 TokuTek 公司(现在已经被 Percona 公司收购)研发。拥有出色的数据压缩功能,如果您的数据写多读少,而且数据量比较大,强烈建议您使用TokuDB,以节省空间成本,并大幅度降低存储使用量和IOPS开销,不过相应的会增加 CPU 的压力。

注意:

  1. TokuDB引擎 不支持外键(foreign key)功能,如果您的表有外键,切换到 TokuDB引擎 后,此约束将被忽略。 如果数据库过分依赖外键的话,个人建议要有壮士断腕的决心,早点处理掉,不过数据库业务也会外键缩连累的!
  2. TokuDB 不适用于大量读取的场景

    设置

    备份,升级

    1. 操作还是有一定风险的,建议先备份数据库。
    2. 目前 RDS 只支持 5.6 或更新的版本使用 TokuDB 引擎。

    设置参数

    RDS —— 实例 —— 参数设置 中设置

一、设置默认数据库引擎,搜索 default_storage_engine ,将参数改为 TokuDB 即可。并不会影响已建立的数据库,新建的数据库的数据库引擎默认为 TokuDB

二、设置 loose_tokudb_buffer_pool_ratio 的比例,即 tokudb 占用 tokudb 和 innodb 共用缓存的比例。

淘宝数据库研发组的说明:

  1. 如果您是 TokuDB 用户,建议把这个参数设置成 100,表示 TokuDB 将使用全部 buffer pool。
  2. 如果您是 InnoDB 用户,请忽略此参数,默认是 InnoDB 使用全部 buffer pool。

三、重启数据库,以生效。

修改表,使用新引擎

一、修改表 ,运行 SQL 语句

ALTER TABLE `表名称` ENGINE=TokuDB 

即可完成修改。

二、修改压缩算法:

ALTER TABLE `表名称` ENGINE=TokuDB ROW_FORMAT=`压缩算法`;

TokuDB的压缩算法如何选择:

  • tokudb_zlib:表启用zlib压缩,压缩效果偏中,CPU消耗偏中,建议使用(默认)
  • tokudb_quicklz:表启用quicklz压缩,压缩效果差,CPU消耗低
  • tokudb_lzma:表启用lzma压缩,压缩效果好,CPU消耗高

通过 DMS 可视化修改

如果有些站长没有学过 SQL 可能不会修改, 还好阿里云还有强大的 DMS 等着我们呢!

一、进入相关数据,对准要修改的表,右键 —— 编辑表结构

二、将 储存引擎 修改为 Tokudb,如果需要修改压缩算法,点击 更多选项 即可。

记得点击保存哦!

8 条评论

发表评论