2009年4月20日,Oracle并购了Sun,这也意味着MySQL归属到甲骨文的旗下。四百多天过去了,究竟这场并购结局如何?请看本文。

去年对Sun的收购,让甲骨文顺利的将一个潜在的对手MySQL收入囊中,业界一片哗然,一时众说纷纭,唱衰者有之、看好者也有之,MySQL的发展前景受到各方的密切关注。

而现在,Oracle对于Sun的并购完成已经有些时日了。MySQL被并购后的这些日子到底如何呢?本文将从MySQL被并购后的版本更新状况,MySQL开发团队成员现状,及被并购后竞争对手浮现,甲骨文与MYSQL社区的纠葛,等四个方面进行梳理。还原被并购后的MySQL真实现状。

MySQL5.5发布 版本发布频率明显增加

MySQL5.5的发布无疑是MySQL被并购以来最为重要的一次版本发布。MySQL专家摩根·托克(Morgan Tocker)表示,这实际上是一个重大改变。它将引发MySQL使用方式的巨变。过去用户通常是最初使用MyISAM存储引擎,然后学习转向数据管理功能更强大的InnoDB;现在是从一开始就使用更高级和更复杂的存储引擎。我们将看到更多的人开始学习了解InnoDB,而知道MyISAM引擎的人则会减少很多。人们讨论的话题不再是“为什么我要从MyISAM转向InnoDB?”而是“我听说还有一个MyISAM引擎,什么情况下我应该试用它?”对MySQL来说,这是一个非常明智的举动。

另外,近日甲骨文表示,MySQL Enterprise最新版本即将面市,并以此显示甲骨文公司正在持续投资MySQL。

甲骨文在新闻公告中称,MySQL企业监控器2.2(MySQL Enterprise Monitor 2.2)是该版本的关键组件之一。MySQL企业监控器2.2不仅增强了对查询性能的监控,还提高了安全性,并节省了与MySQL支持集成的时间。该版本增强了收集、搜索和查看查询性能数据的功能,使开发人员能够分析和过滤可能干扰关键系统资源的模式。

总的来说在开源社区发展出的力量和Oracle体系的竞争中,MySQL本身呈现出加速发展的趋势,或许在Oracle体系下MySQL变的更完善、更稳定、更加商业化,社区的分支版本更加开放、具备更强的关键性能,也许这两条并行的发展路径,能够创生出更加强大的新MySQL。当然也不排除会有糟糕的情况出现。

高层巨变 MySQL开发团队成员基本稳定

在说MySQL开发团队成员的现状之前,我们先来看看近几个月离职的MySQL高管。

2010年02月08日MySQL元老拥有28年资历的Ken Jacobs离职。

2010年03月22日MySQL创始人之一(Marten Mickos)就任Eucalyptus云计算CEO。

2010年4月13日MySQL数据库开发团队掌门卡伦-塔根·帕德尔(Karen Tegan Padir) 加盟EnterpriseDB。

如果算上在Sun时期就离职的MySQL联合创始人大卫.艾克马克(David Axmark), MySQL另一名创始人迈克尔.维德纽斯(Michael Widenius)及MySQL社区关系主管卡伊。阿莫(Kaj Arno),那留着甲骨文的MySQL的原高层几乎可以说所剩无几。

相比高层的巨大变动,可能大家更关注“MySQL开发人员都去了哪里?”,对此MySQL前技术总监布莱恩·阿克尔(Brian Aker)表示,除了一小部分人离开外,其他人多数还是甲骨文的员工,只有一小部分离开。

我们具体到各个模块的开发人员来详细看看。

首先来说一下存储引擎Innodb,这是一块规模相当大代码,它已经生存了数年时间,现在依然属于甲骨文,没有Innodb就没有24×7稳定运行的数据库。

而优化器(Optimizer)的开发人员几乎都走了,他们去了MontyAB。

至于复制(Replication)功能,除了第一版的编写者之外,其他人都在甲骨文。第一版编写者现在不同的公司担任顾问,不过他在2002年前后就离开了MySQL团队。执行/触发器系统则是多个开发人员合作的结晶。“存储过程之前”的代码基本是在那时编写的,变化的部分很小,相关人员基本都还在甲骨文。

再来看一下MySQL的解析器(Parser),其大部分代码来自于MiniSQL和Unireg的合并,此后MySQL开发人员做的是后来在5.0中出现的整体式存储过程,之后的功能是通过分割技术(partitioning)来实现。

