TokuDB存储引擎

TokuDB是一个高度可扩展,零维护的停机MySQL存储引擎,可提供基于索引的查询加速,改进的复制性能,无与伦比的压缩和实时架构修改。该TokuDB存储引擎是一个可扩展的,酸,MVCC兼容的存储引擎,提供基于索引的查询改进,可以在线修改架构,减少了从滞后两个硬盘驱动器和闪存。此存储引擎专为在写入密集型工作负载上实现高性能而设计,可通过分形树索引实现。

安装:

安装percona mysql 仓库

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

yum install Percona-Server-server-57

Percona-Server-tokudb-57-5.7.18-15.1.el6.x86_64

yum install jemalloc

或者二进制包:

wget https://www.percona.com/downloads/Percona-Server-LATEST/Percona-Server-5.7.18-15/binary/tarball/Percona-Server-5.7.18-15-Linux.x86_64.ssl100.tar.gz

可能会缺少依赖库文件等:ldd ./mysqld查看一下。如:

ln -s /usr/lib64/libcrypto.so.10 libcrypto.so.1.1

ln -s  /usr/lib64/libssl.so.10 libssl.so.1.1

配置项目依赖:

[mysqld_safe]

malloc-lib=/usr/lib64/libjemalloc.so.1

引擎项启动

ps_tokudb_admin –enable -uroot -p  --socket

输入Mysql的root帐号密码,完成启动。命令字符都是英文输入法下的短横杠。

此脚本用于安装和卸载Percona Server 5.7的TokuDB插件。

安装后相关需要的目录:

/usr/bin/jemalloc.sh

/usr/lib64/libjemalloc.so.1

/usr/lib64/mysql/plugin/

启动:

/usr/local/mysql_5.7/bin/mysqld_safe --defaults-file=/data1/mysql_5.7/my.cnf --user=mysql --disable-partition-engine-check

/usr/local/mysql_5.7/bin/mysqld ...

tokudb参数

tokudb_analyze_delete_fraction   控制在 对TokuDB表执行操作期间是否将分形树中已删除的行报告给客户端和MySQL错误日志 、值为0-1.设置为1时表示不报告任何错误。0.1表示10%删除的行尚未进行垃圾回收则报错到日志中。

tokudb_directio  启用后,TokuDB使用直接I / O而不是缓冲I / O进行写入。使用直接I / O时,请考虑tokudb_cache_size从其默认的1/2物理内存增加。

tokudb_disable_prefetching 预取

tokudb_enable_fast_update  tokudb_enable_fast_upsert 快速更新和插入功能。 快速更新涉及查询优化,以避免在执行期间进行随机读取。

tokudb_fs_reserve_percent   此变量控制允许插入必须可用的文件系统的百分比。默认情况下,此设置为5。我们建议此保留至少是物理内存大小的一半。有关详细信息,请参阅完整磁盘。

tokudb_hide_default_row_format  是否隐藏show create table 的行压缩格式 例如 ROW_FORMAT=TOKUDB_ZLIB。

tokudb_max_lock_memory  此变量指定PerconaFT锁定表的最大内存量。

tokudb_prelock_empty 默认情况下,TokuDB抢占式地抢占空表的整个表锁。如果一个事务正在进行加载,例如当用户将表加载到空表中时,此默认值会提供相当大的加速。但是,如果多个事务尝试对空表执行并发操作,则除了一个事务之外的所有事务都将被锁定。tokudb_prelock_empty通过关闭抢占式预锁定来禁用 此多事务案例的优化。

innodb_use_native_aio 如果使用TokuBackup备份InnoDB表,则必须禁用InnoDB异步IO 。否则,您将拥有不一致,不可恢复的备份。适当的设置是。innodb_use_native_aio=0

tokudb热备:

1、拷贝libHotBackup.so 到/usr/lib 或/usr/lib64

2、配置文件中添加:

[mysqld_safe]

preload-hotbackup

3、执行

ps_tokudb_admin --enable-backup --host=127.0.0.1 --user=root--password='123456' --port=3306

4、备份相关先选:

tokudb_backup_allowed_prefix  备份目录前缀

tokudb_backup_dir  在session指定该参数开始备份

innodb_use_native_aio  如果使用TokuBackup备份InnoDB表,则必须禁用InnoDB异步IO 。 否则备份不一致。innodb_use_native_aio=0

tokudb_backup_exclude  正则表达式排除某些文件和目录

注意:发起备份只备份 tokudb_backup_dir  tokudb_log_dir  datadir参数指定的目录。备份结果没有二进制日志点。需要手动找出。

5、备份:

配置文件:

innodb_use_native_aio = OFF

重启实例

set tokudb_backup_dir='/data1/backup'; 即开始备份。

6、还原, tokudbback 的还原只是cp 备份结果到 参数指定相应目录就可以启动。启动的时候数据库自动做tokudb innodb的恢复。

tokudb文件:

tokudb目录下的文件说明:

tokudb.environment   此文件是Percona FT文件集的根目录,包含有关系统的各种元数据,例如创建时间,当前文件格式版本等。

tokudb.rollback   Percona FT中的每个事务都维护自己的事务回滚日志。这些日志一起存储在单个Percona FT字典文件中,占用Percona FT缓存表中的空间 类似undo。

tokudb.directory toku文件映射

