TokuDB:5倍数据压缩引擎,数据存储成本降低80%-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

TokuDB:5倍数据压缩引擎,数据存储成本降低80%

belle.zhoux 2015-07-21 10:33:26 16696
为了进一步降低用户的数据存储成本, RDS推出了数据压缩的支持。
在TokuDB引擎的帮助下,RDS for MySQL能以低于1/5的存储开销来支持用户大数据需求。


一、为什么要压缩数据 ?
当一个数据库的数据空间达到TB级别时运维难度是非常高的。尤其是数据迁移和备份操作,不仅耗时将会成倍增长,而且成功率会有很大下降。另外无论用户是自建数据库还是使用云服务,增长迅速的存储空间都会带来巨大的开支


二、什么是TokuDB?
TokuDB是一个支持事务的MySQL引擎,拥有出色的数据压缩能力和极低的资源消耗。RDS团队将某些超过2TB的InnoDB表转换成TokuDB后,数据空间骤降到400GB;写性能有一定程度提升的同时,IOPS反而降低为原先的八分之一。


三、如何压缩数据?
RDS for MySQL 5.6全面兼容TokuDB,用户可以通过命令行或者DMS对现有的表进行数据压缩。具体操作步骤参考阿里云官网文档中心。





使用须知
1、 TokuDB可以大幅度降低存储使用量和IOPS开销
2、 TokuDB支持在线DDL,添加/删除列和索引不会引起阻塞
3、 TokuDB无法支持外键Foreign Key
4、 TokuDB不适用于大量读取的场景





操作步骤


1、 升级RDS for MySQL
目前只有5.6版本支持TokuDB。所以在进行压缩前用户需要将RDS for MySQL升级到5.6版本。


2、 配置TokuDB引擎
命令行:select sum(data_length) into @all_size from information_schema.tables where engine='innodb';
select sum(data_length) into @change_size from information_schema.tables where engine='innodb' and concat(table_schema, '.', table_name) in ('dba1.tbl1', 'db2.tbl2', 'db3.tbl3');
select round(@change_size/@all_size*100);
参数配置:
登录RDS控制台,将loose_tokudb_buffer_pool_ratio设置为上步计算得到百分比。该参数需要重启数据库才能生效。


3、 开启压缩
命令行:ALTER TABLE XXX ENGINE=TokuDB


RDS已推出数据不停机迁移服务,截止7月31日新购RDS更有免单机会欢迎体验试用>>
存储 运维 关系型数据库 MySQL 大数据 数据库 数据库管理 索引 RDS
分享到
取消 提交回答
全部回答(6)
  • guiquan
    2015-07-26 09:55:19
    ReTokuDB:5倍数据压缩引擎,数据存储成本降低80%
    对于一些记录挺好的,不过教程很坑。。。
    0 0
  • 看头像
    2015-07-24 13:38:10
    看起来不错哈
    0 0
  • 北京梦城
    2015-07-24 10:04:48
    ReTokuDB:5倍数据压缩引擎,数据存储成本降低80%
    乃们的SQL SELECT出来都是 NULL

    想问一下, 不设置这个参数, 直接ALTER 会怀上吗?

    -------------------------

    ReTokuDB:5倍数据压缩引擎,数据存储成本降低80%
    试用了一下午
    空间减少了50%
    cpu增加了30%
    qps减少了150多
    网络流量减少了一半
    IOPS 增加了200%,

    总的来说, 是个坑, 晚上我决定爬出来了。
    0 0
  • 妙正灰
    2015-07-23 15:26:30
    回3楼jackton的帖子
    TokuDB不适用于大量读取的场景

    论坛明显是
    0 0
  • jackton
    2015-07-23 11:40:44
    ReTokuDB:5倍数据压缩引擎,数据存储成本降低80%
    适不适合论坛数据库呢
    0 0
滑动查看更多
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程