MySQL是最受欢迎的免费开源应用之一,它是成千上万个网站的数据库骨干。然而,许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都要有自己的专长,这些需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。另外,为了满足特殊业务的需要,MySQL有时候不能完全胜任,这就需要开发出新的解决方案。同时,为了兼容旧业务系统的升级维护,新的技术方案多是基于MySQL实现而实现的兼容MySQL方案。现对国内外比较著名的兼容MySQL方案进行一个汇总,以供读者参考,具体内容如下:
1、领先的MySQL咨询公司Percona的Percona Server
Percona Server由领先的MySQL咨询公司Percona发布的一款使用XtraDB存储引擎的数据库产品,由XtraDB存储引擎的原作者开发并基于GPL开源协议发布,它为用户提供了换出MySQL安装并换入Percona Server产品的能力。Percona Server能够完全与MySQL兼容,开发者无需更改软件中的任何代码,就可以实现二者的相互迁移。从其官网得知Percona Server具有高扩展性、高性能、高可靠性、诊断和管理等特征。Percona团队还声明Percona Server是最接近官方MySQL 企业级发行版的版本,因此与其它更改了大量基本核心MySQL代码的分支有所区别。但是,Percona Server的一个缺点是Percona自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的绝对控制。
2、MySQL之父又一作品MariaDB
MariaDB 是一个基于 Maria存储引擎的MySQL分支版本,它是由MySQL的作者Michael Widenius创办的公司所开发的免费数据库,并遵循GPL V2开源协议发布。它与Percona产品非常类似,但是试图提供了比标准MySQL更多的性能改进,所以对更多底层代码进行了更改。MariaDB直接利用来自Percona的XtraDB引擎,还提供了MySQL提供的标准存储引擎,即MyISAM和InnoDB。因此,可以将MariaDB视为MySQL的扩展集,它不仅提供MySQL提供的所有功能,还提供其他功能。MariaDB还声称自己是MySQL的替代,因此从MySQL切换到MariaDB时,无需更改任何基本代码即可实现。
3、四家大型互联网公司的WebScaleSQL
WebScaleSQL是由Facebook、Google、LinkedIn、Twitter四家公司基于MySQL 5.6 社区版本改编的MySQL通用分支,且基于GPL开源协议发布。WebScaleSQL是专为大型网络公司打造的一个MySQL定制版本,以应对和解决海量数据所带来的挑战,这是这对MySQL技术的一次飞跃。WebScaleSQL项目是来自这四家公司的MySQL工程师团队的工作成果,由于它是开源的,因此其他感兴趣的个人和公司也能够基于自身的资源和规模进行定制。Facebook还公布了其工程师为WebScaleSQL分支所做出的贡献,包括面向内建测试系统、一套完整的压力测试套件、一个自动化性能测试原型以及修改了MySQL的问题架构代码和性能的改进等。
4、来自网易的InnoSQL
InnoSQL是网易开发的MySQL数据库分支版本,遵循GPL V2开源协议发布,项目托管在GitHub。InnoSQL的功能完全兼容MySQL数据库,用户根本感受不到InnoSQL与MySQL数据库之间的差异,但是InnoSQL数据库本身解决了目前MySQL数据库存在的一些问题,如主从数据库同步不一致问题、XA分布式事务丢失、多线程连接性能减弱等各类问题。InnoSQL具有高性能、高可用性、易于运维与管理、开源等特点。使用InnoSQL能够保证数据复制的正常运行、软硬件资源的最大利用化、高并发线程下的数据库稳定运行。据相关人士测试,在使用flashcache特性的情况下,InnoSQL的速度是普通Mysql的5到6倍,是Facebook MySQL flashcache的2到3倍。
5、多主站功能的MySQL/Galera
MySQL/Galera是MySQL的一个分支版本,且基于GPL开源协议发布。MySQL/Galera基于InnoDB存储引擎实现,可用于创建同步的多主站MySQL(InnoDB)集群。MySQL/Galera具有真正的多主站功能,所以相同的表可以在不同的节点中同时进行修改。MySQL/Galera还具有高可用性、已提交的事务从不会丢失、读写操作能够根据需要进行随意扩展、自动删除故障节点、自动加入节点、行级别的并发复制以及触发、存储过程和用户自定义函数都是透明的特征。
除了以上兼容标准MySQL的开源方案外,还有前Facebook工程师创办的号称是世界上最快的分布式关系型数据库MemSQL以及Amazon最近出品的企业级关系数据库Aurora等未开源方案。