文件服务器和数据库服务器的区别

文件服务器于客户/服务器数据库之间有一个重要差别.从根本上说,这两个术语指数据处理的两种不同方式.

在文件服务器数据库中,数据存放在文件之中,数据的各个用户直接从文件中取得他们所需的东西.当有修改发生时,应用程序打开文件并写入新数据.当需要显示现有数据时,应用程序打开文件并读取数据.如果一个数据库有20个不同的用户,那么所有20个用户均读取和写入这个相同的文件.

同文件服务器数据库的情形相反,在客户/服务器数据库中,虽然数据仍然存放在文件中,但文件访问由一个统一的主程序控制.当一个应用程序需要利用现有数据时,这个应用程序向服务器发送一个请求.服务器查找相应的数据,并将这个数据发回到应用程序.当一个应用程序需要向数据库中写入新数据时,它将该数据发送到服务器,然后由服务器执行实际的写入操作.只有一个统一的程序对数据文件执行读取和写入操作.

一般说来,面向单用户桌面的数据库(比如Acess\Foxpro)都是文件服务器数据库,而面向部门、公司或企业用户的数据库(Oracle\sybase\sql)都是客户/服务器数据库。客户/服务器数据库在大型环境中有几个重要优势,其中包括:

1、由于只有一个统一的程序读取和写入数据,所以破坏关键数据的意外修改或瘫痪的可能性更小。

2、这个统一的服务器程序可以充当一个监视所有客户的看门人,从而使安全政策的建立和执行变得更容易。

3、由于线路上只有请求流和结果流,所以客户/服务器数据库会比文件服务器数据库更有效的利用网络带宽。

4、由于只有所有的读取和写入都由一台统一的计算机来完成,所以升级这台计算机来提高数据库性能变得更容易。

5、客户/服务器数据库往往提供保护数据的特性,比如日志事务和磁盘或网络错误的恢复。严格地说,文件服务器数据库也会提供这些特性