Flash初哥

January 23, 2010

eWeek 权威测试显示MySQL 4.0.1 可与Oracle 9i 媲美

Filed under: Mysql — Tags: , — KAV @ 2:42 am

eWEEK Labs/PC Labs 可以说是做基准测试的老大了,早在 1993年 10月份他们的姐妹杂志 PC Magazine 就做过同样的测试。这次和 PC Magazine 合作测试了五种数据库在 Java 应用服务器上的表现,结果显示 MySQL 最新的 4.0.1 版本性能可以和 Oracle 9i 媲美, 垫低的当然是微软的 SQL Server 2000 。 :-)
测试的这五种数据库是:IBM 的 DB2 7.2 FixPack 5,微软的 SQL Server 2000 企业版 SP2, MySQL AB 的 MySQL 4.0.1 Max, Oracle 的 Oracle9i 企业版 9.0.1.1.1 以及 Sybase 的 ASE (Adaptive Server Enterprise) 12.5.0.1。

测试兼容性也是基准测试的一个主要目的,所有的数据库都在同样的硬件条件下测试:
HP NetServer LT 6000r 带有四颗 700MHz Xeon CPU, 2GB 内存以及 24 台 10000 rpm 的 9.1GB Ultra3 SCSI 磁盘,操作系统为 Windows 2000 Advanced Server SP2。

测试的应用程序是一个叫做 Nile 的基于 Web 的书店应用。Nile 采用了 Empirix 公司的测试套件 6.0 ,能加载 50 到 10000 个并发用户。

测试采用的应用服务器是 BEA 的 WebLogic 6.1 SP1,并用 JSP 编写了 Nile 应用。

每种测试运行一个小时产生五万张订单,15 万到 20万相关的记录数,我们得到的最好的伸缩性是在两台 6路 HP NetServer LT 6000r ( 4GB 内存,千兆网卡)服务器上运行6个 WebLogic 例程。HTTP 流量均衡的分配到这六个例程中。

测试的总体结果显示 Oracle9i 和 MySQL 有最好的性能和伸缩性,但是 9i 仅仅略微比 MySQL 好一些,ASE, DB2, Oracle9i 和 MySQL 到达 550 个并发用户时已经“力不从心”了,ASE 的性能下降到了每秒 500 个页面,比 9i 和 MySQL 要低 100 个页面,DB2 在高负荷情况下,性能下降也很厉害,只有每秒 200 个页面了。

由于 JDBC 驱动存在问题,SQL Server 在整个测试中都只能达到每秒 200 个页面。

驱动,内存优化和数据库设计问题是影响性能的主要因素,经过手工细调后的性能会和没有调优的性能差两倍。

Oracle 和 MySQL 的驱动具有完整的 JDBC 特色和稳定性(MySQL的员工采用了Mark Matthews 编写的 JDBC 驱动,因为他们没有自己的 JDBC 驱动程序)。

为各种数据库找到最好的内存配置是一件具有挑战性的工作,我们在这个问题上花了好几天。

SQL Server 和 MySQL 的配置最简单,而 Oracle9i 是最复杂的。 9i 采用了很多独立的内存缓冲,每个数据库连接需要消耗很大的内存(大约 400KB),而 DB2 只需要 177 KB, SQL Server, MySQL 和 ASE 都只需要 50KB 就够了,结果是 9i 的数据和执行计划的缓冲就比别的数据库要小。

MySQL 的高性能源自采用了内存内的查询结果集缓冲,这是 4.0.1 的新特色,我们不采用这个缓冲的话, MySQL 的性能会下降三分之二。另外, MySQL 的员工还根据表的不同采用不同的数据库引擎。

所有的订单表采用 MySQL 的 InnoDB 引擎(支持事务,行锁,多版本同步),目录和用户表则不需要事务支持,采用了 MySQL 的轻量的,非事务的 MyISAM 引擎。

MySQL 4.0.1 的新引入的高速查询缓冲引人注目,其他的数据库没有这个特色。如果查询的文本具有和缓冲中一模一样的匹配的话,MySQL 能直接从缓冲去数据,而不需要编译查询语句,取锁或者搜索索引,这项技术在表不被经常更新的情况下十分有用。

微软的 SQL 2000 虽然在 Java 平台上没有上好表现,但是当我们用 ASP.Net 重写基准测试,并采用 IIS 5.0 ,和 OLE DB 连接,得到的结果或许会让 Bill Gates 松口气,每秒 870 个页面。

在测试前,我们邀请五家公司派员参与测试,只有 MySQL 和 Sybase 欣然前往,IBM 只是答应通过电子邮件交流,微软和 Oracle 都拒绝参加。因此他们的数据库调整都是我们代劳的。

在测试中,我们惊奇的发现驱动程序是问题的最大根源。

