Database 版 (精华区)


一 客户/服务器的概念

    在“创建多用户应用程序”中,可以看到在文件服务器环境下,
如何使用 Microsoft Jet 和 DAO 来建立应用程序。切记,在文件
服务器数据库结构中,服务器上是没有数据库引擎的,服务器很少
提供对网络文件的访问。简单的文件服务器结构对于成功地实现由
小到中等规模的应用程序来说,是比较理想的。
    但是,有些应用程序的需求已超出文件服务器数据库系统的能
力。例如,一旦某个应用程序超出了并发事件的确定阈值,或者需
要利用一些高级的功能,例如触发器,那么客户/服务器结构可能会
更好些。如果除此之外,还要求许多文件服务器数据库系统不能适
应的性能、安全性、数据集成度和管理问题的话,可以考虑使用客
户/服务器结构。

  1 文件服务器与客户/服务器的比较
    在文件服务器数据库配置中,Microsoft Jet 数据库引擎驻留
在每个用户的工作站上,而包含所有数据的数据文件则驻留在服务
器上。当应用程序需要数据时,工作站上的数据库引擎会处理该查
询,然后在网络驱动器上发一个对特定数据的请求。由于在数据文
件中所有请求的数据必须从服务器发送到工作站,所以这会产生很
大的网络通讯量。
    在客户/服务器配置中,数据库引擎和应用程序需求的数据都驻
留在网络服务器上。数据库引擎仅仅在一台机器(即服务器)上运
行,而不是在每一个工作站上都运行它的副本。工作站以 SQL 语句
格式向服务器简单地发出高级请求,检索指定的数据,并传回给客户。

  2 客户/服务器的工作方式
    要更好地比较客户/服务器与文件服务器的不同,可用下面的
Visual Basic 代码:
      Dim dbs As Database
      Dim rstTest As Recordset
      Dim strName As String
      Set dbs = DBEngine(0).OpenDatabase ("mydb.mdb")
      Set rstTest = dbs.OpenRecordset ("mytable")
      strName = rstTest!LastName
    在文件服务器数据库应用程序中,将执行以下操作:
  (1) Microsoft Jet 打开文件 mydb.mdb,该操作所需时间和资源
      都比较少。
  (2) 在工作站上运行的 Microsoft Jet DLL 在数据库文件中查找
      关于 MyTable 表的信息。它所引起的磁盘读取和机器内存操
      作,其代价都不昂贵。
  (3) Microsoft Jet 把 MyTable 表的详细信息载入工作站内存,
      如字段的数量、字段的数据类型、可用的索引以及数据库文件
      中第一个数据页的位置信息。
  (4) 在工作站上运行着的 Microsoft Jet 备份从磁盘上把实际的
      数据读出来,并使应用程序可访问这些数据。
    而在客户/服务器系统中,这些操作按下面的方式进行:
  (1) 和前面列表中的步骤 1 和步骤 2 一样,Microsoft Jet 先打
      开 mydb.mdb 文件,从文件中检索某些信息,然后在本地工作
      站的内存中建立一些结构。
  (2) 在 Microsoft Jet 加载 MyTable 之后,它知道这是与 ODBC 
      数据库的一个链接,然后试图创建与 ODBC 服务器的连接。这
      是相对代价昂贵的操作,大概要花几秒钟。
  (3) 当 ODBC 服务器接收到连接请求之后,它便不考虑内存和其它
      资源,并为随后的请求作好准备。然后用连接来响应请求。
  (4) Microsoft Jet 向服务器发出对 MyTable 数据的请求,该 
      MyTable 数据是用 DAO 代码请求的。
  (5) 服务器把请求的数据返回给 Microsoft Jet,然后客户应用程
      序可以使用这些数据。
        
  3 客户/服务器的优点
    对许多数据库应用程序来说,客户/服务器结构提供了如下的一
些优点:
      * 因为只有单一的数据库服务器与数据交互(而不是文件共享
        数据库的多个备份),所以操作更可靠、更强健。
      * 因为数据库服务器与文件共享数据库不同而更具可测量性。
        如果更多的用户添加到系统中,那么估计系统满足更多的需
        求的能力会更容易些。
      * 极大地提高了某些操作的性能,特别是当用户工作站是只有
        很慢的处理器和较少的 RAM 的低档计算机时。例如,在高
        档服务器上运行一个很大的查询,可能比在典型工作站上快
        好几倍。
      * 因为数据传输更有效,所以减少了网络的通讯量。只传输应
        用程序所需的数据。
      * 任务准则特性,例如事务日志、先进的备份功能、冗余磁盘
        阵列和错误恢复工具。
        




※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: space.hit.edu.c]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.083毫秒