下一代数据库发展的四大趋势
从最早用文件系统存储数据算起,数据库的发展已经有50多年了,其间经历了20世纪60年代的层次数据库(IBM的IMS)和网状数据库(GE的 IDS)的并存,70~80年代关系数据库的异军突起,90年代对象技术的影响。如今,关系数据库依然处于主流地位。关系技术之后,在新形势下,数据库应该如何发展?又有哪些重要的趋势呢?
作为成熟的产品,关系数据库已经走过了几十年的历史,而今年各主流数据库厂商大动干戈、紧锣密鼓地筹备各自新产品发布,为平淡的数据库市场掀起了新一轮热潮。甲骨文刚刚推出了其Oracle 10g的第二版本;IBM代号为Viper(毒蛇)的新一代DB2数据库产品将于今年9月份推出测试版本;微软公司的SQL Server 2005已经在测试中,今年底即将面世;Sybase也将于下个月推出新版本的数据库产品Sybase ASE 15。各数据库厂商集中火力瞄准的数据库市场竞争焦点是什么?新一代数据库有哪些新的技术趋势?
对主流企业数据库厂商包括甲骨文、IBM、微软、Sybase的采访表明,对XML的支持、网格技术、整合数据仓库和BI应用以及自我管理已成为下一代数据库在功能上角逐的焦点。
趋势之一:对XML的支持
“如果谁能控制、支持和存储所有类型的数据,那么这样的厂商也就有能力扩展自己其他产品和服务的市场空间。因此整合XML、对象数据、多媒体数据,将所有数据类型放在一个平台上将是传统的关系数据库发展的一大趋势。”这也是数据库厂商大动干戈的主要原因。
传统关系数据库中,管理的是结构化数据,数据是以行和列的二维表形式进行存储,并通过标准的SQL查询语言进行查询。而随着Web时代的到来,在 Web大背景下“泛数据”管理成为人们关注的重点。所谓泛数据就是指包含了文档、电子邮件等各种类型的数据,这些数据通常都不是以行和列的格式存在的,不像关系数据那样是严格的结构化数据,因此对这类数据的存储管理以及快速高效的查询是对传统关系型数据库的挑战。
目前XML标准日益成熟,并很快成为各种复杂的异构数据交换的核心技术和未来数据定义的标准格式,例如,微软将在下一代Office软件中采用 XML数据格式。因此,将Native(原生)XML格式的数据存储在关系数据库中并支持对XMLQuery查询,正是这些新推出的数据库产品的亮点之一。
甲骨文公司大中华区销售顾问部高级总监李颖聪表示,甲骨文在几年前就已经看到了这个趋势,并提供了第一轮的XML支持。早期是通过一个工具,实现不同应用之间的沟通。例如在Oracle 8i产品中,甲骨文就已经推出了XDK(XML开发工具),通过XDK开发应用把XML数据存储到关系数据库中;在Oracle 9i产品中,则已经能够在数据库中定义XML数据类型,通过SQL生成XML数据和对其进行查询;而在Oracle 10g中,则已经提供了对XML Query语言(XQuery)的支持,而且在Oracle 10g中,XML数据是作为一个独立的方式存储在XMLDB数据库中,提供的是Native XML的支持。
而对将于2006年推出的下一个版本的IBM DB2来说,集成结构化和非结构化数据并支持SQL及Xquery查询也将是其最大的卖点,IBM公司信息管理部门总经理珍尼特·帕尔娜(Janet Perna)认为,关系数据库对非结构化数据的支持不亚于从层次数据库到关系数据库的革命性转变。“XML在信息管理领域无处不在,不管是管理结构化或非结构化信息,或者用于信息传输,或者是集成信息的映射标准。它现在是不可或缺的。”
微软中国数据库产品经理表示,将于今年下半年发布的Microsoft SQL Server 2005将满足客户希望把大量XML数据放入数据库中的需求,并提供Native(原生)XML和XQuery的支持。“微软是XQuery标准的制定者之一,在SQL Server 2005中微软加入了很多核心技术,实现了快速查询,而且使得性能得到优化。”
Sybase(中国)公司高级产品市场专员韩谊则指出,Sybase是较早在数据库中支持XML的厂商之一。目前Sybase ASE可以将XML文档存储在text或Image列中,可以将XML映射到新的或已有的关系表中,可以从关系查询中创建XML格式的结果集。未来 Sybase除了不断添加对XML新技术、新标准的支持,还要添加更多函数,增强对Web Service支持,使用户更方便的使用XML。
InterSystems中国技术总监余衡也表示,InterSystems公司的后关系型数据库Caché已经完全支持XML了,而且这种支持来自于 Caché独特的数据存储方式,使得XML的数据可以完美地保存在Caché数据库中,不论存取还是查询分析都非常简单。关系数据库保存数据是采用二维表的方式,而Caché的存储方式是采用了多维数组的存储方式,从而很容易地实现了结构化数据的存取。同时在这个多维数据存储之上,Caché同时实现了对象的访问方式和SQL的访问方式。
Burton 集团的高级分析师Peter O'Kelly 则指出,如果用户的关系数据库支持原生XML数据,那么就可以享受到XML数据格式带来的很多安全特性。例如,可以在整个文档中插入电子签名,也可以将采购订单直接存储,无须进行任何的转换,这些特性都可以确保文档不会被篡改。但记者在对国内一些中小企业用户的采访中,很多客户都表示了对XML查询的需求还不是很迫切。贝塔斯曼文化实业有限公司IT总监江玮、佐丹奴 /Giordano集团CIO侯彤、永恩集团CIO赵春雨都表示,目前对XML支持的需求还不是很迫切。但他们表示,对XML数据库是否真正能够达到的目标或对企业业务的帮助还不是非常了解,需要继续了解相关技术和知识以及发展情况。针对此,甲骨文公司中国区销售顾问部高级经理裴雪松表示,当CIO关注信息整合时,XML就是必备的工具,事实上,目前国内很多银行、电信等客户在进行应用整合时已经将XML作为其标准。
趋势之二:网格支持
“网格就是下一代Internet”,这句话强调了网格可能对未来社会的巨大影响。在历史上,数据库系统曾经接受了Internet带来的挑战。毫无疑问,现在数据库系统也将应对网格带来的挑战。甲骨文公司Oracle 10g网格数据库产品的推出,则将网格技术的应用领域扩展到企业计算。但针对数据库对网格技术的支持,目前一些厂商还持有不同的观点,例如微软和 InterSystems就指出,网格并非惟一的答案。
“网格计算将是数据库技术发展的大趋势之一,数据库不仅仅是存储数据,而是要实现对信息整个生命周期的管理。而甲骨文提出的网格数据库则是将其落到实处。”据悉,自Oracle 10g去年发布后,很多被资源、管理困扰的客户都对甲骨文的网格技术非常感兴趣,而且已经在很多领域得到应用。李颖聪同时表示,在甲骨文刚刚发布的 Oracle 10g Release 2中又进一步改良了许多网格运算的功能,提升了性能、应用度以及简化管理功能。该方案可让客户将多台标准服务器系统整合成一套可扩充的容错运算平台。同时,新版数据库可让客户更容易在网格环境中分享储存资源,并且大幅提升数据安全性。李颖聪表示,甲骨文在未来的产品中将会继续关注网格技术。 Sybase公司则表示,尽管网格技术要成为商业应用的主流,还需要几年时间在应用和产品上进一步完善,但Sybase非常关注这种技术,已经作了一些技术探索和储备,并希望能在不远的将来推出成熟的产品。
而微软则表示,目前微软还没有考虑到对网格技术的支持。他认为,网格是一种扩展技术,扩展有两种方式:向上扩展(Scale up )和向外扩展(Scale out),向上扩展是增加CPU的个数和内存等资源满足用户的需求,而向外扩展就是多节点并行技术,或者说是网格的技术。微软的一项调查显示:目前99%的客户需求是在16颗CPU以下,而目前,微软的SQL Server 2005最多可以支持64颗CPU,因此微软认为,通过向上扩展完全能够满足客户的需求,而没有必要采用向外扩展技术。
另外,微软认为,网格应用在技术上还需解决一些问题。例如,网格中对资源的共享是通过共享磁盘实现的(Share Disk),并通过锁控制器(Lock manager)实现多个节点对资源的争夺,管理节点对资源的访问,当节点增多,会带来性能的下降。
InterSystems中国技术总监余衡也表示,网格计算在科学计算领域非常受欢迎,例如对于处理电影作品中帧的应用程序,或者处理复杂静态数据的数据仓库、处理复杂并需要长时间运行的查询,网格计算也许是合适的。但网格计算不是绝对的答案,对于大范围的事务处理类型的应用程序,进行高速数据库更新操作与计算,网格计算可能就不适合了。在商业领域或者非科学方面的应用中,把任务分解成逻辑或者功能组件比分解成过程更有意义。
李颖聪介绍,Tom网站的用户管理系统已经采用了Oracle 10g的网格技术,在并发处理能力的加强、自动扩展以及降低软件成本方面都起到了很好的作用。在采访中,很多用户也表示对网格技术在数据库中的应用非常关注,但正如永恩集团CIO赵春雨所言,对采用普通结点组成的系统的性能是否真正可以达到期望还有很多考虑。而佐丹奴集团CIO侯彤则表示,作为一个规模不算很大的企业,一到两台服务器已经可以满足现时及未来几年企业发展的需要了,目前并没有关注网格技术。