在五种被测试的数据库中,只有 9i 和 MySQL 能连续运行 Nile 8个小时,DB2 的 JDBC 驱动不支持可更新的结果集,因此我们只能打开所有的结果集(采用 CONCUR_READ_ONLY),采用 SQL update 语句来更新,最终还是通过了 8个小时的稳定性测试。

在采用 Sybase 的 JConnect 5.5 驱动时,我们发现当应用请求的结果集包含双向游标时,JConnect 把整个结果集存储在客户端的内存里来增加后续游标的命令处理速度,这项工作在低负荷时还马马虎虎,但是当用户达到上百时,应用服务器消耗了几百兆的内存。 结果不到 8 个小时,我们的 6个 应用服务器进程统统挂起了。

为了解决这个问题,我们把应用的浏览逻辑重新改写,只采用前向游标(JConnect 不在客户端内存缓冲),为了保证查阅到前面的图书,我们需要把相同的查询运行两遍,得到图书的总数然后得到图书的数据,这样就影响了 ASE 的性能。

但是,这样做的结果是 ASE 的能整夜的跑基准测试,客户端能从 C/S 结构的应用中获益,但是对于应用服务器而言,这是一个可怜的选择。

微软的 JDBC 设计有缺陷,在 WebLogic 的控制台上我们发现每次 Java 虚拟机作garbage collection,释放出来的内存就少了一些,所以微软的 JDBC 驱动用不到 8 小时就歇菜了。

Oracle为什么不会干掉MySQL(转自IT168)

Filed under: 未想到分類 — Tags: — KAV @ 2:32 am

曾经有人推断Oracle通过收购SUN进而取得近年表现得越来越勇的开源数据库MySQL,从而可以顺理成章地将其处死,但MySQL的前任首席执行官Mårten Mickos却有不同的看法,相反Oracle急需MySQL。

Oracle首席执行官拉里埃利森可能会成为开源的朋友,因为MySQL可以用来对付Oracle的长期敌人微软。SUN去年以10亿美元的价 格收购了MySQL,传言Oracle也是其中的投标人,不过现在Oracle却从SUN手中明显捡了个便宜(除了现金和债务外,Oracle只给了 SUN 56亿美元)。

以下是上周一《财富》杂志对Mickos的采访记录。

财富:你对于Oracle收购SUN这一事件的第一反应是什么?

Mickos:有点吃惊,但不是非常吃惊,Oracle公司有钱,也是一家具有长期战略眼光的公司,它们进入应用程序领域与SAP展开竞争,从目前来看似乎已经成功了,现在它们又想与微软展开竞争了。

微软的数据库业务增长速度非常惊人,Oracle可以使用MySQL拉拢规模非常庞大的开发者社区。但这并不会危害到Oracle的数据库业 务,虽然MySQL的增长速度接近疯狂,但MySQL主要用于基于Web的应用程序,而Oracle主要用于老的,传统的应用程序。

不可否认Oracle可以干掉MySQL,但我认为他们肯定不会这么做,拉里埃利森可是个聪明的人,当我离开的时候MySQL每天的下载量达到了7万次,对年轻开发人员特别有吸引力,对于Oracle来说MySQL业务发展有着重要的意义。

财富:这笔交易对MySQL开发者社区有何影响?

Mickos:任何流行的开发项目都有多个社区,他们不在乎谁拥有它,他们在乎的是社区是否能够使用,MySQL的装机量已经达到了1200万,也许只有你和我会注意这件事情,但很多开发人员甚至不知道现在MySQL已经属于SUN了。

InnoDB(2005年已将其收购)仍然非常流行,Oracle可能会独立运作MySQL,MySQL的力量是它的开放性,而Oracle不 同,它们没有公开它们的bug数据库,如果MySQL将来也不公开,那将会逐渐失去其市场优势。MySQL的一个优势是它的商业模式,但我相信 Oracle的管理人员能够懂得这一点。

财富:那拉里的反开源叫嚣是虚张声势吗?

Mickos:是的,我认为他已经喜欢上开源了,我只是猜测,但他是一个可以跳出盒子思考的思想家,他一定会用MySQL与微软展开有力的竞争,微软一直是拉里最喜欢的敌人。

Oracle收购SUN后,10大值得关注焦点

Filed under: Java相關 — Tags: , — KAV @ 12:54 am

[ZDNet李宁报道]oracle收购sun,已经在业界引起了轩然大波,下面我整理了认为值得关注的10个焦点。

1 MySQL是死是活?

MySQL作为SUN在业绩不好的情况下,仍然挥霍10亿美金购得的资产前途如何?有人分析,干掉MySQL可以让Oracle数据库得到更多的市场机会。但Oracle数据库主要走高端路线,MySQL是中小型市场的选择。干掉MySQL,就意味着Oracle要说服中小型用户去选择昂贵的Oracle数据库产品,或者等于把潜在用户赶到微软SQL Server 数据库的怀抱。所以,让MySQL和Oracle数据库分别在低端和高端市场平衡前行才是一个不坏的选择。

