美章网 资料文库 网络数据库解决范文

网络数据库解决范文

网络数据库解决

【摘要】随着计算机网络的飞速发展,各行各业都在创建自己的网络平台,网络技术与数据库技术的有机结合是近几年一直高热不减的课题。文章讨论了网络数据库的几种解决方案,分析对比其优缺点。

【关键词】计算机网络;数据库

当今数据库技术已成为计算机应用的核心技术,可以认为当今任何计算机信息系统和计算机应用系统都与数据库的应用分不开,数据库已成为其核心和基础。建立数据库应用系统是要充分利用数据库中的数据。随着计算机网络的飞速发展,数据库技术也插上了网络的翅膀,但网络数据库出现的许多问题,如编程重复和复用,查询速度慢,并发进程多出现锁死等。本文讨论了一些网络数据库的几种解决方案,并对其进行分析对比。

使用浏览器,通过Interanet或Intranet存取网络数据库数据常见的解决方案有如下几种:

1.CGI(CommonGatewayInterface):在Web应用中,与其他动态编程技术相比,CGI技术虽然是一项很早期的技术,有很多的不足,性能差、需要大量的HTTP知识、不灵活等等,但它还是具有很强的使用性。CGI是CommonGatewayInterface的缩写,目前大多数的Web产品提供此项服务功能,它可以使用任何一种计算机语言编写,使用尤其广泛的有C、Perl、C++语言,在Internet上有很多相关的资料和程序及源代码。

它的运行过程,Web服务器接受客户端浏览器的URL请求,找到CGI程序后,启动并产生一个CGI进程,将系统参数和用户请求参数交给CGI进程,由CGI进程提取数据库中数据处理后,产生结果,反馈给Web服务器,由其反馈给用户端浏览器。这样完成了一个请求过程。

2.TrilogyRDA/Web:这是Trilogy公司开发的TANGRAMRDA/WEB,是一个Internet、Intranet及数据库的应用软件开发工具,不需要编写CGI程序,使用标准与扩充的HTML模板与SQL命令,帮助快速开发一个可以存取网络数据库的CGI应用程序,通过ODBC驱动程序,存取支持ODBC的数据库。它适用于所有的网络服务器。

3.Sybaseweb.sql:这是专业的大型数据库公司Sybase从数据库的角度,开发出的一个网络数据库软件web.sql,它与网络服务器搭配使用,使用标准与扩充的HTML模板、简易的Perlscript语言与SQL命令,即可经过Internet或Intranet存取大型数据库的数据。

4.MicrosoftIDC(InternetDatabaseConnector):它包含于WindowsNTServer中的IIS(InternetInformationServer)2.0中,它提供简单的网络数据库存取解决方案。通过ODBC驱动程序,即可存取支持ODBC的数据库。它适用于IIS4.0网络服务器。

5.OracleWebApplicationSever:这是由大型数据库公司的龙头Oracle公司所提供的网络数据处理解决方案。可存取Oracle大型数据库和支持ODBC的数据库。提供windowsNT和UNIX版本。

6.MicrosoftADC(AdvancedDataConnectivity):它提供了一个数据处理的ActivexControl,可以用户端的的浏览器上运行数据查询操作,是Microsoft提供的解决频繁数据查询的解决方案。它可存取支持ODBC(OpenDatabswConnectivity)的数据库。用户端使用支持Activex的浏览器,如IE或Netscape(需外挂plug-in程序)。

7.MicrosoftASP/ADO:这是WindowsNTServer中的IIS,它提供ASP与ADO在服务器端运行VBScript呀Jscript,它是Microsoft提供完整的网络数据库存取解决方案。存取支持ODBC的数据库。

几种常见解决方案各自特点及对比:

1.CGI的传统方式是,在浏览器上填好表单的输入数据,提出HTTP要求,要求在网络服务器运行一个表单年规定的可运行CGI的应用程序。网络服务器受到要求后,CGI程序分析表单的输入数据,存取网络数据库,再将查询运行的结果以HTML的格式传送给浏览器。

通过CGI访问数据库方式特点:该方式为传统方式,它功能强大,但编制复杂,性能较差,面对每一个访问请求,CCGI总会开一个进程去响应,即使是重复的调用,它也会开重复的进程,对系统资源消耗很大。不易开发、变更修改成本高、功能有限、不易纠错、而且不具备事务(transaction)的功能,同时CGI的效率也是一个大问题,每个表单均需运行一个可执行文件,几个人同时上网使用时,几个可执行文件同时运行,将大大降低网络服务器的运行速度。

