首页 理论教育分布式数据库技术对Web数据库的重要影响

分布式数据库技术对Web数据库的重要影响

【摘要】:第一阶段是指关系型数据库系统诞生前。从第二阶段后期开始,即20世纪90年代以来,Web可访问的数据库广受青睐。如图17.1所示,WAD是一个三层体系结构。用户借助浏览器,通过访问Web服务器获得所需服务,以及访问数据库。服务器端扩展程序扮演的是一个连接Web服务器和数据库的中间角色,向DBMS传递所有的SQL请求。可以使用前端和后端工具来实现Web服务器与数据库的连接。图17.1Web可访问的数据库系统体系结构

学术界有人把数据库技术的发展分为三个阶段。

第一阶段(1950—1972年)是指关系型数据库系统诞生前。层次数据库系统和网状数据库系统是这一阶段的顶峰。

第二阶段是指关系型数据库系统称雄的阶段,时间从1970年E.F.Codd[1]关于关系模型的著名文章的发表到2005年。

第三阶段始于2003年,非关系型数据库大量问世,Google公司的介入及Hadoop的推广使用。云计算逐步占据市场。

从第二阶段后期开始,即20世纪90年代以来,Web可访问的数据库(Web-accessible database,WAD)广受青睐。简单来说,Web可访问的数据库是可以通过WWW访问的数据库。使用的方式是(B/S)Browser/Server结构,即用户通过浏览器与服务器交互。WAD在电子商务里极其重要。

分布式数据库系统也开始走上云端,基于云计算的分布式数据库系统出现了。由于云计算的虚拟化特性,在云平台上,虚拟特性掩盖了分布性,因此,可以简单地称为云数据库系统。例如,大家熟知的Google Big Table就是一个云上的分布式存储系统,其设计成横跨在成千上万的常规服务器上的数据库系统,支持P级(petabytes)数据量的存储和管理。

下面讨论WAD结构。

两层和三层甚至多层结构均是常用的WAD体系结构。与第2章中讨论的体系结构类似,但WAD的前端是Web服务器。如图17.1所示,WAD是一个三层体系结构。

B/S结构是随着互联网的发展而出现的一种新的信息系统架构。与C/S结构不同,B/S结构的交互端是一个浏览器(B端)。用户借助浏览器,通过访问Web服务器获得所需服务,以及访问数据库。

Web服务器:Web服务器是一个很有意思的软件系统,其功能是让计算机为客户通过WWW提交的请求返回各种服务。该服务器运行在某台计算机即操作系统上。习惯上把承载的计算机和软件打包在一起称为Web服务器。常用的Web服务器软件很多,有Apache、Microsoft公司的Internet Information Service(IIS)、Tomcat server,等等。

服务器端扩展(server-side extensions):服务器端扩展也是一款软件,其功能是负责与Web服务器的通信,并处理相关的客户请求。服务器端扩展程序扮演的是一个连接Web服务器和数据库的中间角色,向DBMS传递所有的SQL请求。一般来说,DBMS和服务器端扩展程序是ODBC[2]兼容的(ODBC-compliant),这类产品如Cold Fusion、Delphi、Java Studio Enterprise等。此外,还可使用JDBC[3]与数据库连接。(www.chuimin.cn)

Web服务器接口:Web服务器接口是为了方便通过浏览器在动态网页上显示信息,如显示实时机票票价。Web服务器接口可以分为以下两类。

●CGI(common gateway interface):CGI是一组规则,说明如何在客户程序与Web服务器端传递参数。可以在Web服务器端运行的客户程序称为脚本(script)程序,因此称为CGI脚本(CGI script)程序。其他脚本语言还有JavaScript、Active Server Pages(ASP)和PHP等。

●API(application programming interface):API是一组例程(routines)、协议和工具,便于构建软件。API一般常驻在Web服务器内存。因此,在效率上优于CGI脚本。

还有以下概念值得一提。

●插件(plug-in):插件指的是一种外部应用程序,可以让Web浏览器在需要时自动调用。

●Java:Java是一种与平台无关的编程语言。大多数操作系统都提供Java虚拟机(JVM),能够在本地运行Java代码。HTML网页中常常嵌套Java例程调用,Web浏览器遇到这类代码时会调用本地JVM,以执行这类代码。

●JavaScript:JavaScript是一种Java类的脚本语言。网页里常常嵌套有JavaScript代码,网页下载时就激活,以响应某个特定事件(如从服务器下载某个特定页面、点击鼠标等)。浏览器遇到这类代码,就会调用JavaScript插件,以执行这些代码。

可以使用前端和后端工具来实现Web服务器与数据库的连接。这些工具必须支持ODBC和/或JDBC,允许使用可接受脚本语言(如JavaScript、ASP等)的代码。一般还要求它们必须支持XML。

图17.1 Web可访问的数据库系统体系结构