数据库发展史上的一个里程碑 原生XML数据库

(文/范之望)

长期以来,IT业界一直在寻求新型数据库系统以弥补经典的关系数据库的不足。本文试图从数据库发展的历史、企业界的战略考虑以及近年来出现的XML语言的重要意义,来简单介绍德国软件股份公司(Software AG)在数据库技术上的新思维。

 

数据库系统发展历史及对新型数据库的寻求

 

  自六十年代商用数据库系统面世以来,数据库系统的发展大概经历了以下几个阶段:

七十年代以前,数据库系统并没有一个完整和坚固的数学理论基础,数据库产品直接按实际应用的要求来设计。这段时期的数据库产品以层次型数据库系统为主。业界把这段时期的产品称为“前关系型数据库系统(pre-relational database)”时期。

 

1970年,IBM公司的研究员Codd发表了题为《大型数据库的数据关系模型》①著名文章。从此,数据库系统的发展进入了“关系型数据库系统(relational database)”时期。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有Oracle、IBM公司的DB2、 微软公司的MS SQL Server以及Informix、ADABASD等等。

 

随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求所谓的“后关系型数据库系统(post-relational database)”。尤其是九十年代中后期,世界著名的产业战略调查咨询公司Gartener Group发表了一系列关于数据库系统发展的调研报告,其重点归纳起来大概有以下几点:

 

l       关系型数据库系统技术已相当成熟,其发展已趋顶峰;

l       尽管有了很大发展,关系型数据库系统能处理的数据类型仍相当有限;

l       随着信息技术的发展,市场越来越需要能处理复杂数据类型的数据库;

l       由于大型数据库管理系统的技术复杂性以及开发的高昂费用,今后新型数据库系统很可能只在现有的数据库系统产品厂家内产生。

 

Gartner Group的报告引起了IT业界的高度重视。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。值得一提的是,美国Stonebraker教授提出的理论曾一度受到产业界的青睐。Stonebraker在其著作《面向对象的关系型数据库系统:未来的巨浪》②指出:

 

l       纯关系型数据库系统市场已逐渐饱和;

l       纯面向对象型数据库系统除一些特殊用途外,市场极其狭小;

l       面向对象的关系型数据库才是新型数据库系统的发展方向。

 

Stonebraker不仅对现有的数据库类型及市场进行了详尽的分析,提出了“面向对象的关系型数据库” 的基本思想,更难能可贵的是还提出了一系列具体技术实施的方法。比如,他提出的不放弃已经非常成功的查询语言SQL,而直接在SQL语言上进行功能扩展。 Stonebraker的著作一面世立即受到了研究界和工业界高度重视,新版本的SQL3标准(99年发表)正是引进面向对象的关系型数据库的许多内容。而Stonebraker本人也在当时被Informix花大价钱聘作技术总负责人。

 

然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。笔者以为,其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外, 面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。 

 

Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。九十年代末,随着德国软件股份公司(Software AG)宣布世界上第一个“原状XML数据库系统(Native XML Database System)”产品──Tamino问世,标志着数据库系统进入了新的一个的发展时期。随后,一些大型数据库系统生产厂家,如:甲骨文、微软公司等纷纷宣布要发展支持XML的数据库产品。

 

XML:Internet技术上的一次新革命

 

XML的全称是“可扩展的标识语言(extensible markup language)”。1998年2月W3C组织公布了XML第一版本的标准③,从此Internet技术进入了一个新的革命。如果说以http传输协议 和超文本标识语言HTML为标志是第一代Internet技术的话,那么,围绕着XML所形成的一系列标准和技术将构成新一代的Internet技术。世 界上几乎所有的大型IT公司都在跟踪和研究开发XML产品。

 

为什么XML技术如此重要?事实上,我们只要回顾一下IT行业的发展历史就不难理解其中的意义。

 

当计算机技术摆脱纯科学计算而转入商业用途之后,在其通用软件的发展上大约经历了以下几个阶段:

 

