从关系型数据库诞生至今近30年的时间里,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理“表格型数据”,却对技术界出现的越来越多复杂类型的数据无能为力。
一切技术的革新,都是围绕着用户的需求”。
不知道有没有人能想到数据库的起源究竟是因为什么,我们可以这样想象一下,一个商人,不论他做哪个行业,只要他有生意进行,他就需要记录数据,那些记录在羊皮和纸张上的简单数字,就是最原始的数据库雏形。
自从计算机出现后,信息技术的发展速度超出了人们的想象,在这种势头下,数据库、信息管理软件、大型存储设备等一系列周边产品也同样拥有着旺盛的生命力。而Oracle和IBM就是数据库领域中最为著名的两家公司。
机会从眼皮底下溜走
提到数据库的发展史,有一个人不能不提,他就是IBM数学专家埃德加·考特(Edgar Codd)。
在Oracle和IBM从上世纪70年代中期开始的较量中,埃德加·考特成为了双方的焦点,《时代周刊》撰文写道:“考特在70年代初的技术理论《关于大型共享数据库的关系数据模型》为整个信息技术产业提供了一个全新的发展模式,幸运的Oracle率先选择了他开创的关系型数据管理(Relational Model)技术,从而在数据库市场中遥遥领先。”
在IBM的众多技术专家中,考特一直恪守着自己的处事风格,虽然曾在1981年获得“图灵奖”及后来的美国国家技术奖等许多荣誉,但他始终只把自己当作一名普通的技术专家。也许正是这种淡漠的心态让IBM忽略了他的研究成果,而给了Oracle机会。
在当时,企业软件概念逐渐成为了市场的热点,IBM也投入巨资,准备在企业级市场中博杀一番。兼具数学和计算机技术双学科背景的考特顺理成章地加入了企业软件产品项目小组,负责开发数据库产品。
当时市场中的主流数据库技术主要有两种,基于层次型的和网状型的,为了抢占市场,IBM一年内就推出了数款相关产品。
虽然IBM的产品在市场中取得了一定的成功,但眼光独道的考特却坚持认为当时的数据库技术仍无法满足复杂、多元化的发展趋势,于是在1970年,他率先提出了关系型数据库理论,并大胆预测关系型数据库技术将成为未来企业软件市场的发展方向。
可惜的是,已在原有数据库技术上投入巨资的IBM并没有重视这个提议,其它一些技术公司也受到了IBM的影响,对这一技术采取了观望态度。
利用“关系”壮大
这就是Oracle的机会,在远见的Larry Ellison的带领下,Oracle抢先采用了关系型数据库技术作为其产品的核心,并于1977年首次推出了基于关系型技术的数据库产品。
几年后,Oracle的产品在企业软件市场中大获成功,把包括IBM在内的众多公司甩在了后面。
1977年6月,Ellison与Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室的计算机公司(Oracle公司的前身)。
公司创立之初,Miner是总裁,Oates为副总裁,而Ellison,因为一个合同的事情,还在另一家公司上班。没多久,第一位员工Bruce Scott(用过Oracle数据库软件的人都知道有个Scott用户吧?没错,就是这个Scott,至于Scott用户的密码Tiger,那是Scott养的猫的名字)加盟进来。
在Miner和Oates有些厌倦了那种合同式的开发工作后,他们决定开发通用软件,不过他们还不知道自己能开发出来什么样的产品。
Oates最先看到了埃德加·考特的那篇著名的论文连同其他几篇相关的文章并推荐Ellison和Miner也阅读一下。Ellison和Miner预见到数据库软件的巨大潜力,于是,SDL开始策划构建可商用的关系型数据库管理系统(RDBMS)。
很快他们就做出了第一个产品。根据Ellison和Miner他们在前一家公司从事的一个由中央情报局投资的项目代码,他们把这个产品命名为Oracle。因为他们相信,Oracle(字典里的解释有“神谕, 预言”之意)是一切智慧的源泉。
XML时代来了?
时至今日,Oracle占据了数据库市场的半壁江山,IBM和微软各占了22%和15%的份额。2006年,历经6、7年的研发时间,IBM开始发力,推出全面支持原生XML的DB2 9,希望能扭转局势。
实际上,从关系型数据库诞生至今近30年的时间里,人们也发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理“表格型数据”,却对技术界出现的越来越多复杂类型的数据无能为力。
上世纪90年代中后期,世界著名的产业战略调查咨询公司Gartener Group发表了一系列关于数据库系统发展的调研报告,它认为:关系型数据库系统技术已相当成熟,其发展已趋顶峰;尽管有了很大发展,关系型数据库系统能处理的数据类型仍相当有限。随着信息技术的发展,市场越来越需要能处理复杂数据类型的数据库;由于大型数据库管理系统的技术复杂性以及开发的高昂费用,今后新型数据库系统很可能只在现有的数据库系统产品厂家内产生。
Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
上世纪90年代末,随着德国软件股份公司(Software AG)宣布世界上第一个“原状XML数据库系统(Native XML Database System)”产品──Tamino问世,标志着数据库系统进入了一个新的发展时期。随后,一些大型数据库系统生产厂家,如:Oracle、微软公司等纷纷宣布要发展支持XML的数据库产品。
在发展XML数据库上,存在着两种完全不同的方法。
第一种方法是在不变动关系型数据库内核层的基础上,将XML的树型结构数据拆散、重组转换成关系型表格数据存入数据库。在提取XML数据时,利用SQL语言的优化将库内的表格型数据取出并还原成XML结构型数据。
第二种方法,也是被业界普遍认为是代表发展方向的方法,就是发展“原生XML数据库系统(Native XML Database)”。
IBM DB2 9就是采用第二种方式构建的。IBM DB2 9也被认为是回归原始数据库的产品。利用XML独特的灵活性,可以得到高保真的、原始状态的数据。
面对IBM发起的攻势,Oracle目前并没有明显的反应,但是依照今年的新品发布消息看,Oracle和微软在最新数据库版本中都加强了对XML的支持。
虽然微软的市场份额只占了不到五分之一,但是其大部分产品的研发都是基于Windows平台,基于Windows平台,微软有着绝对的竞争优势。
其实,人们早在2000年的时候就意识到了XML的很多优越性,但是因为它会在分析中产生大量的标签冗余,而始终未能成为主流应用。
Oracle、微软的数据库中利用XML的部分都是采用的拆分、重组的方式,没有真正的实现数据保真,这也是为了避免大量的标签冗余。IBM也只能采取压缩的方式来避免标签冗余。如果不能真正的解决冗余问题,这将成为IBM DB2 9的致命伤。
市场是检验产品的最佳途径,一个产品能否得到广泛的应用,最终取决于用户对这个产品的认可度,在目前看来,IBM DB2 9确实有足够吸引人们眼球的基因,也能够把老用户继续粘合在其周围,但是能否真的改变市场布局,吸引其它公司的老用户加入到这个行列中来,则需要时间来验证。
Oracle 、微软等厂家是对 IBM DB2 9“ 放任自流以观后效 ” ,还是将其扼杀在襁褓中?数据库发展方向会否就此改变?都是值得我们重点关注的。