编写连接器(Connector)的开发人员依然在Sun公司,截止到目前还没有听到有人离开。

存储过程的编写者已经在2005年离开,选择回家钓鱼,但其影响几乎可以忽略不计。

因此,MySQL的大部分开发人员还都在甲骨文。

新老竞争对手出击 抢夺MySQL用户及市场。

前段时间,Twitter宣布,将淘汰既有的MySQL系统,改用Cassandra管理信息。 Cassandra是一个由Apache基金资助的分布式开源数据库,主要用于将海量数据分布到大量廉价服务器,进而拼凑出一个无单点故障的信息管理集群。而在Twitter之前,Facebook、Digg已经开始使用Cassandra,思科的WebEx也已使用Cassandra来收集用户反馈。

近日旧金山新创公司Clustrix公开宣称,自己的产品更强大更优秀,可以完成MySQL做不好的事情,可扩展至存储数十亿条数据,完全可以取代MySQL。Clustrix产品可以与MySQL协议互通,这样应用程序再也无需进行代码移植,它的存在无疑会伤害MySQL的付费业务。

除此之外,近期兴起的No-SQL运动也给IT行业带来了新的选择。除Cassandra外,No- SQL运动的代表还包括Hadoop、Google的 Big Table、MemCacheDB、Voldemort、CouchDB和MongoDB。在这样的背景下,不仅大型互联网企业开始放弃包括MySQL在内的关系型数据库,即便是一些企业的内部应用,考虑到多媒体、电子邮件、空间和地理信息的增多,也开始采用非关系型数据库方案。

今天的MySQL不得不面临许多问题,它在大型应用领域的采用率较低,同时面临PostgreSQL的强有力竞争者。PostgreSQL创始人之一的Bruce Momjian先生,对IT168记者表示PostgreSQL比MySQL更优秀。

Oracle与MySQL社区

甲骨文并购前曾经向MySQL社区做出十项承诺。并购后甲骨文高管正在对开源人士展开“示爱”攻势,但曾经的MySQL精英们也已经重整旗鼓,通过MySQL数据库分支的方式来赢得了数据库管理员和开发者的“芳心”。

在上月举行的MySQL大会上,MySQL之父迈克尔·韦德纽斯(Michael Widenius)和大名鼎鼎的MySQL架构师布莱恩·阿克尔(Brian Aker)分别发表演讲,全力推广他们各自的MySQL分支数据库,他们坚信任何一家公司都不可能成为MySQL开发或支持服务的唯一提供商。

他们明确的表达了支持MySQL的开发商和公司应该多元化的观点,另外他们认为,MySQL分支数据库的所有者是那些对代码感兴趣的开发者,而不是某一家利益驱动的企业。

可笑的是MySQL现在已经归数据库巨头甲骨文所有,在本次MySQL大会上该数据库巨头被列为“创始赞助商”。在MYSQL用户大会上,甲骨文首席软件架构师爱德华·斯凯文(Edward Screven)试图取得MySQL用户的信任,声称他们的数据库非常安全,因为甲骨文向用户提供一套完整的支持组合服务。

斯凯文承诺,未来计划将MySQL嵌入到甲骨文的软件架构和管理产品中去。然而这可能有悖于开源人士所渴望的独立性和开放性原则。

很明显,甲骨文每年一度的OpenWorld大会未能打动数据库管理员和开发者的“芳心”,斯凯文的演讲结束后,只得到了MySQL社区关系经理科林·查理斯(Colin Charles)礼貌性的鼓掌。

24小时后,MySQL之父和MySQL顶级架构师抛出了与斯凯文相反的观点:甲骨文推动社区发展是一件好事,但单一架构和单一供应商不利于创新。独立性是他们远离甲骨文的原因,也是他们吸引用户和潜在代码贡献者的制胜法宝。

这些MySQL名人的做法对甲骨文来说是一种考验,将验证甲骨文与MySQL社区配合和容忍不同意见的程度,甲骨文投入时间和金钱召开的MySQL大会,是否允许批评家和分支MySQL领导者自由发表自己的观点。