第一阶段,IT业界大多把研发的重点放在办公室桌面自动化上,主要是解决与办公文件有关的一系列处理软件,追求所谓“无纸办公自动化”。这方面的代表产品有美国微软公司的MS Office等。

 

IT发展的第二阶段,以公司企业内部的计算机管理自动化为方向,解决的是企业内部各职能部门内部的管理及部门与部门之间的协调问题,即ERP系统。这方面的典型产品以德国SAP公司的产品为代表。相对于办公室桌面自动化来说,企业管理所涉及的面更广、问题更复杂。

自从Internet被引入商业用途以后,IT的发展进入了第三个阶段:即企业与企业间、实体与实体间业务交流的自动化,这种交流的自动化不仅仅是局部性的,更是区域的乃至全球性的。这个阶段的发展无论从其广度和复杂程度都要大大超过前两个阶段,它带来的革命性意义也将是十分深刻的。电子商务、B2B等等前几年炒作相当热的概念就是这个阶段发展的一部份。电子商务之所以时至今日尚未发展出一个统一的解决方案,依笔者之见,主要是作为电子商务的基础技术发展尚未成熟,而且市场也需要一个酝酿期。

 

经过这几年的研究和探索,虽然尚未发展出一个统一的方案来解决企业与企业间业务交流的自动化的问题,但在其基础技术上各业界几乎已经统一了思想:解决方案必须在跨操作平台、跨软件系统的Internet平台上进行,其基础技术就是XML。

 

虽然XML与HTML都属标识语言,但他们的意义却是完全不同的。HTML文件中的标识符仅表示该文件应该如何显示(如字体的大小等等),而对机器来说极 难判断其表达的语义。文件中表达意义完全需要人通过对文字的阅读才能理解。而XML则不同,它所采用的标识符本身就代表了语义结构,文件的具体语义完全可 以通过对语义结构的分解及该结构内变量值或字符的分析由机器来解释。因此,我们可以用通俗的话来概括HTML与XML的差别:

 

“HTML是写给人看的;而XML则是写给机器看的。”

 

扼要地说,XML有下列重要特性: 

 

l       XML是一种表意而非表形的元语言。采用不同的显示页(stylesheet)就可以做到同一数据源却有不同途径的显示结果。

 

l       XML是Internet的标准语言,因而具有跨操作平台、跨区域的特点,因而是网络世界里的一种“世界语”。

 

l       由于由XML所写的文件能为机器所解读,使得网络世界里“服务器对服务器(Server to Server)”的应用成为可能,从而奠定了Internet应用自动化的基础。

 

l       XML是一种可自我描述定义的元语言(self description meta language),所以它将大量用于制定行业内及行业间数据交换的标准。

 

围绕着XML已经形成了一大批新的技术及标准。工业界也在加紧制定自己行业的XML标准。关于这些新型技术和标准,我们将另行撰文详细讨论。目前,XML 数据已逐渐用于实际应用。可以预见,今后的一段时间内,XML数据将爆炸性地递增而出现在Internet世界里。XML数据的大量应用在呼唤着新型数据库系统的面世。

 

原生XML数据库系统和Tamino

 

在发展XML数据库上,存在着两种完全不同的方法。第一种方法是在不变动关系型数据库内核层的基础上,将XML的树型结构数据拆散、重组转换成关系型表格数据存入数据库。在提取XML数据时,利用SQL语言的优化将库内的表格型数据取出并还原成XML结构型数据。文献④详细讨论了有关表格型数据与XML数据的转换及优化的问题。第二种方法,也是被业界普遍认为是代表发展方向的方法,就是发展“原生XML数据库系统(Native XML Database)”。这一概念由德国软件股份公司(Software AG)首次提出并实施于其新型数据库Tamino之中。在这一数据库系统中,从数据库核心层直至其查询语言都采用与XML直接配套的技术。我们在这里介绍Tamino主要设计思想及技术。 

 

