zabbix 数据库更换 TokuDB 引擎

zabbix 更换 TokuDB 过程(我用的是percona db):
wget http://www.percona.com/redir/downloads/Percona-Server-5.6/LATEST/binary/redhat/6/x86_64/Percona-Server-tokudb-56-5.6.19-rel67.0.el6.x86_64.rpm 
yum install jemalloc
rpm -ivh Percona-Server-tokudb-56-5.6.19-rel67.0.el6.x86_64.rpm

执行:

mysql -e "INSTALL PLUGIN tokudb SONAME ‘ha_tokudb.so‘;"
mysql -e "INSTALL PLUGIN tokudb_file_map SONAME ‘ha_tokudb.so‘;"
mysql -e "INSTALL PLUGIN tokudb_fractal_tree_info SONAME ‘ha_tokudb.so‘;"
mysql -e "INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME ‘ha_tokudb.so‘;"
mysql -e "INSTALL PLUGIN tokudb_trx SONAME ‘ha_tokudb.so‘;"
mysql -e "INSTALL PLUGIN tokudb_locks SONAME ‘ha_tokudb.so‘;"
mysql -e "INSTALL PLUGIN tokudb_lock_waits SONAME ‘ha_tokudb.so‘;"
修改my.cnf 文件:
plugin-dir = /usr/lib64/mysql/plugin
plugin-load=ha_tokudb.so
tokudb_row_format = tokudb_fast
tokudb_cache_size = 8G
tokudb_commit_sync = 0
tokudb_directio = 1
tokudb_read_block_size = 128K
tokudb_read_buf_size = 128K
重启mysql 服务
/etc/init.d/mysql restart
修改表引擎:
mysql>use zabbix
mysql>alter table history_uint engine=TokuDB;
mysql>alter table history engine=TokuDB;

完成后再看文件:

409M  _zabbix_sql_8a46_c_key_history_uint_1_f_1_19_B_0.tokudb
190M  _zabbix_sql_8a46_c_key_history_1_26c_1_19_B_0.tokudb

压缩比还是很厉害

防止内存泄露,执行:
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
最后,如何使用TokuDB?

如果你要存储blob,不要使用TokuDB,因为它限制记录不能太大;
如果你的记录数量过亿,使用TokuDB;
如果你注重update的性能,不要使用TokuDB,它没有Innodb快;
如果你要存储旧的记录,使用TokuDB;
如果你想要缩小数据占用的存储空间,使用TokuDB;

查看:http://rdc.taobao.com/blog/cs/?p=1176

参考:http://itindex.net/detail/50162-zabbix-%E6%95%B0%E6%8D%AE%E5%BA%93-tokudb

zabbix 数据库更换 TokuDB 引擎,布布扣,bubuko.com

时间: 2024-10-18 01:21:36

zabbix 数据库更换 TokuDB 引擎的相关文章

数据库:存储引擎+InnoDB+TokuDB+ MyIASM +Memory+索引+三范式等

存储引擎概念数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能.现在许多不同的数据库管理系统都支持多种不同的数据引擎. 存储引擎主要有: 1. MyIsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated . InnoDB(B+树) InnoDB 底层存储结构为B+树, B树的每个节点对应i

Percona Server 的安装及tokudb引擎的安装笔记

Percona Server 的安装及tokudb引擎的安装笔记 2017年7月7日 安装percona server: yum localinstall Percona-Server-client-57-5.7.18-15.1.el6.x86_64.rpm  Percona-Server-shared-57-5.7.18-15.1.el6.x86_64.rpm Percona-Server-server-57-5.7.18-15.1.el6.x86_64.rpm  Percona-Server

TokuDB 引擎安装测试

背景: TokuDB引擎是有Tokutek开发的一个数据库存储引擎,在设计之初便引入了独特的索引算法,在其官网测试中,文章中看到TokuDB性能比InnoDB高出很多. MySQL是一个插件式的数据库,在MySQL5.5版本之前MyISAM是MySQL的默认存储引擎,在之后的版本中默认的存储引擎变成了InnoDB.其特点是它支持事务,具有完善的崩溃恢复机制,具体的特点这里不说明,可以自行的寻找资料.这里介绍的TokuDB和InnoDB有很多相似之处:一个高性能,支持事务.MVCC.聚簇索引等.最

查看和改动MySQL数据库表存储引擎

要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎:        1.查看数据库所能支持的存储引擎:show engines;        2.查看某个数据库中某个表所使用的存储引擎:show table status from db_name where name='table_name';(注:将where条件去掉后能够查看某个数据库中全部表的存储引擎情况)        3.改动表引擎方法:alter t

MySQL备份脚本(包含zabbix数据库)

需求:按天备份,保留一周,zabbix数据库不备份历史数据 MySQL版本:5.7.17 脚本: 需要提前建立路径 mkdir -pv /opt/mysql_backup/auto_backup cat /opt/mysql_backup/mysqlback.sh #!/bin/bash # 0 3 * * * bash /opt/mysql_backup/mysqlback.sh &>/dev/null DBUSER=root DBPASS=********** DATE=`date +%

如何从Zabbix数据库中获取监控数据

做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示.Zabbix监控数据主要分为以下两类: 历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据. 趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值流量. Zabb

MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析

文/何登成 导读:   来自网易研究院的MySQL内核技术研究人何登成,把MySQL数据库InnoDB存储引擎的多版本控制(简称:MVCC)实现原理,做了深入的研究与详细的文字图表分析,方便大家理解InnoDB存储引擎实现的多版本控制技术(简称:MVCC). 基本知识 假设对于多版本控制(MVCC)的基础知识,有所了解.MySQL数据库InnoDB存储引擎为了实现多版本的一致性读,采用的是基于回滚段的协议. 行结构 MySQL数据库InnoDB存储引擎表数据的组织方式为主键聚簇索引.由于采用索引

处理Zabbixl历史数据库解决办法三---使用平民软件的OneProxy来为Zabbix数据库分区和扩容

一 应用场景描述 二 OneProxy介绍及使用 三 使用OneProxy来为Zabbix数据库分区和扩容 参考文档:

15.从zabbix数据库中获取ip列表

我把监控作为中心节点,所以所有IP地址都从zabbix中提取. 从zabbix数据库中提取IP,有两种方法: (1)直接模糊查询hosts表: 比如查询运维部门的ip:select host from hosts where name like "op%" order by host; 完整代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import MySQLdb reload(sys) sys.setde