2 Java 社区发扬光大?

Java作为SUN的计算机语言,10多年来已经成为软件社区的一个品牌和开放的产业标准。SUN在近些年什麽都可以改变,就是Java牢牢地攥着自己的手里。Oracle通过收购得到Java,绝对是一笔大大的财富。不仅因为Oracle的很多产品都是基于Java平台,更主要是因为Oracle可以挺直腰板和.net说不,可以根正苗红的跟IBM说Java。所以,Oracle绝对有理由,也有资源继续支持Java社区,但关键是Oracle是一家比SUN更加封闭的商业公司,在忙着赚钱的时候,Oracle还有多少心思做学问,去推动Java呢?

3 Solaris焕发青春?

开放的太晚了。这是普遍对SUN的Solaris策略的看法。SUN一直固守Space+Solaris高端市场。直到被LAMP架构挤压的市场空间不断缩小,才开放了Solaris系统。Oracle拥有了Solaris系统是一个有趣的话题。一定还记得当年Oracle苦于没有操作系统而去撬redhat的客户,推出个Oracle Linux版本的事情。所以,Oracle终于得到了在产品层面上不错的操作系统。就看它怎么玩?

4 对开源的影响?

一直以来MySQL,Java都是在开源的标志。Oracle是一家封闭的商业公司,很多人担心Oracle收购SUN,某种程度上是宣布了软件开源产业的一次失败,甚至会造成软件发展的倒退。不过,从另一个角度看,如果把开源或者说自由软件上升到一个哲学角度,毫无疑问,充满了商业味的Oracle收购学问气十足的SUN,对软件的开源是个影响。但是如果把开源看做一个商业模式的话,Oracle很早就乐于此道了。
5 SUN硬件业务前途未卜?

Oracle过去是个软件厂商,而且它也正在和HP等硬件厂商进行着合作,现在Oracle通过收购也有了自己的硬件。Oracle原有服务器市场的合作伙伴,一下子变成了竞争对手。有人大胆的预测,Oracle稳妥起见,将转手卖掉SUN的硬件部分,这样还可以减少本次收购的成本。但问题是,McNealy 和 Ellison 似乎一直被称为IT界的疯子,卖掉了SUN的硬件似乎使这件事变的没有那么有意思了。
6 服务器市场新气象?

还记得08年,OracleSUN的蜜月期,用户购买SUN指定的几款服务器,Oracle的企业版数据库软件将成为一个选件。SUN将为用户支付Oracle的License费用,用户只需要承担一定的支持维护费用。现在OracleSUN终于“结婚”了,Oracle软件+SUN的硬件服务器捆绑在一起的策略可以走的更大胆一些。现在,Oracle在服务器市场上的优势是, 操作系统(Solaris, Linux) + 数据库(Oracle, MySQL) + 中间件(Oracle Application Server, BEA, SUN Appserver), 虽然目前服务器市场份额SUN并不靠前,但是Oracle绝对可以给服务器市场带来新气象。

7 中间件市场静悄悄?

这次收购看起来并没有从技术产品角度,对中间件产品市场进行新的划分。但是一个值得注意的地方还是Java。Java是业界标准,但Java是Oracle的了。而中间件市场大户IBM同样对Java非常依赖。

8  IBM错失SUN好事坏事?

IBM与SUN谈判的破裂,成就了Oracle-SUN,从产品线角度,Oracle-SUN绝对使IBM面临不小的压力。但是IBM收购SUN也不一定就是好事,首先产品线重叠严重,芯片服务器市场:SUN 是Sparc ,IBM是Power架构,操作系统SUN 是Solaris,IBM是AIX UNIX,数据库,SUN 是MYSQL,IBM是DB2。其次,IBM近年来主要的收入已经从硬件转向了软件和服务,如果收购SUN无疑使IBM不断下滑的硬件业务又多了一个麻烦的问题。所以,虽然IBM没有收购SUN,不能说是一个坏事。
9  微软是福是祸?

有人认为Oracle-SUN的合作,将使很多硬件厂商比如HP转而考虑与微软走的更紧密些。也许吧,但从另一个角度看,一直以来,微软靠Intel这个兄弟,在企业服务器端市场打拼。先前只有IBM这么一个能提供软硬件整套服务的家伙捣下乱。现在Oracle也来了,从IT基础架构+企业应用软件。这势必进一步挤压Wintel的市场份额,失去了平台,微软本就不强的企业服务器端应用软件市更加不好活。目前看来微软只能专心的搞它的IE8,windows7,和Office 2010了。
10  裁员
不可避免,没有什么想象的空间。去年11月,SUN已经宣布裁员5000至6000人,占员工总数的18%,Oracle-SUN的合并,必然会对SUN原有结构进一步调整。不过对于一个创新公司,削减技术人员将是不明智的,还是干掉多余的销售和市场营销人员吧。

Powered by WordPress