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

[入库:2006年2月23日] [更新:2007年3月25日]

本文简介:

(文/范之望)

长期以来,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数据库
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top