__tokudb_lock_dont_*  锁定文件  这些空文件仅用作进程间的信号量。只要当前没有服务器实例正在运行并使用数据集,就可以安全地删除/忽略它们。

表文件tablename_*:

tablename_status_xxxx 表元数据文件

tablename_main_xxxx 是表数据主文件

tablename_key_indexname_xxxx  索引文件

启动的时候,tokudb通过  tokudb.directory 来找到表对应的元数据文件,索引文件,表文件。并写入到  information_schema.tokudb_file_map(内存表)。

tokudb 分形树_TokuDB存储引擎相关推荐

  1. tokudb 分形树_TokuDB性能测试报告

    一 .背景介绍 近年来,TokuDB作为MySQL的大数据(Big Data)存储引擎受到人们的普遍关注.其架构的核心基于一种新的叫做分形树(Fractal Trees)的索引数据结构,该结构是缓存无 ...

  2. tokudb 分形树_分形树Fractal tree介绍——具体如何结合TokuDB还没有太懂,先记住其和LSM都是一样的适合写密集...

    在目前的Mysql数据库中,使用最广泛的是innodb存储引擎.innodb确实是个很不错的存储引擎,就连高性能Mysql里都说了,如果不是有什么很特别的要求,innodb就是最好的选择.当然,这偏文 ...

  3. tokudb 分形树_转载TokuDB性能测试报告

    TokuDB作为MySQL的大数据(Big Data)存储引擎受到人们的普遍关注.TokuDB拥有很高的压缩比(官方称最大可达25倍),可以在很大的数据上创建大量的索引,并保持性能不下降.我们来实测一 ...

  4. 你需要知道的MySQL开源存储引擎TokuDB

    在四月份的Percona Live MySQL会议上, TokuDB庆祝自己成为开源存储引擎整一周年.我现在仍能记得一年前它刚创建时的官方声明与对它的期望.当时的情况非常有意思,因为它拥有帮助MySQ ...

  5. MySQL_高性能存储引擎:TokuDB初探

    在安装MariaDB的时候了解到代替InnoDB的TokuDB,看简介非常的棒,这里对ToduDB做一个初步的整理,使用后再做更多的分享. 什么是TokuDB? 在MySQL最流行的支持全事务的引擎为 ...

  6. MySQL 高性能存储引擎:TokuDB初探

    在安装MariaDB的时候了解到代替InnoDB的TokuDB,看简介非常的棒,这里对ToduDB做一个初步的整理,使用后再做更多的分享. 什么是TokuDB? 在MySQL最流行的支持全事务的引擎为 ...

  7. mysql支持事务的存储引擎_MySQL基础(三)【MySQL事务与存储引擎】

    3.1-数据库事务 什么是事务 一系列有序的数据库操作: 要么全部成功 要么全部回退到操作前的状态 中间状态对其他连接不可见 事务的基本操作: 基本操作 说明 start transaction 开始 ...

  8. ruhr启动mysql数据库_Mysql表类型(存储引擎)的选择

    以下内容转载自:https://www.cnblogs.com/jswang/p/6923911.html 7.1 mysql存储引擎概述 插件式存储引擎是mysql数据库最重要的特性之一,用户可以根 ...

  9. MariaDB存储引擎简介

    目录 MariaDB存储引擎简介 存储引擎简述 简单介绍几个 MariaDB 的存储引擎 1.InnoDB/XtraDB 2.MyISAM 3.Aria 4.TokuDB 5.MyRocks 6.Co ...

最新文章

  1. 第1章 游戏之乐——构造数独
  2. c++ 输入输出流关联
  3. SAP Spartacus 读取payment detail数据的API
  4. CSS3技巧 —— 渐变
  5. Git之原有基础开发新功能
  6. androidx86安装pc后无法联网_Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案
  7. struts2+spring+mybatis简单配置
  8. ABBYY FineReader 12扫描对页的步骤有哪些
  9. Android适配64位TBS X5内核
  10. 【逗老师带你学IT】Yeastar PSTN网关对接FreePBX网关的各种坑-国内VOIP发展感叹
  11. SDM439平台出现部分机型SD卡不能识别mmc1: error -110 whilst initialising SD card【学习笔记】...
  12. 【Oracle SQL】计算同比与环比(列转行进行偏移)
  13. 基于边缘特征的二值化阈值选取方法--ywp125
  14. 【网单服务端】卡丁车深海之城单机游戏服务端+使用说明
  15. nested renamer is not supported
  16. opencv 将白色变透明
  17. 反编译:如何脱掉爱加密家的保护壳
  18. Java gateway process exited before sending its port number
  19. 暄桐林曦老师浅谈“如何加强专注自律”
  20. Xilinx Arch PCIE卡

热门文章

  1. 人工智能的未来由人类掌控
  2. 基于FPGA的 TMDS 编码 及 HDMI 显示
  3. 百望云获评“2022中国信息科技独角兽”
  4. Rhythmbox歌曲名乱码问题
  5. oracle数据库rank over用法,Oracle中rank() over, dense_rank(), row_number() 的区别
  6. Oracle中lead() over()的用法
  7. 从希拉里邮件门来看邮件服务器的安全管理
  8. IOS与Android APP界面设计规范要点
  9. JavaScript 验证码示例
  10. 行业新宠——游戏陪玩,水深火热的背后是什么?