UML软件工程组织

Internet数据库建设方案比较
作者:万其鸣 选自:www.tongji.edu.cn

在Internet应用中,除设计静态网页以外,通过数据库进行数据管理和根据查询生成动态网页也是其中极其重要的一部分:一方面,数据库提高了数据管理的能力,使得数据可以重用和进行必要的数据分析;另一方面,通过数据库进行动态网页的生成,大大提高了网页设计和开发的效率,减少了静态网页的设计和开发任务,并保证了Internet应用的数据一致性和设计风格的一致性,同时数据库还大大提高了Internet应用数据维护的方便性和效率。然而,通过数据库建设Internet应用,也存在数据库的选型问题,即选用什么数据库,数据库具有什么样的检索能力和什么样的检索效率,也是用户必须考虑的问题。

----在20世纪90年代初期,用户设计和开发Internet应用时,只有唯一的选择,即必须采用关系数据库,通过应用服务器和各种中间件产品,实现对数据库的数据检索、维护和显示。然而,随着国产iBASE非结构化网络数据库(北京国信贝斯软件有限公司研制,以下简称iBASE)的问世,这种局面正在改变,用户可以有更多的选择机会,可以采用不同的数据库产品、不同的查询和检索方式来设计和构造自己的 Internet应用。

----从严格意义上说,传统关系数据库经过了多年的针对 Internet应用的发展和完善,具有自己的传统意义上的优势,然而,iBASE应该说从一开始就针对Internet网上应用来设计和开发,克服了传统关系数据库在Internet应用上的一些局限,并大大提高了网上应用的效率,因而显得更有生命力。

----下面仅就Internet应用中数据库建设的几种方案进行比较。

关系数据库建设方案
 

----关系数据库最初设计为基于主机/终端方式的大型机上的应用,其应用范围较为有限。随着客户机/服务器方式的流行和应用向客户机方的分解,关系数据库又经历了客户机/服务器时代,并获得了极大的发展。随着Internet应用的普及,由于Internet上信息资源的复杂性和不规范性,关系数据库初期在开发各种网上应用时显得力不从心,表现在无法管理各种网上的复杂的文档型和多媒体型数据资源,后来关系数据库对于这些需求做出了一些适应性调整,如增加数据库的面向对象成分以增加处理多种复杂数据类型的能力;增加各种中间件以扩展基于Internet应用的能力;通过应用服务器解释执行各种HTML的嵌入脚本,来解决Internet应用中数据库数据的显示、维护、输出以及到HTML的格式转换等。此时关系数据库的基于Internet应用的模式典型表现为一种三层或四层的多层结构,整个应用的结构体系如下图所示:

----在这种多层结构体系下,关系数据库解决了数据库的 Internet应用的方法问题,使得基于关系数据库能够开发各种网上数据库数据的发布、检索、维护、数据管理等一般性应用。

----但是我们可以说关系数据库从设计之初并没有也不可能考虑到以HTTP为基础、HTML为文件格式的Internet的需求,只是在Internet出现后才做出相应的调整,因此关系数据库在基于Internet应用时由于结构模型等原因的限制,不能与Internet完全融合,需在Internet与数据库之间加入大量的中间件,从而在无形中加大了数据库基于网络应用的难度。同时,由于关系数据库从一开始就没有考虑网络时代的应用需求,因而对于网络环境下的Internet应用,如各种非结构化文档信息、多媒体信息以及全文检索需求显得力不从心,虽然后来关系数据库对于这些需求做出了一些适应性调整,但对于网络环境下Internet应用不可或缺的检索效率、全文检索能力等却无法解决。

iBASE非结构化数据库建设方案
 

----Internet的迅猛发展使数据库应用环境发生了巨大的变化。以Internet 为平台的Internet/Web 应用向数据库领域提出了前所未有的挑战。电子商务、Web 医院、远程教育、数字图书馆、移动计算等都需要新的数据库技术支持,因此,对半结构化和无结构数据模型的描述、管理、查询和安全控制等问题的研究已成为新的研究课题,特别是Web数据库的发展是新的热点和难题。从数据库技术发展的角度看,以前通过浏览器访问数据库的唯一渠道是CGI,随后又出现ISAPI、NSAPI和ODBC、 JDBC、ASP、PHP、JSP等技术方案,但均没有实现Web服务器和数据库服务器的有机结合,让数据库系统和技术成为Web的重要有机组成部分。

