MariaDB Logo
MariaDB简介编辑本段回目录
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。
MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。 目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。
在Oracle控制下的MySQL开发,有两个主要问题: 1. MySQL核心开发团队是封闭的,完全没有Oracle之外的成员参加。很多高手即使有心做贡献,也没办法做到。 2. MySQL新版本的发布速度,在Oracle收购Sun之后大为减缓。Widenius有一个ppt,用数据比较了收购之前和之后新版本的发布速度。有很多bugfix和新的feature,都没有及时加入到发布版本之中。
以上这两个问题,导致了各个大公司,都开发了自己定制的MySQL版本,包括Yahoo!/Facebook/Google/阿里巴巴+淘宝网等等。
MySQL是开源社区的资产,任何个人/组织都无权据为己有。为了依靠广大MySQL社区的力量来更快速的发展MySQL,另外开分支是必须的。
MariaDB默认的存储引擎是Aria,不是MyISAM。Aria可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。可以通过以下语句,转换为支持事务的Aria引擎。
MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。
特性编辑本段回目录
随着Oracle计划把MySQL搞成闭源的声音越来越多,对MySQL何去何从的讨论也越来越多。由于MySQL是遵循GPL协议的,那么Oracle需要分发、传播和发布的时候就必须要开源。但是如果Oracle一定要把MySQL变得封闭起来,它也不是没有办法,比如:逐渐把开源社区里不亲近oracle的清理出去;或者让MySQL必须依赖的一些oracle闭源的软件和功能,使得MySQL不配合这些功能就变得非常难以使用等。最近,MySQL的新版本里面就去掉了对bug修复后进行验证的测试用例;这样,社区的人就无法保证自己以后发布的版本,在下一个版本里不会出现之前用户之前report过的bug。
商业毕竟是商业,Sun花了10亿美元收购MySQL,然后Oracle花了74亿美元收购Sun,这些钱都是白花花的银子。Larry. Ellison,Oracle的CEO,曾经明确表示不会放弃MySQL,换言之,也就是说,不会放过MySQL这块蛋糕。因为Oracle是按照CPU核数来计算licence的,这个不能改变,也无法改变。这也限制了Oracle在分布式领域的发展,而MySQL在分布式领域的贡献有目共睹。据小道消息,Oracle已经把它的一部分核心源码开放给了MySQL的部分核心开发人员,以促进MySQL 5.6进一步的稳定和扩大影响力。我们不知道Oracle有什么样的商业企图,但是,你如果认为MySQL会一直这样白白给你使用的话,那么Larry. Ellison就是一个傻子。
Larry. Ellison不是傻子,所以后来涌现了MySQL的很多分支,包括MariaDB,Drizzle,goole,facebook,阿里集团等维护的自己的分支版本。除了MariaDB,Drizzle以外,这些分支版本都是各个商业公司为了满足各自公司的需求而对源码进行修改和调整的版本,适合不适合你的业务场景我无从分辨。Drizzle是2008年从MySQL 6.0分支出来的,并且它明确申明了,部分MySQL的蹩脚(Gotchas)特性,它都不会保留,也就是说它和MySQL是不完全兼容的。
MySQL前CTO,被称为MySQL之父的Michael “Monty” Widenius在2009年2月,创办了Monty Program AB,并建立了mariaDB这个MySQL高性能的分支。MariaDB是发展最快的MySQL分支版本,与MySQL兼容并且有很多新的功能。
MariaDB有个很性感的中文名玛莉亚DB,对宅男型的DBA来说,终于有一个女性DB陪伴了。下面就让我们来看看这些功能到底有哪些。 (MariaDB目前有时候会被墙,不过沃趣科技已经搭建好了镜像(mariadb.woqutech.com),将部分文档和资料搬到国内的服务器上来,以解各位技术男的相思之苦。)
与 MySQL 相比较,MariaDB 更强的地方在于:
•Maria 存储引擎
•PBXT 存储引擎
•XtraDB 存储引擎
•FederatedX 存储引擎
•更快的复制查询处理
•线程池
•更少的警告和bug
•运行速度更快
•更多的 Extensions (More index parts, new startup options etc)
•更好的功能测试
•数据表消除
•慢查询日志的扩展统计
•支持对 Unicode 的排序
MariaDB成为MySQL命运转折点?编辑本段回目录
当初Sun Microsystems公司即将迎来收购之时,一群曾经参与过著名人气开源数据库MySQL开发的程序员们决定另起炉灶,打造名为MariaDB的新项目。
MariaDB Logo
新项目由Michael “Monty” Widenius定名并领导,这位MySQL项目的原始开发者兼MySQL公司联合创始人放弃甲骨文的招揽,从零开始重新奋斗。在离开Sun公司之后,他在自己的故乡荷兰成立了一家公司——也就是Monty Program AB——借以管理MariaDB项目的开发工作,同时向广大MySQL技术达人敞开怀抱。不久之后,Monty Progam公司就拥有了一个实力强劲的开发团队。
也许大家并不了解,但他们的确一直在废寝忘食地工作。由于甲骨文公司在全面收购Sun资产后对MySQL的开发工作表现出极高热情,导致MariaDB感受到了前所未有的竞争压力。然而优秀的人才在对抗当中力挽狂澜,帮助MariaDB站稳了脚跟。在一份由Network World网站公布的六大开源数据库评测报告中(包括MySQL),我们发现MariaDB赫然成为人气最高的数据库方案。Monty告诉我,MariaDB与MySQL相比拥有约三十人工作年的研发优势,而Monty Program公司也对自家产品的领先性表示认同——尤其是在安全性修复方面。
快速修正是关键
Monty告诉我们,MariaDB开发团队一直在与mitre.org通力合作,希望保障一切安全问题都能被快速发展、上报且拥有完备的细节描述。由于甲骨文公司不再公布安全修复细节,MariaDB团队通常需要对来自MySQL的补丁程序进行逆向工程,借以找出其修复对象。搞清状况之后,这些补丁将被合并起来并为MariaDB提供服务。Monty表示“MariaDB可以被看作是安全性最高的MySQL版本”——这一声明相当大胆。
尽管MariaDB与MySQL两者在新版本公布之前,其安全漏洞的修复细节一般都要受到严格保密,但最近的一次事件令双方在安全应对机制与响应速度上的差异显露无遗。问题甫一曝光,MariaDB就行动起来并在几天之内就利用开放并记录开源补丁完成了修复工作;相比之下,MySQL直接现在(截稿之日)仍然没能搞定这些安全漏洞。
这已经不算什么新鲜事了。甲骨文公司一直在对企业资源优先参与并处理MySQL社区事务的做法抱怨不已,结果当然显而易见:裁撤相关流程转投其它开发项目并延缓修复安全漏洞,而这一切都令项目组与MySQL生态系统间的交流日益恶化。我曾与MySQL与MariaDB双方的外部生态系统合作伙伴进行过对话,而他们都对甲骨文公司的强硬作风表示无奈。
面临如此窘境,上周传出的新闻无疑可算大大的利好消息:MariaDB基金会正式成立,MySQL开源社区也将有望自此步入新的发展阶段。MariaDB——从侧面来看也就是MySQL——终于拥有了专门的机构体系,该基金会的出现将一举扭转发展控制一家掌握的被动现状。
生态系统受到影响
这对MySQL的生态系统又意味着什么?首先,MySQL将借打包与整合之力获得提升。很明显,像MariaDB这样的开放式项目在使用便捷性上要远超过某家企业针对自身业务所打造的数据库方案。在未来,我们很可能看到被囊括在Linux发行版中的MariaDB,同样也可能在LAMP部署中发现它的身影(而且在用MariaDB代替传统MySQL之后,我们仍然可以沿用‘M’这个字母)。
其次,创新的可能性也将大大增加。某位开发人士曾告诉我,MariaDB身上具备一些极具吸引力的发展潜力——支持OLTP、OLAP、以数据为中心的专业处理方案以及高度可扩展的多控制集群。这种多元化的发展方向意味着项目需要接纳来自各个方面的信息与意见,而基金会的成立为开发者提供了一套透明的管理平台,其向所有人开放的基础特性对于整个项目的走向有着非常深远的积极意义。
第三,有效改善项目竞争力。MariaDB最近刚刚公布了一套兼容性极高的客户端库,完全利用LGPL从零开始重新编写、借以替代MySQL及其衍生版本原先所使用的GPL——现在MariaDB与MySQL双方都将由此而受益。正如社区成员Arjen Lenz在评论中所说,这一点对于双重许可问题意义重大。现在商业用户们再也不必为了避免额外的GPL合规性管理需求而忍痛为MySQL购买专有许可了。
将三个因素综合起来看,MariaDB绝对有机会在规模庞大且对手众多的MySQL市场中依靠独特魅力取得竞争优势。Monty告诉我们,MariaDB项目的代码贡献者中已经出现了许多企业巨头的身影,其中包括Facebook、谷歌、Twitter等,而且专为开发者们准备的IRC交流平台上经常有上百人在线。
虽然形势见好,但也并非万事大吉。MySQL生态系统中有那么一部分似乎就完全没受到正面影响:Drizzle项目,其目的是通过重新设计一套更小、更具模块化特性的微内核实现云部署。该项目创始人Brian Aker在Twitter上明确表达了自己对于基金会的不屑一顾,并通过电子邮件宣称自己将保持观望态度。Drizzle项目已经拥有了自己的一套非GPL客户端库——虽然还未能实现完全兼容——而Aker认为MariaDB所使用的JDBC驱动(即Java数据库连接)从某种程度上来说源自Drizzle(其采用BSD许可,而MariaDB则采用LGPL)。
在任何大型技术社区当中,意见分歧都是不可避免的,所以我们倒是无需对这种剑拔弩张的气氛太过在意。相信只要拥有良好的执行力,MariaDB基金会很可能为MySQL社区注入新的活动,并实现又一轮创新与业务增长。要达到这一目标并不简单,但项目中所蕴含的潜力同样极为可观。MySQL已经成为开源历史上的一块重要基石,而MariaDB很可能在未来的发展道路上成为又一座丰碑。
英文原文地址:http://www.infoworld.com/d/open-source-software/the-mariadb-foundation-turning-point-mysql-209168
维基逃离MySQL 力挺开源数据库编辑本段回目录
MariaDB也是由MySQL创始人发明的。并且由于MySQL被甲骨文收购,正在成为开源数据库的主流。
据悉,维基传媒基金会负责网站架构的高层Asher Feldman透露,他最近将维基百科中的英文百科全书,转移到了MariaDB 5.5.28数据库。他透露,明年一季度末期,有望把整个百科全书切换到新的开源数据库。
在谈到更换数据库平台的原因时,这位高层表示,主要目的并不是新数据库性能更好,维基传媒基金会以及整个开源社群,都希望能够推动开源数据库MariaDB的普及。
MariaDB官网
我们可以从MariaDB官网上看到,MariaDB数据库的定位就是MySQL的替代者。
有国外媒体指出,此次维基百科选用MariaDB,势必让全球诸多采用Linux, Apache, MySQL, PHP/Python/Perl (LAMP)套件技术的开发者更多关注MariaDB。