1.6 数据库应用结构
数据库应用结构是从数据库最终用户的角度来看的,是指数据库运行的软、硬件环境。通过这个环境,用户可以访问数据库中的数据。用户可以通过数据库内部环境访问数据库,也可以通过外部环境来访问数据库,可以执行不同的操作,而且目的也可以是各不相同的,可以查询数据、修改数据或者生成新的数据。
不同的数据库管理系统可以具有不同的应用结构。本节介绍3种最常见的数据库应用结构:集中式结构、文件服务器结构和客户端/服务器结构,还将简单介绍一下互联网结构下数据库的应用结构,互联网结构是客户端/服务器结构的扩展。
1.6.1 集中式结构
在20世纪60~70年代,数据库系统一般使用的是大型机环境。大型机代表一种“集中式”的环境,这种环境主要由一台功能强大、允许多用户连接的计算机组成。多个“哑终端”通过网络连接到大型机,并可以与大型机进行通信。终端一般只是大型机的扩展,它们并不是独立的计算机。终端本身并不能完成任何操作,它们依赖大型机来完成所有的操作。用户从终端键盘键入的信息被传到主机,然后由主机将执行的结果以字符方式返回到终端上。这种模式的计算机的所有资源(数据)都在主机上,所有的处理(程序)也在主机上完成。如图1-14所示的是集中式环境的应用结构。
集中式结构的优点是可以对数据和操作实现集中管理,安全性很好,但其缺点是费用较高,不能真正划分应用程序的逻辑。大型机的另一个主要问题就是对最终用户的限制,终端只能与大型机进行通信。而其他的一些任务,像用户的手工处理、字处理软件的使用或者个人计算机都无法与大型机交互。
1.6.2 文件服务器结构
到20世纪80年代,个人计算机进入了商用领域,同时计算机应用的范围和领域也日趋广泛,这对那些没有能力实现大型机方案的企业来说,个人计算机无疑就有了“用武之地”。在个人计算机进入商用领域不久,局域网也问世了,同时也诞生了文件服务器技术。图1-15说明了文件服务器结构的应用模式。
从图1-15可以看出,在文件服务器系统结构中,应用程序是在客户工作站上运行的,而不是在服务器上运行的,文件服务器只提供了资源(数据)的集中管理和访问途径。这种结构的特点是将共享数据资源集中管理,而将应用程序分散安排在各个客户工作站上。文件服务器结构的优点在于实现的费用比较低,而且配置非常灵活,在一个局域网中可以方便地增减客户工作站。文件服务器结构的缺点是,由于文件服务器只提供文件服务,所有的应用处理都要在客户端完成,这就意味着客户端的个人计算机必须要有足够的能力,以便执行需要的任何程序。这可能经常需要对客户端的计算机进行升级,否则就很难改进应用程序的功能、提高应用程序的性能。特别要提出的是,虽然应用程序可以存放在网络文件服务器的硬盘上,但它每次都要传送到客户端的个人计算机的内存中执行。另外,所有的处理都是在客户端完成的,网络上就要经常传送大量无用的数据。
1.6.3 客户端/服务器结构
文件服务器结构的费用虽然低,但是和大型机的“集中式”相比,它缺乏足够的计算和处理能力。为了解决费用和性能的矛盾,客户端/服务器结构应运而生,这种结构允许应用程序分别在客户工作站和服务器(注意:不再是文件服务器)上执行,可以合理划分应用逻辑,充分发挥客户工作站和服务器两方面的性能。图1-16说明了客户端/服务器的结构。
在客户端/服务器结构中,应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中。
这样,为了完成一个特定的任务,客户工作站上的程序和服务器上的程序可以协同工作。从图1-16可以看出,客户端/服务器结构和文件服务器结构的区别,客户端/服务器结构的客户工作站向服务器发送的是处理请求,而不是文件请求;服务器返回的是处理的结果,而不是整个文件。这种模式极大地减少了网络流量。
从以上介绍可以看出,大型机集中式结构的所有程序都在主机上执行,文件服务器局域网结构的所有程序都在客户端执行,这两种结构都不能提供真正的可伸缩应用系统框架。客户端/服务器结构则可以将应用逻辑分布在客户工作站和服务器之间,可以提供更快、更有效的应用程序性能。
在客户端/服务器结构中,常把客户端称做前台或前端客户,把服务器称做后台或后端服务器。
客户端/服务器结构的缺点是每个客户端都需要安装应用程序,造成应用程序维护成本比较高的问题。另外,客户端应用程序的执行经常需要一些辅助软件,如一些动态链接库的支持,因此造成客户端负担比较重,也就是“胖”客户端。
1.6.4 互联网应用结构
互联网计算环境与客户端/服务器计算环境非常相似。在客户端/服务器环境中,需要使用服务器、网络以及一台或多台相互连接的PC。互联网计算环境依赖于互联网。
互联网计算环境之所以强大,是因为其所需的客户端软件对客户是透明的。在互联网计算环境中,应用软件可以只安装在一台服务器(Web服务器)上。用户的PC只要具有连接到互联网的功能并且安装有Web浏览器,就可以执行这些应用软件。
在互联网应用结构中,用户向Web服务器发出数据请求,Web服务器收到请求后,按照特定的方式访问数据库并将数据库的执行结果反馈给用户的浏览器。最后,查询结果通过浏览器显示在用户的PC上。在互联网计算环境下,最终用户应用软件的安装和维护都非常简单,客户端不再需要进行安装、配置应用软件的工作。这些工作只需在Web服务器上完成,这样就可以减少客户端与服务器端软件配置的不一致以及不同版本应用软件所带来的问题。当需要对应用软件做一些修改时,只要在一个地方修改即可,比如在Web服务器上,所有的用户就可以看到最新版本的软件。这种模式节省了软件的维护费用,同时也减轻了客户端的负担,使客户端真正成为“瘦”客户端。
如图1-17所示的是互联网计算环境下访问数据库的情况。