现在的位置: 首页 > 综合 > 正文

InnoDB的替代品:Percona XtraDB

2012年09月03日 ⁄ 综合 ⁄ 共 2025字 ⁄ 字号 评论关闭

关于

XtraDBPercona TeamInnoDB的基础上开发出来的一个更加强大的存储引擎,它百分百的兼容InnoDB,我们可以用XtraDB来替代为MySQL的发展做出历史性贡献的InnoDB,新的XtraDB引擎将具有更加强大的性能优势,以及良好的扩展性和一些新特性。

Percona20081216日正式对外公布Percona XtraDB存储引擎,当时版本为1.0.2-1。在09年有相继发布了release 3/4/5/8,目前最新的版本为Percona-XtraDB 1.0.4-8

安装XtraDB存储引擎

XtraDB的安装有这么几种:一是现成的RPMS包安装,不过这些包仅限于x86_64RedHat/CentOS 4/5系统下,而且MySQL的版本为5.1.30;还有就是通过整体编译MySQL源码包的安装,即将新的XtraDB引擎的代码整合到MySQL的源码中,进行重新编译。前面这两种都需要重新搭建MySQL数据库,例外还有一种,就是动态的将XtraDB加载进正在运行MySQL中,这个看上去很符合生产的要求。

下面我们就来介绍Linux系统下,源码包的安装方法,具体步骤如下:


1.下载MySQL的源码安装包。http://dev.mysql.com/downloads/mysql/5.1.html#source

2.下载Percona XtraDB的源码安装包。https://launchpad.net/percona-xtradb/+download

3.编译安装MySQL

xtradb

4.验证XtraDB引擎的100%兼容Innodb

shell> mysql –uroot –p < eiken_uat_backup.090803230101 (将生产数据库导入新的MySQL)

mysql> show create table user_roleG

*************************** 1. row ***************************

Table: user_role

Create Table: CREATE TABLE `user_role` (

`user_name` varchar(100) NOT NULL,

`role_name` varchar(25) NOT NULL,

…omit….

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

(经测试,所有应用一切正常。)

mysql> create table xtradb_tb(id int(3),engine_name char(120)) engine=innodb; (创建一个使用XtraDB引擎的表)

Query OK, 0 rows affected (0.00 sec)

mysql> show create table xtradb_tbG

*************************** 1. row ***************************

Table: xtradb_tb

Create Table: CREATE TABLE `xtradb_tb` (

`id` int(3) DEFAULT NULL,

`engine_name` char(120) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

NOTE:如果你要使用XtraDB这个引擎,engine的值依然要设置成InnoDB。)

比较

最后,我们简要比较一下XtraDBInnoDB之间都有哪些变化。分别连上配有不同引擎的数据库服务。比较如下:

1.INFORMATION_SCHEMA中的表数量发生明显变化。

XtraDB 42个(增加了13INNODB开头的表和一个XTRADB_ENHANCEMENTS表,改表中记录逐一介绍了新的XtraDBInnoDB所做的各项改进)

InnoDB 28

2. SHOW INNODB STATUS命令的输出内容的增加。

其中,BUFFER POOL AND MEMORY的内容变得更加丰富。

同时,在输出中,我们还会发现,XtraDB在线程的投入上也有很大提高,在InnoDBFILE I/O的线程仅为4个,而在XtraDB中你会发现为10个,分别是读、写的线程数都各自增加为4个,这对于性能会有很大提升。

P.S.: 其实,第一次听到InnoDB的替代引擎,是在最近的一次面试的时候,当时一听傻了,在想“InnoDB”什么时候有了替代品啦,真的是太孤陋寡闻了(Hiro听到后一定又要鄙视我了,LOL:>)。后来,查了一下,是真地——Percona XtraDB,出来了!

转自:

http://www.mysqlsystems.com/2009/12/percona-xtradb-storage-engine-a-drop-in-replacement-for-standard-innodb.html

抱歉!评论已关闭.