2.IDC(InternetDatabaseConnector)。WindowsNTServer中包括了IIS,提供Internetsatabaseconnector(简称IDC)的技术,可帮助建立提供数据库信息的网页内容,在网页中运行SQL命令,使用户能在浏览器中查询、输入、更新和删除网络服务器上数据库上数据,通过ODBC驱动程序,可存取各种支持ODBC的数据库。

通过IDC访问数据库方式特点:包含在IIS2.0版本当中、设计简易,只要准备两个文件,即可在用户的浏览器上存取网络上的数据库数据,不需编译,直接执行,支持多重查询的功能,即可同时发出多个SQL命令。

3.ADC(AdvancedDataConnector)。提供一个数据处理的ActivexControl,通过ODBC驱动程序,存取各种ODBC和数据库。一般的网络数据处理技术。如:ADO、IDC等,数据查询的工作是在服务器端的网络服务器上运行的,每次查询数据的要求都需要有用户端发出送到服务器端,服务器运行数据库查询后,再传回用户端的浏览器上显示出来。

ADC与其他网络数据处理技术,有一个很大的不同点,就是ADC的数据查询是在用户端的浏览器上运行的。ADC将服务器数据库中数千个数据,先下载到用户端,在用户端的浏览器直接做数据查询,大部分时间不需再与服务器相连,效率较高。这个数据查询由安装在用户端的ADCActiveXControl处理的。

特点:在用户端运行数据查询:将数据库中的大量数据暂存在用户端,直接在用户端的浏览器进行数据查询,节省了用户端与服务器端之间数据往返所需的时间。适合与在Internet\Intarnet或LAN上做频繁和数据库数据存取和查询工作。

ActiveXControl:由网络服务器上自动下载并将ADC的ActiveXControl安装在用户端,无需另行安装或设定。用户端需使用支持ActiveX的浏览器,如IE和Netscape等,才能存取网络服务器数据库的数据。由于是一个ActiveXControl,可使用Vbscript和Javascript语言来控制此ADC的ActiveXControl,它可与其他的ActiveXControl配合使用。

4.ADO(ActiveXDataObject)。ADO是可以依附和访问数据库的一种ActiveXDataComponent,而ASP允许使用ActiveXDataComponent,这样两者就有了结合的基础,从而大大提高了ASP的能力。

用户可以通过浏览器填写表单通过网络传送HTTP信息到网络服务器,请求网络服务器运行一个指定的.asp程序代码,通过ADO与ODBC建立连接,驱动数据库访问数据,获取的数据信息,解释后以HTML传送给浏览器。

ADO对象模型很容易使用,它使用OLEDB(这是微软推出的能同时使用关系型的数据和非关系型的数据的一种界面,是比ODBC更高的层次的软件)技术操作数据,是提供了OLEDB最常用的功能的一个界面,并且有着很强大的功能和灵活性,是对Microsoft所支持的数据进行操作的最有效、最简单、最有生产力的方法。可以用在VB和VC++程序中,也可以通过Web页中的服务器脚本来使用。

是.NET平台中专门用于存取后端数据库与进行数据库操作的一组类。可以将视为ADO的改进版,比ADO功能更强,加入了过去所没有的面向对象的结构,让数据库应用程序的编写更为结构化。通过.NETDataProwider所提供的应用程序编程接口API可以轻松地访问各种数据源的数据,包括OLEDB和ODBC支持的数据库。

网络数据库都有一个共同的问题:数据越多,所占用的内存和CPU资源就越大,常规网站在查询大量数据时一定会需要很多时间,有时查询时间高达几十秒,在这几十秒内如果还有其他用户提交类似的请求,数据库(如ACCESS)就可能因并发线程太多而锁死,从而导致客户网站无法继续工作,而且服务器的CPU常常也是满负荷。查询量较多、页面较大、网站访问人数比较多的时候,网站的速度就会变慢,常常导致网页打开非常慢甚至页面执行超时。网络数据库加速技术是采用缓存的技术实现加速,当有人访问指定的页面时,加速模块会自动检测刚才处理过的数据页面是否有效,如果还没过期就立刻输出给访问者,因此明显提升访问速度。当然如果缓存已经过期就重新生成缓存网页,实现智能更新。有效地解决了网页打开速度慢,数据库因并发太多锁死的问题。