数据库技术发展的新方向-非结构化数据

数据库技术发展的新方向-非结构化数据
数据库技术发展的新方向-非结构化数据

数据库技术发展的新方向——非机构化数据

1 什么是非结构化数据库

在信息社会,所有信息大体上可以分为两类:一类信息能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号;另一类信息根本无法用数字或者统一的结构表示,如文本、图像、声音乃至网页等,我们称之为非结构化数据。非结构化数据包括结构化数据,但又不止是结构化数据;结构化数据属于非结向化数据,是非结构化数据的特例。

所谓非结构化数据库,是指数据库的变长记录由若干不可重复和可重复的字段组成,而每个字段又可由若干不可重复和可重复的子字段组成。简单的说,非结构化数据库就是字段数和字段长度可变的数据库。

2 为什么需要非结构化数据库

传统关系数据库,通过引入数学领域的关系模型及关系代数和关系演算,经过几十年的应用和发展,奠定了自己的优势。但随着网络的发展,关系数据库越来越显示出不足的一面。到了20世纪90年代,当关系数据库还满足于用户连接到大型主机上的数据库进行联机检索时,因特网的出现已经可以把超文本文件传送到用户的浏览器里了。起初,WWW只支持较简单的文挡,随着应用需求的不断提高和技术的发展,它不仅可以支持文字、图形、图像、声音等多媒体信息,还可以支持一些较为复杂的对象,比如电子表棉对象。但随着数据量的增大,显然只靠静态页面就捉襟见肘了。让页面动起来的想法由此应运而生,这时迫切需要数据库在动态页面中扮演主角。

而此前,关系数据库要么限于桌面,用文件方式的共享来实现局域网内的使用;要么是使用各种关系数据库厂商开发的专用客户端软件和工具。尽管ODBC,JDBC,OLE DB等解决了不同数据库之间的接口,但是我们可以说关系数据库从设计之初并没有也不可能考虑到以HTTP为基础、HTML为文件格式的因特网的需求.只是在因特网出现后才作出相应的调整,因此关系数据库在基于因特网应用时由于结构模型等原因的限制,不能与因特网完全融合,需在因特网与数据库之间加人大量的中间件,从而在无形中加大了数据库基于网络应用的难度。同时,由于关系数据库从一开始就没有考虑网络时代的应用需求,因而对于网络环境下WWW 应用,如各种非结构化文挡信息、多媒体信息以及全文检索需求显得有些力不从心。虽然后来关系数据库对于这些需求作出了一些适应性调整,如增加数据库的面向对象成分以增加处理多种复杂数据类型的能力,增加各种中间件以扩展基于WWW应用能力,但对于网络环境下WWW应用不可或缺的检索效率、全文检索能力等却无法解决。关系数据库的基于中间件的解决方案又给WWW应用带来了新的网络瓶颈,应用服务器端由于与数据库频繁交互,因其本身的效率和数据库检索的效率造成WWW应用在服务器端的阻塞。

非结构化数据库就是针对关系数据库模型过于简单,不便表达复杂的嵌套需要以及支持数据类型有限等局限,从数据模型入手而提出的全面基于因特网应用的新型数据库理论。非结构化数据库主要是针对非结构化数据应运而生的,与目前流行的关系数据库相比,其最大区别在于它突破了关系数据库结构定义不易改变和数据定长的限制,支持重复字段、子字段以及变长字段并实现了对变长数据和重复字段进行处理和数据项的变长存储管理,在处理连续信息(包括全文信息)

和非结构信息(重复数据和变长数据)中有着传统关系型数据库所无法比拟的优势。

3 非结构化数据库的特点与优势

3.1 灵活的非结构化数据结构

非结构化数据库也是建立在三维表的基础之上的,因此非结构化数据库不能称为非关系型数据库,但在数据结构上,它又与关系型数据库有着很大的不同。

1)关系数据库建立在一个严格的二维表上,在列的维度上,对于每个属性其长度和类型是事先定义并且很难扩展的;在行的维度上,每一条记录(行为record)都不完全相同。非结构化数据库的二维表却不是严格的,在列的维度上,对于每个属性是可以伸展的,其属性的长度是可变的。

2)关系数据库以二维表的方式管理数据,数据以一条条记录的方式存储,每一记录内部包括许多字段,字段名不可重复,对每一记录的每一字段具有惟一值,字段中不支持子字段。在非结构化数据库中,字段内容是可重复的,这表现在两个方面:一是一个字段支持重复字段,即字段在列这个级别上是可重复的;二是在同一个字段内部允许出现不同的子字段,即字段在行级别上,内容是分层次的。总之,对于一个字段,可以在行、列方向上有多个值,即非结构化数据库具有支持重复字段(多值)、子字段(子项)的能力。这种能力,使得非结构化数据库可以在记录中实现二维嵌套,避免由于关系(二维表)连接导致的系统性能问题。

3)非结构化数据库可以在一张表中压缩关系数据库中一对多的关系,实质上是一个非结构化数据库字段可以存放一个关系数据库的一张表。也就是说原来关系数据库多张表完成的事情,非结构化数据库在一张表中就可以完成。关系数据库在处理多对多关系时需要对数据库进行拆分,建立中间库,同样非结构化数据库在处理类似的情况也需要拆分表。

由此可见,非结构化数据库的表已经突破了关系数据库的范式(xNF)限制,因此需要一个新的命名来反映同关系数据库的区别。非结构化(No-Structure)就因此得名。

3.2 丰富的数据类型,并支持外部文件

关系数据库在数据类型上主要管理各种字符型、数值型数据,虽然后来也提供了对于一些超长文本、图像、声音等多媒体以及面向对象的扩充,但对这些数据类型的扩充仅仅停留在简单的存储与输出上,对于数据的深层次的检索或其他需求必须通过特别的开发和处理,必然对系统的效率产生负面影响。

