Tag Archives: TokuDB

TokuDB 使用问题汇总

By | 2019-02-19

简单介绍 TokuDB 引擎提供很好的压缩比(笔者环境中的数据在默认的 zlib 设置下压缩比大致为 InnoDB:TokuDB ~= 5:1), 以及快速增加, 删除, 重命名列, 热更索引等特性, 这些特性很适合日志记录类的表来使用, 该类表可以仅做主从复制, 不做定期的备份. 如果需要备份可以参考 AliSQLBackup, 其基于 xtrabackup-2.3.5版本, 可以同时备份 InnoDB 和 TokuDB 引擎的表. 另外innodb_buffer_pool_size 和 tokudb_cache_size 两个参数的值需要按需分配, 如果没有多少 InnoDB 表, 最好调小 innodb_buffer_pool_size 的值. 更多基础的特性说明可以参考以前的文章: TokuDB 使用简单说明. 下述的问题列表则主要介绍在使用 TokuDB 的过程中碰到的一些问题, 后期碰到的问题也会在该列表中持续更新. 问题列表 修改分区表耗时长问题处理 转换 InnoDB 大表到 TokuDB 崩溃问题 修改 tokudb_data_dir 参数出现不能找到文件错误 temp 锁占用不能启动问题 修改分区表耗时长问题处理 详见… Read More »

TokuDB 修改分区表耗时长问题处理

By | 2018-12-06

问题说明 在之前的文章TokuDB 使用简单说明中简单介绍了如何使用 TokuDB, 其固有的特性很适合存储日志类的需求, 不过近期在修改 TokuDB 分区表的时候出现操作时间较长的提示, 业务端也同时出现响应时间较长的请求. 如下所示: # bash text_data_partition.sh 127.0.0.1 3311 text_base text_data 2018_12_05_14_55_39 [info] alter maxvalue of the partitions 2018_12_05_14_55_39 [info] reorganize p20181217 partition 2018_12_05_14_55_44 [info] reorganize p20181217 partition ok 我们按天对 text_data 表进行分区, p20181217 分区为小于 MAXVALUE 的空表, 在增加 p20181218 分区的时候耗时较长, 上述的操作耗时 5s, 查看各子表信息, 所有子分区文件的时间戳都有改变, 不过我们只操作了 p20181217 分区, 理论上来讲应该只有 p20181217 和… Read More »

TokuDB 使用简单说明

By | 2015-04-23

按照官方的介绍, TokuDB 引擎是可扩展的,支持事务 ACID 特性, 支持多版本控制(MVCC), 这几点等同 InnoDB 的特性, 不过对基于索引的查询做了很好的改进, 还提供了支持在线表更改的支持(不是所有字段都支持, 后面再说明), 在磁盘和缓存方面也做了很好的改进. TokuDB 结合 松散树索引(Fractal Tree indexing) 可以应用于高负载的大量写(write-intensive)的场景里. 现在的限制还比较多, Percona 从 5.6.19-67.0 开始支持 tokudb, 现在还只能运行到 64 位的 Linux 版本中, Debian 6.0 和 Ubuntu 10.0.4 因为 gcc 版本冲突的原因也不支持, 同时也不支持外键(foreign key)功能,如果表有外键,切换到TokuDB引擎后,此约束将被忽略. 其它版本(mariadb, mongodb)的 TokuDB 引擎支持可以从 Tokutek 的github 页面查找: Tokutek 先从 tokudb-index-using-tokudb 概览下 TokuDB 的特性, 需要注意的是不要移动或修改任何 TokuDB… Read More »