Delphi客户服务器应用开发(三)

2008-02-23 07:16:03来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  本地型数据库是伴随微机的产生而产生的。dBASEII作为最早的并仍在使用的系统之一就是典型的本地型数据库。 

  本地型数据库管理系统的数据存放在一个本地硬盘上。DBMS接受来自用户或用户程序的命令。这些命令通常是系统特有的数据库管理语言。命令被转换为简单的磁盘访问命令,并交付文件系统来处理。然后DBMS接收来自磁盘上的数据,并加以处理。

  在本地型DBMS应用中,数据库引擎(DBE)运行于工作站上。图18.2暗示数据是存放在工作站的局部驱动器上,其实在网络中,数据还可存放在文件服务器上。这里数据库引擎使用典型的文件I/O调用和记录封锁技术来直接读写数据。 

  存放数据的文件位于网络中的某个服务器上时,DBMS的行力与单机情况无异。 网络操作系统负责对服务器的管理,因此对DBMS而言,对服务器的使用就象使用局部的驱动器一样。

  当用户发出命令,请求DBMS读取数据库中的数据时,该请求首先由工作站(客户)的网络驱动程序处理,它负责把请求从网络上传到所需的服务器网络文件系统。服务器操作系统从适当的磁盘卷上找到数据,并发回等待中的工作站驱动程序。最后,数据回传给DBMS,这样DBMS使用这些数据就象使用本地存储的数据一样。网络情况下的接口比单机情况下接口的处理增加了通信开销,正常情况下这种额外开销不会影响用户的响应时间,除非在网络通信的高峰期间或DBMS要求大数据量传递。

  对于本地型DBMS其大部分工作都在工作站一侧完成,即使数据存储在文件服务器上,其对数据的处理仍然要在工作站上进行。这种方式的最主要的一个缺点是无论查询需要多么少的数据,都需要首先将查询中的所有数据通过网络传到工作站,然后由工作站负责选出满足查询条件的数据,不难想象,当几个用户同时操作数据库时,数据库网络的带宽会很快阻塞。

  在这一方式下,工作站不仅要负责所有用户界面管理,还要负责所有数据处理的工作。在当今的数据库应用中,尤其是那些功能强且使用简便的系统,用户界面的处理开销是相当大的,象Windows这样的图形环境,处理上的额处开销会更大。为此而升级工作站是很得不偿失的。

 

18.1.4.2 客户/服务器型数据接口

 

  由于服务器硬件技术逐年迅速地提高,数据库在处理模式上在近五年内发生了改变。本地型DBMS逐渐让位给客户/服务器型DBMS,尤其是在大中型企业中更是这样。

  正如名字所暗示的,客户/服务器是将处理工作分散到工作站和服务器上去处理,服务器不仅负责存取数据,还要对数据作一定的处理工作,这样在数据发送给工作站之前即求得查询结果集,从而在大部分情况下可大大减少网络传输的开销,因此,也减轻了工作处理负担,从而只需关心用户界面的处理工作即可。

  服务器处理数据带来的另一个好处是,当服务器中数据库引擎使用了缓冲机制时,多个工作站可以从中受益。例如,一用户查询了某数据,当另一用户要查询同样的数据时,即可从服务器缓冲中直接得到结果,从而免去很多开销。

  客户/服务器系统的成功与否在很大程度上依赖于服务器硬件质量和容量。用户越多,服务器的处理负担越重,相应服务器硬件性能也要跟得上,否则就会导致响应时间比本地型数据库还要差的结果。  

  处理工作,而工作站负责用户界面处理工作 

  客户和服务器间的数据库接口要比本地型系统复杂得多。它有几个转换级负责命令和结果集在工作站和服务器间的传送。图18.5给出了客户/服务器数据库接口的详细情况。 

  客户/服务器的前端应用程序实际上不直接与数据库引擎打交道。每个客户服务器提供一个数据库通信接口,该数据库通信接口运行于前端。这些接口也称为数据库通信API等。数据库通信接口的工作流程如下:

  ① 前端应用程序发送命令给数据库通信接口。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi客户服务器应用开发(八)

下一篇:Delphi 对象链接与嵌入(一)