MySQL分支

来源:互联网 发布:淘宝免费开店的流程图 编辑:程序博客网 时间:2024/04/29 14:49
MySQL 4和5使用默认的MyISAM存储引擎安装每个表。从5.5开始,MySQL已将默认存储引擎从MyISAM更改为InnoDB。MyISAM没有提供事务支持,而InnoDB提供了事务支持。与MyISAM相比,InnoDB提供了许多细微的性能改进,并且在处理潜在的数据丢失时提供了更高的可靠性和安全性。

Percona
Experts in MySQL and InnoDB Performance
http://www.percona.com/
Percona XtraDB 是 InnoDB 存储引擎的增强版,被设计用来更好的使用更新计算机硬件系统的性能,同时还包含有一些在高性能环境下的新特性。XtraDB 存储引擎是完全的向下兼容,在 MariaDB 中,XtraDB 存储引擎被标识为”ENGINE=InnoDB”,这个与 InnoDB 是一样的,所以你可以直接用XtraDB 替换掉 InnoDB 而不会产生任何问题。Percona XtraDB 包含有所有 InnoDB's 健壮性,可依赖的 ACID 兼容设计和高级 MVCC 架构。XtraDB 在 InnoDB 的坚实基础上构建,使 XtraDB 具有更多的特性,更好调用,更多的参数指标和更多的扩展。从实践的角度来看,XtraDB 被设计用来在多核心的条件下更有效的使用内存和更加方便,更加可用。新的特性被用来降低 InnoDB 的局限性。性能层面,XtraDB与内置的MySQL 5.1 InnoDB 引擎相比,它每分钟可处理2.7倍的事务。

Percona Server由领先的MySQL咨询公司Percona发布。Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB 。

Percona团队的最终声明是“Percona Server是由Oracle发布的最接近官方MySQL Enterprise发行版的版本”,因此与其他更改了大量基本核心MySQL代码的分支有所区别。Percona Server的一个缺点是他们自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的控制。


MariaDB
https://mariadb.org/
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:Oracle公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB由MySQL的创始人Michael Widenius (often called Monty; born 3 March 1962, in Helsinki, Finland)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被Oracle收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

版本方面
MariaDB直到5.5版本,均依照MySQL的版本。2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。
MariaDB 5.5 = MariaDB 5.3 + MySQL 5.5
MariaDB 10.0版以MariaDB 5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。
MariaDB 10.1版以MariaDB 10.0版为基础,加上移植自MySQL 5.6和5.7版的功能和自行开发的新功能。


WebScaleSQL
We're Gonna Need A Bigger Database
http://webscalesql.org/

2015年1月20日,Facebook宣布阿里巴巴旗下的阿里云RDS团队正式加入WebScaleSQL。WebScaleSQL是Facebook、 Google、Twitter和Linkedin四家公司的MySQL团队发起的MySQL开源组织,旨在改进MySQL在规模和性能等方面的问题。

WebScaleSQL是基于MySQL 5.6 社区版本改编的MySQL通用分支,基于GPL开源协议发布。WebScaleSQL目前已经做了很多性能改进工作,包括:客户端异步协调、逻辑预读、查询限流、服务端线程池优化、InnoDB大页支持等等。

比如线程池优化,大家都知道线程池是Mariadb。WebScaleSQL基于Mariadb的线程池实现进行重写并优化,对读写队列进行分离,重新设计队列优先级策略,避免了饿死现象。要知道线程饿死在有些场景下是很严重的。尤其是在并发连接数往往很大的互联网应用里面。

0 0
原创粉丝点击