----针对Internet应用的特殊性,iBASE主要解决了Internet 数据库应用急需解决的几大难点:

----1. 文档型和多媒体数据类型的支持问题

----在Internet应用中,存在大量的复杂数据类型,如各种超文本文档信息,各种图片、声音等多媒体信息资源,如何对这些信息资源进行有效的存储、管理、检索,是Internet数据库必须解决的问题。iBASE通过其外部文件数据类型,可以管理各种文档信息、多媒体信息,并且对于各种具有检索意义的文档信息资源,如 HTML、DOC、RTF、TXT等还提供了强大的全文检索能力。

----2. 数据库的全文检索问题

----在Internet应用中,由于信息资源极其繁多,如何从浩瀚的信息海洋中查找到所需的信息,如何保证所查询信息的全面性和准确性,也是一个 Internet数据库应用必须解决的问题。iBASE通过其独特的索引技术和基于布尔检索表达式的查询检索算法,解决了基于字段级和数据库级的全文检索问题,用户可以针对数据库中特定的字段和整个数据库进行全文检索,从而从数据库中检索出感兴趣的内容。同时,其强大的索引表达式构造能力和布尔检索表达式解析能力,使用户可以构造极其灵活的Internet数据库全文检索应用。

----3. Internet数据库应用中的查询和检索效率问题

----作为Internet应用,由于需要面对大量的用户群和大量的瞬时并发数据库查询检索,其数据库查询和检索效率就是一个极其关键的问题。iBASE 主要通过以下途径来保证数据库查询和检索的效率:

提供重复字段、子字段支持能力;
采用B*树索引算法;
实现Web Server、Application Server、DB Server的紧密集成。
----4. 对现有Internet应用的全文检索支持问题

----iBASE不仅能够支持其本身的直接网上发布和全文检索,对于传统关系型数据库,如Oracle、Sybase、SQL Server、DB2、Informix等,也提供了导入和链接的支持能力。用户可以采用导入方式,将传统关系数据库转换为iBASE(在 iBASE中,传统关系数据库的平面表结构只是其一个子集,因而完全能够支持传统关系数据库的表数据),再进行网上发布和开发全文检索应用;用户也可采用链结方式,对传统关系数据库构建本地化索引,从而通过本地化索引实现对关系数据库的全文检索支持,此时它充当了关系数据库的应用服务器,系统的检索效率也将受关系数据库自身检索效率和应用服务器交互效率的影响。

Internet数据库建设方案比较
 

----Internet数据库建设到底采用何种数据库,具体来说还需根据应用的需要而定,不同的应用需求,可以采用不同的数据库建设方案。摆在用户面前的至少有3种方案:关系数据库建设方案、iBASE建设方案、关系数据库和iBASE共存的建设方案。

----在事务处理和数值计算方面,由于关系数据库经过了多年的发展,其在事务处理、数值计算方面具有强大的能力并已被证实,而iBASE目前在事务处理和对于数值计算方面的支持则相对薄弱。因此,对于偏向事务处理和数值计算方面的Internet数据库建设,关系数据库建设方案应该说更有优势。

----在对于超文本、文档信息管理和数据库全文检索方面,关系数据库通过其MEMO或Text字段等也能实现这种信息的存储,而对于这些信息或数据库的全文检索,关系数据库则显得捉襟见肘。虽然一些网站通过关系数据库构造了一些所谓的“全文搜索引擎”,但实质上只是在关系数据库中进行基于字段的一种字符串匹配检索,检索时需要对数据库进行顺序扫描,效率较低,在数据量较少时尚可胜任,但任何一个Internet应用都是不断发展的,随着数据量的不断增大,这种检索方式必将成为 Internet应用的效率及发展的致命瓶颈。而iBASE则解决了网上数据库的全文检索问题,通过其独特的单汉字、单英文词、英文字母的索引方式及B*树索引算法,能够高效地解决数据库的网上全文检索问题,构造出强大的网上全文搜索引擎。因此,在对于超文本、文档信息管理和数据库全文检索方面,iBASE建设方案则较有优势。

----对于一些特殊的Internet应用,我们也可以采用关系数据库和iBASE两者共存的建设方案,实现两者的无缝集成,以发挥两者各自的长处。


 

版权所有:UML软件工程组织