DB2 pureXML引发的回顾与反思

  • 来源: IT168.com  作者: 若水   2008-03-26/13:32
  • 内容提要:

    DB2 pureXML功能部件允许您将格式良好的 XML 文档以分层结构的形式存储在具有 XML 数据类型的表列中。通过将 XML 数据存储在 XML 列中,数据可保持其本机分层结构形式,而不是将其作为文本存储或映射为其他数据模型。因为 pureXML 数据存储已完全集成,所以可利用现有 DB2数据服务器功能来访问和管理存储的 XML 数据。将 XML 数据以其本机分层结构形式来存储可以使 XML 的搜索、检索和更新效率更高。XQuery、SQL 或上述二者的组合可用于查询和更新 XML 数据。返回 XML 数据或采用 XML 自变量的 SQL 函数(称为 SQL/XML 函数)还能根据从数据库中检索的值来构造或发布 XML 数据。

    简介

    许多年以来在数据库技术领域很少有重大的技术创新能够引起人们对整个数据库发展历程的回顾与反思。2006年DB2 9中推出的pureXML技术对过去数十年来关系型数据库的最基本的数据组织方式进行了重大的创新,第一次让我们对数据库的历史以及过去支撑其发展壮大的理论基础和外部挑战从新的角度进行审视。

    今天我们很少去回顾数据库的历史,对于绝大多数IT技术人员,数据库等同于关系型数据库,数据则和表紧密联系。E-R模型几乎是我们描述世界的唯一方式, SQL语言是数据库信息访问处理的唯一手段。关系型数据库已经成为了一种宗教式的信仰,数据相关的所有理论问题似乎都已经解决。

    然而历史的发展总是在我们不经意间产生转折,所有重大技术的产生及发展都有其生存的土壤。40年前数据库的诞生并不是关系型数据库,第一代的数据库第一次实现了数据管理与应用逻辑的分离,采用层次结构来描述数据,是层次型数据库(IMS)。第二代数据库奠基于上世纪70年代E.F Codd博士提出的关系型理论以及SQL语言的发明。实现了数据建模和数据操作处理的标准化,关系型数据库在其后的20多年的时间取得了长足的发展,得到了广泛的应用。技术的演进主要集中在性能、扩展性和安全性等方面的提升,其基本的理论框架和技术理念并没有大的变化。

    与之相反,在过去的20多年时间里,IT产业发生了重大的变化和一系列技术及理念的创新。数据库所生存的外部土壤随着Internet以及在网络环境下IT系统互连互通相互协作的趋势,对信息管理技术提出了新的挑战。概括而言,有以下难以回避的重要问题:

    多样化的世界-信息的复杂性

    今天信息的复杂性与关系型数据库理论产生的时代已不可同日而语,信息的结构日益复杂,随着个性化服务等需求增长,信息的多样性和差异性都大大增加了。而关系型理论在管理信息复杂性方面的不足日益明显。E-R模型本质上是一个二维的模型,通过一系列的二维关系的组合来描述复杂实体对象,每个表所代表的所有实体在建模设计时没有差异性,即使只有一个实体所拥有的属性,也必须为其建立一个字段。因而在很多系统中,我们经常可以看到一张表有数百个字段,而对于每条记录,大多数字段都是空的。如果这种个体间的差异性不是仅仅表现在属性上,而且涉及到结构和关系,则需要为有差异的实体建立不同的表和对应关系。因而今天的许多业务系统往往需要几千张表,甚至数万张表。数据库的结构变十分复杂,数据库中的信息变得难以理解。

    多种信息应用方式-信息的可理解性

    从某种意义上而言,今天业务系统数据库的信息是业务系统运行的副产物。数据库为支撑特定业务应用的运行而设计,数据库中的数据也只被单一系统使用,所以很少考虑这些信息是否易于理解。然而,今天越来越多的系统需要相互协作、共享信息。信息的可读性,能否易于理解变得日益重要。关系型数据库在此方面存在较大不足,表中的数据不能自我描述,表于表之间的关系在数据中不能直接清晰地体现。从而使得很多系统即使把表结构开放,其他应用依然难以理解数据的关系和含义.需求及业务的变化-信息的灵活性

     

    随着IT系统进入社会生活的各个方面,信息不仅日益复杂,而且其需求内容和结构随着时间的推移也不断地产生变化.现实世界要求信息技术具有越来越高的灵活性和适应性.关系型数据理论所采用的是一种固定的建模方式,任何关系和属性一旦定义,就是国定的,难以随着需求的变化进行灵活的调整.

    XML作为一种数据格式在上世纪90年代中期出现,一开始其主要的目的应用于系统间数据的交换.为便于数据交换,其设计包含了几个主要的特点.首先是采用自描述的标签式数据描述方式,数据本身描述自己的含义,从而使数据的可读性大大提高,十分易于人或程序理解.另外XML采用层次型(树型)的方式组织数据,通过层次关系体现出数据与数据之间的关系.层次模型能够比较清晰地描述复杂对象,另外十分灵活易于扩展.经过近10年的发展,XML已经成为数据交换的事实标准,国际上形成了很多行业性的XML技术标准,对信息技术产生的很大的影响.

    虽然XML设计之初主要应用于数据交换,但这种新型的数据组织方式却在信息管理领域应对信息的复杂性、可理解性和灵活性的挑战开启了新的道路,迎合了技术发展的方向和潮流。同时XML也模糊了传统上结构化数据和非结构化数据的严格分界线,对20余年来关系型数据库理论基础产生冲击。人们反思数据究竟应该是关系的还是层次化的,是单一的表格关系还是多样化的对象?

    于此同时,在过去10余年中另外一个重要的技术也对IT产生了重要的影响,这就是面向对象的技术。对象技术鼓励设计者使用对象而不是表来思考数据,在面向对象的设计思想中,数据也是以对象的形式存在,层次结构是数据对象的最直接、最自然的体现。而关系型数据库的理论与面向对象的思想并不匹配,E-R模型中没有对象的概念,在关系型数据库中实现对象的嵌套、对象的多样性很不直观,需要很大的代价。在关系理论中,数据应该被组织成规范的表——也就是数据应该按唯一的方式组织,使得程序员能够消除冗余,确保数据变化的一致性。这种设计技术的引入确保了关系表中的数据是一组独立的、通过键相关的数据。这种技术来自集合论的数学理论,但问题是集合论不能表达数据之间所有的关系和结构。

    以规范的方式存储数据常常要求程序员在存入数据库之前分解对象,并且重新组织数据,但要使用它是,在使用SQL查询(多重连接)。就像在车库中存储车时,你把它的门、椅子、轮子等等分别卸下来存放。这不仅消耗资源,而且没有任何意义。

    今天在应用领域,软件开发已经广泛采用了面向对象的设计思想和技术。而面向对象的数据库技术却迟迟未被市场接受。对象数据库出现时,关系型数据库供应商已经积聚了巨大的动力,并占领了大量市场份额。在标准的SQL接口下,访问关系型数据库的面向对象程序很容易写。相反,多数早期的对象数据完全不提供SQL 接口,不适合任何查询应用程序。

    XML技术的出现,以及相关国际标准的制定(如Xquery, SQL/XML)为数据库引入面向对象的技术提供了新的动力。现实外部世界的技术挑战,XML、面向对象技术与标准的成熟为新一代数据库的创新提供了条件。那么未来会是怎样呢?迎接新的技术变革我们准备好了吗?

    今天,关系数据库推动各种规模的公司发展业务。尽管这些数据库是受欢迎而且重要的,但从长远来看,它们根本无法与用 XML 表示的半结构化(和分层)内容相比。我们无法忽略过去20年来业界在关系型数据库上的巨大投入,企业在关系数据和关系数据库管理系统 (RDBMS) 方面的投资高达万亿美元,因此简单地将 RDBMS 替换成纯 XML 存储的做法并不可取。我们更无法回避的新技术的潮流和巨大价值。世界即可以是关系的也可以是层次的,两种技术各自有其优势和局限性,因而容纳关系型和层次型两类模型的混合数据库就成为数据库发展的必然选择.

     


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多