陆海锋
(肇庆学院信息中心,肇庆 526021)
XML是继HTML之后的又一种Web标记语言,它为用户提供了灵活的标记扩展机制,使得不同内容的资源能以式良好的自定义的标记元素来表现。XML技术可以让结构化的信息以网页的格式来显示,通过因特网或者各个组织内部的局域网来显示。XML格式的文档可以无障碍地在各个结构格式各异的系统之间,以最简捷的方式完成对数据的输入和输出。
XML已逐渐成为Web上数据表示和交换的标准,但在大多数企业尤其是在地域上分散而管理上又相对集中的大企业中,每个部门都要维护与本部门有关的数据,将数据存放在本部门建立的关系数据库中,这样企业的整个信息资产就被分裂成“信息孤岛”。如何将这些信息有效地集成起来,组成一个分布式数据库,并发布为符合用户要求(DTD或XMLSchema)的XML文档,是目前分布式数据库技术发展中亟待解决的问题[1]。
XML,可延伸标记语言,是万联网联盟(W3C)于1998年制定的互联网数据传输标准格式。XML标记语言像HTML一样,属于标记性语言,其设计的初衷是用于传输数据,而非显示数据。XML标记语言具有的特性包括了:自描述、人机共读性、可扩展性、高灵活性、高度的平台可适应性,正因为这些特性,XML标记语言已经成为现今互联网信息交换的标准格式,对于数据仓库(DW)的未来意义非同一般。另外,由于XML的标签(Tag)不能预先设定,用户需要根据实际需求来设定个性化的XML标签。
尽管现今在互联网传输有用信息有不少的途径,但XML标记语言还是获得越来越高的普及度以及关注,究其原因主要基于以下几点[2]:
(1)语言表达能力:XML标记语言,能够保证直接而无任何信息遗漏的情况下,用统一的语法显示关联数据、报表格式,以及半结构化文档。
(2)自描述:XML标记语言能把数据与元数据结合,这样一来,异构的甚至不规则的数据,不需要依赖固定的行将被淘汰的架构模式,也一样可以被显示并且被处理。
(3)XML标记语言提供一种显示数据的机制,就是以最简单的文本流的形式,支持简单的数据传输与检索,支持在既有的网络协议之下不同系统之间的数据互换。XML标记语言支持半结构化信息以基于网络的格式存在,就这样,它们可以显示在互联网以及组织机构私有的内部网。同时,XML标记语言使得组织机构不同系统间更容易以最简化的数据格式,完成数据的输入输出。
(4)XML标记语言支持不同计算机之间的数据互换;
(5)XML标记语言便于快捷检索信息
鉴于XML标记语言在定义数据结构以及在不同系统间传输数据方面的突出能力,使得其在构建数据仓库(DW)方面的价值日益凸显。
分布式存储数据库系统,支持应用程序访问本地或远程数据库的资源。在同构分布式数据库系统中,所有的数据库的类型都保持一致性;而在异构分布式数据库系统中,至少有一个数据库与其他数据库的类型不一致。分布式数据库应用了用户/服务器的架构来处理每一条信息访问请求。
(1)分布式存储数据库的特征
①实现了信息资源与网络共享资源之间的逻辑关联;
②信息资源以数据碎片式存在;
③碎片式数据可被复制;
④碎片式的馆藏信息资源被分配到各个网站;
⑤各网站连接成通信网络;
⑥各网站都处于分布式数据库管理系统的控制之下;
⑦数据库管理系统能够自动化管理并操控局部应用程序;
⑧每个参与到数据库管理系统的数据库一般都至少拥有一个通用应用程序。
(2)分布式存储数据库系统的优势
①根据网站的访问需求量来分配数据,网站的访问需求量与所分配的数据成正比;
②数据访问的速度更快;
③由于在该系统中的许多网站都分散了工作负载,因此处理数据访问的速度也得到提升;
④能够以最简单便捷的方式生成新的网页
⑤效率得到改善;
⑥降低了整个系统的运作成本;
⑦改善了用户的操作体验;
⑧最大限度地降低了单段式故障的可能性;
⑨各个数据库的运作都是各自独立的。
在本文中,笔者认为数据库,即便是分布式数据库在本质上都是同构的。
所谓的同构分布式数据库系统,是指驻留在一个或多个服务器上的,数量在两个以上的数据库,所形成的一个网络。举个例子,有来自广州、佛山、肇庆三地的数据库,由分布式系统进行连接。只要运行一个应用程序,就能够在一个分散的数据库环境下,同时对多个数据库里的数据进行访问或者修改。例如,来自“肇庆”本地数据库的客户端提出单次数据查询,可检索到,来自远程“广州”数据库以及“佛山”数据库里相互连接的数据列表里的数据。
原生XML数据库,特指以高效的方式存储XML文档和数据的数据库,该类数据库与传统的关联数据库一样,都支持对数据的存储、查询、整合与索引等功能。而原生XML数据库的存储介质并非表格,而是所谓的“表示层”。该“表示层”包含了大量的具有相互关联性的XML文档或数据。
Oracle的XML数据库,其技术内涵分为两大部分,即内置的XML存储设置以及针对XML数据的检索技术。该类数据库同时具备了关系型数据库技术以及XML技术的双重优势。举个例子,在关联数据库里处理XML数据,往往不太可能,因为XML数据本质上是具有层次性的,虽然Oracle数据库是基于关联模型而建立起来的,但是它能通过运用特殊的SQL操作符,有效对层次性的XML数据进行处理,从而让用户能够从Oracle数据库中轻松完成对XML数据的查询及更新。Oracle的XML数据库把XML文档对象模型构建成Oracle的内核。因此,绝大部分对XML的操作都可以划归为常规的数据库处理方式的范畴。
Oracle的XML数据库具备将所有的结构化和非结构化的信息等同于关联数据去处理的能力[3]。
最新版本的Oracle,具有将XML文档直接存入数据库的能力。它借助于相关数据库技术的支持,实现了对XML文档高效能地存储及检索,并通过应用SQL与XML相互协调的数据模型,为原生XML数据提供支持。
Oracle使用了一种名为XML类型的专属原生数据类型,对关联表格的数据进行存储和管理。该数据类型脱离了XML语法分析器,直接在Oracle数据库内进行检索和存储。可以说,XML数据类型已经成为了Oracle数据库常态化的数据类型。
XML数据库包含以下特征[4]:
(1)支持万维网络联盟(W 3C)以及XML模式数据模型;
(2)支持SQL语言对数据的存储、查询与更新,以及可以把SQL转换成XML;
(3)可对SQL数据进行XML操作;
(4)提供一种针对XML数据的存储与管理框架,该框架与存储介质无关,与内容无关,与编程语言无关,开辟了查询数据库中XML内容的新途径。
(5)具有XML专属的内存管理以及优化体制。
XML文档是以XML类型的表格或者列的形式,存储于数据库中的,对于基于非XML模式的存储,XML数据类型还提供另一种存储方式的选项,即字符大对象(CLOB)的存储。描述了以XML格式存储的Ora⁃cleXML数据库整体架构。
最基本的基于表格生成的XML数据,其最简单的语法格式如下:
现举一个图书细节作为例子来考虑,图书书本式目录组成以图书细节信息作为测度,而维度包括标题、出版社、出版地、出版年份以及ISBN号。以下SQL表述生成某一维度——书本目录的模型:
在生成XML文档后,我们在数据库可插入或选取相应的属性值,程序运行实例如下:
以下是关于Oracle的XML数据库所发挥的效能的列表[5]。
(1)它促进海量的数据资源以XML的格式实现数据存储;
(2)使得信息资源被检索的速度,比较传统的关系数据库管理系统,要快;
(3)允许常规的SQL语言查询的方式访问到相关的XML格式的数据;
(4)我们可以使用Oracle的联机事务处理系统(OLTP),数据仓库;
(5)我们可以通过任一条Oracle的SQL查询请求,生成一份XML文档;
(6)我们可以轻易把XML格式数据转化成HTML数据。
尽管XML应用还有无限的发展前景,但目前影响还寥寥可数。目前还欠缺比较具体的XML项目。然而,XML拥有为书面文本文档提供最简洁的结构的优势,从某种意义上说,它完全可以取代HTML格式,用XML,用户可以根据自己的使用习惯来定义专属的网络标签。
在当今普遍盛行将海量信息数据存储于数据库中。而这类数据库换言之即为“数据仓库”。数据仓库,其实是将从多渠道搜集的信息,在统一的数据格式之下,存储起来而形成的“知识库”。从这一庞大的数据库中,人们试探去开发出若干功能,例如,检索功能、编目功能,基于思想内容的索引功能等。而为了挖掘出有价值的信息,笔者认为必须进行数据挖掘。近几年,数据挖掘技术无论在工业领域还是社会科学领域都得到广泛的重视,究其原因是海量信息具有广泛的适用性。如何将其从单纯的数据转化成有价值的信息或知识,已经成为全社会最迫切的需求了[6]。
通过数据挖掘工具可完成对数据的分析全过程,并且能发掘出有助于决策及科研需要的重要的数据模式。
本文通过提出基于XML的分布式存储数据库系统,来一种思路,即可以从传统的简单的数据库系统延伸到一个更广阔的领域——数据仓库。
事实上,XML格式有助于将结构化以及非结构化信息,以网页的格式,通过因特网或组织内部的局域网呈现给用户。
XML技术近几年以惊人的速度得到普及。XML技术针对基于网络的应用程序提供了若干便捷的功能。原生XML数据库是根据XML数据库的原始概念,由于若干因素的考量改进而成的。将思路延展下去,可将各种数据挖掘技术运用到某种数据仓库模型中,从而轻松处理各项业务产生的海量信息。
在接下来的时间里,笔者计划把该“基于XML的分布式存储数据库”的模型,进行延展,应用到处理非XML的数据中。
参考文献:
[1]赵朋飞.基于XML的分布式数据库集成系统[J].计算机工程,2010(7):70-72.
[2]黄伟红,张福炎.基于XML/RDF的MARC元数据描述技术[J].情报学报,2000(4):326-332.
[3]王韦伟,孙庆鸿.基于XML的分布异构数据集成平台[J].东南大学学报(自然科学版),2006(05):715-719.
[4]陈凤岩,唐振宇,步兆军.基于Java和XML的异构数据库集成研究[J].情报杂志,2006(07):16-17+21.
[5]祁迪.分布式数据库特点及其设计方法[J].山东工业技术,2016(01):152-153.
[6]庞惠,翟正利.论分布式数据库[J].电脑知识与技术,2011(02):271-273.