德国软件股份公司(Software AG)是欧洲第二大具有大型独立品牌软件产品的公司,具有三十多年以生产数据库系统产品为主的历史,她的传统产品ADABAS是一大型数据库管理系统,被用于西班牙国防部、美国的一些地区政府等安全要求严,敏感性高、客用量大、系统稳定性要求高的业务。在XML标准尚在讨论而未正式发表之时,Software AG即从战略发展的高度制定出发展支持XML数据的数据库系统,并率先在世界上第一次提出“原生XML数据库系统(Native XML Database)”的概念,并于99年10月推出新型数据库系统Tamino。

 

在这短短的几年中,Tamino已发展到第三个版本。相对于传统的关系型数据库管理系统来说,这是一种结构完全不同、设计思想新颖的全新的数据库系统。概括来说:

 

l       “原生XML数据库系统”无需转换

 

如果用关系型数据库来处理XML数据,将需要一系列复杂的转换工作,从而极大地影响应用的速度。更有甚者,当转换选择不合理时,很有可能对应用造成致命的伤害。而原状XML数据库系统则不同,XML数据不经任何转换而按原结构形状直接存入数据库内,因而对XML的应用来说是最优的。

 

l       快速的XML信息服务器(XML Information Server)

 

原状XML数据库系统对于XML应用其速度相对于其他数据库来说要快得多。对于相同的XML数据,Tamino的处理速度比其他数据库快数十倍乃至上百倍。

 

l       Tamino可处理XML数据也可处理关系型数据

 

Tamino带有两个不同的数据处理器。一是所谓的“X-机器(X-Machine),专门用来处理XML数据的检测、存储及提取。其次是SQL引擎,用来处理关系型数据。这两部分处理器各自带有自己的编程接口。

 

l       Tamino直接支持http传输协议

 

通常的数据库系统只是简单的client/server结构。如果要投入到Internet的应用中,则需要另外在Webserver与数据库之间写一层接口程序,以保证Internet的应用中数据交换的实现,而这一部分的编程工作量相当大且复杂。Tamino的X-Machine直接支持http传输协议,只要输入相应的URL,就可以直接取得或处理XML数据。

 

l       Tamino的XML查询语言—Xquery

 

众所周知,查询语言是数据库系统的一个重要部分。由于XML数据与关系型数据的结构完全不同,设计思想也不一样,因此要真正应用XML数据库, 就要放弃SQL而采用新型的查询语言。W3C组织发布了一系列有关XML查询语言的建议标准,并对外公布(见http: www.w3c.org/xml)。Tamino采用的是XQuery语言。该语言是基于http的请求基础上的,也就是说当在浏览器上敲入或在应用程序 内输入一条含有XQuery内容的URL,用户将得到相应的带有XML结构的数据。

 

l       面向市场需求的X-Node技术。

 

X-Node是一种设计思想非常新颖的技术。Tamino的宗旨并不是取代现有的数据库系统,而是能集合已有数据库系统共同来完成Internet的XML应用。具体地说,如果某XML文件,其单元数据分别来自不同的数据库系统。这时可将Tamino放置前端,利用X-Node技术将Tamino与其它数据库系统(包括关系型数据库)相联。具体应用时,Tamino分别从不同的数据库内提取数据并连同自己库内的数据形成一个XML数据对象送入Internet世界中去。

 

XML技术及XML数据库系统是非常新的、大有发展前途的技术。中国IT行业要尽快进入发展的前列,应尽快加紧XML和XML数据库系统及其应用的研究和开发。

阅读更多
个人分类: XML
上一篇[搞笑]三篇小学生的检查 汗死
下一篇软件项目计划模板
想对作者说点什么? 我来说一句

eXist XML原生数据库

2015年06月01日 11.14MB 下载

没有更多推荐了,返回首页

关闭
关闭
关闭