MySQL被Oracle并购后的409个日日夜夜的更多相关文章

  1. mysql数据库迁移到oracle数据库后 如何删除相同的数据

    mysql数据库迁移到oracle数据库后 如何删除相同的数据 首先搞清楚有多少数据是重复的 select pid from product group by pid having count(pid ...

  2. 【无私分享:ASP.NET CORE 项目实战(第十二章)】添加对SqlServer、MySql、Oracle的支持

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 增加对多数据库的支持,并不是意味着同时对多种数据库操作,当然,后面,我们会尝试同时对多种数据库操作,这可能需要多个上下文,暂且 ...

  3. MySQL与Oracle的主要区别

    Mysql与Oracle区别 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. ...

  4. 数据库MySQL与Oracle的一些去O注意项

    一.oracle递归查询语句start with ...connect by prior ① 给你一张表,表里面有主键id,以及该项的父节点parent_id,查询出该表中所有的父子关系节点树? Or ...

  5. mysql 与 oracle 比较(一)group by 容易产生的误解

    注:本文并不是列举出两者之间的所有不同,而是在实际应用中发现的不同的功能点或者处理模式,之所以记录下来,就是为了提醒自己,勿忘 group by : (1)oracle 中,总所周知,select ( ...

  6. 异构平台同步(Mysql到Oracle)

    Oracle GoldenGate学习之--异构平台同步(MySQL到Oracle) 如图所示:源端采用Mysql库,目标端采用Oracle库 一.OGG安装配置(源端) 1.OGG下载 https: ...

  7. MySQL与Oracle主键Query性能测试结果

    测试结果总结如下: 1. 按主键读:SQL形式:SELECT * FROM table WHERE id=?. 1.1. 主键为数字.如果所有ID均不存在,纯比较SQL解析能力.MySQL解析SQL的 ...

  8. <转>MySql 与Oracle区别

    http://blog.sina.com.cn/s/blog_61e034d50100k6xn.html 近期突击学习了mysql,应杨毅的邀请,简单比较一下mysql和oracle的差别,不当之处欢 ...

  9. MySQL与Oracle的区别

    1.语法上的区别 变量类型定义.IN  OUT的位置.变量定义的位置.游标的位置.异常的位置: 2.MySQL没有 return 关键字,采用leave label的方式结束循环或跳出存储 3.异常处 ...

随机推荐

  1. Sliding Window

    poj2823:http://poj.org/problem?id=2823 题意:给出一个序列,要求得到所有长度为k的连续子序列的最大和最小值.题解:直接上线段树 #include<iostr ...

  2. cf C. Inna and Candy Boxes

    题意:给你一个长度为n的只含有1和0的字符串,w个询问,每次询问输入l,r:在[l,r]中在l+k-1.l+2*k-1.......r的位置都必须为1,如果不为1的,变成1,记为一次操作,其它的地方的 ...

  3. memcached采用的网络模型

    memcached采用的网络模型是早前提到的半同步半异步的网络模型. 简 单的说,大致流程就是:主线程负责接收新的连接,接收到新的连接之后,选择一个worker副线程,将该新连接push到副线程的连接 ...

  4. vijos1082丛林探险

    P1082丛林探险 描述 东非大裂谷中有一片神秘的丛林,是全世界探险家的乐园,著名黄皮肤探险家BB一直想去试试.正好我国科学家2005年4月将首次对东非大裂谷进行科考,BB决定随科考队去神秘丛林探险. ...

  5. 动态规划(二维背包问题):UVAoj 473

     Raucous Rockers  You just inherited the rights to n previously unreleased songs recorded by the pop ...

  6. Final对象

    常量指不能改变的量. 在Java中用final标志,声明方式和变量类似: final double PI = 3.1415927; 虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量. ...

  7. 高效算法——A 归并排序

    In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a seque ...

  8. UVALive 5983 MAGRID

    题意:在一个n*m的网格上,从(0,0)走到(n-1,m-1),每次只能向右或者向下走一格.一个人最初有一个生命值x,走到每一个格生命值会变为x + s[i][j],(s[i][j]可为负,0,正), ...

  9. .NET 基础 一步步 一幕幕[面向对象之new、this关键字]

    经常会有人问:小伙子,有没有对象啊,要不要大叔我帮你介绍一个啊,小伙子会说:大叔,不用我自己new一个就好了.(PS:活该你没有对象) 上边当然是一个段子咯,程序员那会没有对象,自己new一个就有了啊 ...

  10. motan源码分析九:开关

    在前面的文章中,我们已经发现了开关的踪影,例如cluster,motan支持多个cluster,当前的cluster因为开关关闭的情况下,就会使用下一个cluster. 1.开关相关的类和接口主要都在 ...