mysql的数据压缩性能对比
分类: MySQL优化设计 | 发布: OurMySQL | 来源:淘宝数据平台与产品部官方博客
标签: explain, 压缩
数据,一旦写入就很少或者根本不会更新。这种数据非常适合压缩以降低磁盘占用。MySQL本身提供了两种压缩方式——archive引擎以及针对MyISAM引擎的myisampack方式。今天对这两种方式分别进行了测试,对比了二者在磁盘占用以及查询性能方面各自的优劣。
|
本站Feed
数据,一旦写入就很少或者根本不会更新。这种数据非常适合压缩以降低磁盘占用。MySQL本身提供了两种压缩方式——archive引擎以及针对MyISAM引擎的myisampack方式。今天对这两种方式分别进行了测试,对比了二者在磁盘占用以及查询性能方面各自的优劣。
解释一下“插入缓冲”(Insert Buffer):InnoDB为了避免更新数据时更新索引损失太多性能,使用了这种称为Insert Buffer的方法来缓冲索引更新,对于非聚集索引(主键索引)、唯一索引的修改,不是每次都直接插入索引页,而是先判断要更新的这一页在不在内存中,如果不在则存入Insert Buffer,按照Master Thread的调度规则来合并非唯一索引和索引页中的叶子结点,这样经常能减少更新索引的代价。为什么要求是非唯一索引(排除主键索引和唯一索引)呢?因为唯一索引要检查记录是不是存在,所以必须把修改的记录影响的索引页读出来才知道是不是唯一,这样Insert Buffer就没意义了,反正要读出来,所以只对非唯一索引有效。
今天分析一个诡异问题,一个模拟Slave线程的程序,不断的被Master Server给kill掉,最终发现是因为有两个Slave使用同样一个server id去连接Master Server,为什么两个Slave用同一个server id会被Master Server给Kill呢?分析了源码,这源于MySQL Replication的重连机制。
HandlerSocket plugin for MySQL 已经出来一段时间了, 鉴于HandlerSocket和InnoDB的健壮、安全性, 可以预见HandlerSocket取代Memcached等NoSQL存储/Cache,已经是大势所趋。
这段时间对DRBD和Heartbeat有了一个初步的了解,因为公司目前也在用,所以要好好搞一下,今天就在虚拟机打个了环境,亲自动手学习一下。这两个软件的安装都不复杂,如果你能用yum,那就是瞬间搞定的事情,没有的话用rpm包安装也是很轻松的事情,个人觉得,如果不是说地球上真的找不到和你平台对应的rpm包/tar包的话,那你就用源码包好了,自己享受编译带给你的“成就感”吧。不知道为什么很多时候大家都喜欢源码编来编去的,其实,你编译出来的东西不一定比人家专门的开发人员编出的软件效果要好,也可能你会说了,自己编译自由想放哪儿就放哪儿(难道就这么点追求),如果你习惯了rpm,其实,它的安装目录就那么几个位置,况且rpm也有命名选项帮你找出来。