非结构化数据库在数据类型上不仅可以支持字符型、数值型数据,而且由于其强大的外部文件支持功能,更可以支持任何文件类型,如超长文本、图像、声音等扩展型数据类型,同时,非结构化数据库对于文本、RTF、超文本文档、DOC 等具有检索意义的外部文件类型还能提供强大的索引和全文检索功能。

3.3 高度灵活的索引方式,支持全文检索

数据库最核心的技术之一就是数据的检索技术。对于任何一个数据库系统,数据检索都是其核心内容和精髓所在,而进行数据检索之前必须建立索引。只有建立了严密的索引,才能使数据库强大的检索功能得以发挥。数据库索引方式的差异决定了数据库的检索方式及检索能力。

现有关系数据库支持的索引只限于单字段索引、复合索引(多字段索引)等几种方式。对数据库的检索主要基于结构化查询语言(SQL),用户通过构造句SQL 查询表达式和设置各种查询条件,实现对关系数据库的检索,因为受到关系数据

库的索引限制,其数据查询能力也受到很大的限制。

由于有着灵活的数据结构.非结构化数据库中支持的索引方式比关系数据库要丰富得多,可以满足极其复杂检索的需要。其中字段索引兼容关系数据库的索引,子字段索引和全文索引(英文单词索引和中文单汉字索引)是非结构化数据库的特色,非结构化数据库甚至可以支持人工标引索引,中、英文混合索引等方式。配合非结构化数据库的格式化语言,可以对同一字段进行若干种不同的索引,以满足特殊检索的需求。数据库系统能够提供的检索方式,是和其对数据库内容建立的索引密切相关的。高度灵活的索引方式造就了高度灵活的检索方式,非结构化数据库对中文的全文检索效率比关系型数据库要高得多。例如,国信贝斯软件有限公司开发的iBASE非结构化数据库目前支持8种索引方式,可以涵盖所有的关系数据库所提供的90%以上的检索方式,同时还提供了大量的关系数据库不具备的检索方式,包括简单检索、组合检索、字段检索、右截断检索、全文检索、扩展检索、相关检索(ANY词检索)、集合检索、二次顺序检索、禁用词顺序检索等。iBASE非结构化数据库采用B*树的索引机制,定位一条记录最多限于7次定位操作。

3.4 对海量数据库的支持

非结构化数据库处理的对象多为海量数据库,不仅检索功能强而且检索速度快,在检索速度方面一般不受文献量的影响。以iBASE非结构化数据库为例,每个数据库最大记录数可达1000万条,每条记录的最大长度可达32000个汉字,每个数据库最多可800个字段.每个字段的最大长度可达32000个汉字。

3.5 与因特网紧密结合

因特网的迅猛发展使数据库应用环境发生了巨大的变化。以因特网为平台的Interne/Web应用向数据库领域提出了前所未有的挑战。电子商务、Web医院、远程教育、数字图书馆、移动计算等都需要新的数据库技术支持。

由于关系数据库从一开始就没有考虑网络时代的应用需求,因而对于网络环境下应用,如各种非结构化文档信息、多媒体信息以及全文检索需求显得力不从心。虽然后来关系数据库对于这些需求作出了一些适应性调整,但对于网络环境应用不可或缺的检索效率、全文检索能力等却无法解决。关系数据库从设计之初并没有也不可能考虑到以HTTP为基础HTML为文件格式的因特网的需求,只是在因特网出现后才作出相应的调整,因此关系数据库在基于因特网应用时,由于结构模型等原因的限制,不能与因特网完全融合,需在Web服务器与数据库之间加入大量的中间件,从而在无形中加大了数据库基于网络应用的难度,给数据库的因特网应用带来了新的网络瓶颈,应用服务器端由于与数据库频繁交互,因其本身的效率和数据库检索的效率造成因特网应用在应用服务器端的阻塞。

利用非结构化数据库全部基于因特网的数据库结构模型,采用网络服务器和数据库服务器紧密集成的方法,可以将目前传统数据库厂商由C/S结构扩展来的浏览器/Web服务器+应用服务器/数据库服务的三层体系结构,集成为浏览器/网上资源发布系统式的因特网计算结构,使数据库系统成为因特网的一个重要有机组成部分,实现在单一平台上融合所有数据库和应用服务器的功能。这不仅大大减少了用户对额外硬件、中间件和其他昂贵的集成业务的需求,而且极大地缩短了用户开发和采用基于因特网应用的时间。同时非结构化数据库还有效解决了关系型数据库在因特网应用上出现的检索效率低、全文检索能力差等弊端。从这个意义上来说,非结构化数据库是真正的网络数据库。

4 结束语

值得一体的是,非结构化数据库不是传统关系数据库的完全替代,而是它的一个非常有益的补充。从20世纪70年代库恩提出关系数据库理论到现在,传统关系数据库经过了20多年的发展,其间经历了客户机/服务器时代的数据库分布应用,到因特网时代的向集中方向发展,关系数据库在客户机/服务器应用、联机事务处理、联机数据分析等方面积累了丰富的经验和获得了极大的发展。应该说在这些方面,传统关系数据库更具有优势。非结构化数据库兼容各种主流关系数据库的格式,但是它在处理变长数据、文献数据库和因特网应用方面,更有自己独特的优势:检索的多样化、检索效率较高(如全文检索)等。对于大型信息系统工程、因特网上的信息检索、专业网站和行业网站(电子图书馆、电子商务网站)等来说非结构化数据库都是一项较好的选择。

相关主题
相关文档
最新文档