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

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

2015-07-21 10:33:26 18048 6
为了进一步降低用户的数据存储成本, 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更有免单机会欢迎体验试用>>
取消 提交回答
全部回答(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
  • 小柒2012
    2015-07-21 20:29:34
    RDS越来 越掉渣天了。
    0 0
滑动查看更多
相关问答

1

回答

mysql提交写入的数据是否可以压缩

2021-10-12 19:04:13 953浏览量 回答数 1

1

回答

sql中,什么是存储过程?用什么来调用?

2021-10-13 10:54:27 701浏览量 回答数 1

0

回答

K8s集群下搭建tekton,执行task.yaml后报错

2021-10-26 16:08:22 564浏览量 回答数 0

1

回答

MYSQL数据存储引擎MyISAM是什么?

2021-11-02 21:27:41 192浏览量 回答数 1

1

回答

DTS增量数据迁移时MySQL存储引擎检查失败

2021-11-25 20:04:18 3214浏览量 回答数 1

1

回答

存储容量单位包SCU的抵扣规则是什么?

2021-12-18 08:30:51 401浏览量 回答数 1

1

回答

在 JDK 安装时,压缩文件名和参数中的压缩方式中的存储是什么意思呢?

2022-03-30 21:12:43 169浏览量 回答数 1

1

回答

什么是bi-designer 数据搭建引擎的数据模型驱动?

2022-05-12 12:40:21 150浏览量 回答数 1

1

回答

数据脱敏时,在创建 Logstore成功后的日志存储页面应进行什么操作?

2022-05-30 23:43:10 98浏览量 回答数 1

1

回答

使用容器镜像的方式创建函数,有没有比较方便的方式挂载 OSS 存储?

2022-07-21 10:25:23 204浏览量 回答数 1
+关注
belle.zhoux
周晓,阿里云大数据+AI工程运营负责人
文章
问答
问答排行榜
最热
最新
相关电子书
更多
企业数据的存储类型选择与成本优化
立即下载
HTAP能力持续增强 HybridDB for MySQL分析性能提升
立即下载
基于etcd的超大规模生产级弹性键值存储实践与优化
立即下载