在一个数据库应用系统中,包括数据存储层、业务处理层和界面表示层三个层次。数据 库系统体系结构就是指数据库应用系统中数据存储层、业务处理层、界面表示层等之间的布 局和分布。 数据库系统体系结构可以从不同层次或不同角度来分析。
从数据库最终用户角度看数据 库系统外部的体系结构,可以将其体系结构分为单用户结构、主从式结构、分布式结构、客 户机/服务器结构和浏览器/服务器结构等。
1.单用户结构
单用户结构的数据库系统是一种比较简单的数据库系统,通常称为桌面型数据库管理系 统。这种桌面型数据库管理系统已经基本上实现了 DBMS 应该具备的功能。 这种单用户系统结构,其特点是整个数据库系统包括操作系统、DBMS、应用程序和数 据库等都安装在一台计算机上,由一个用户独占,不同机器间不能共享数据,容易造成数据 大量冗余,主要适合于个人计算机用户。
单用户结构中,数据存储层、业务处理层和界面表示层都存在于一个计算机上。目前比 较流行的这种结构的 DBMS 有 Access 和 Visual FoxPro。
2、主从式结构
主从式结构的数据库系统是一种采用大型主机和终端结合的系统,这种结构是将操作系 统、应用程序和数据库系统等数据和资源放在主机上,事务由主机完成,终端只是作为一种输入/输出设备,可以共享主机的数据。
在这种主从式结构中,数据存储层和应用层都放在 主机上,而用户界面层放在各个终端上。 这种结构的优点是简单,数据易于管理和维护,但对主机性能要求比较高。
缺点是当终 端用户增加到一定程度后,主机的任务会过于繁重,使性能大大下降,可靠性不够高。并且 这种结构通信费用比较昂贵,这是数据库系统初期较流行的一种体系结构。这种结构比较典 型的有一些银行的业务系统,其业务数据存放在大型主机中,柜面业务人员通过终端实现对 主机数据的共享。
3、分布式结构
分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但物理地分布在计 算机网络的不同结点上。
分布式数据库系统由多台计算机组成,每台计算机都配有各自的本 地数据库。在分布式数据库系统中,大多数处理任务由本地计算机访问本地数据库完成局部 应用;对于少量本地计算机不能胜任的处理任务,通过网络存取和处理多个异地数据库中的 数据,执行全局应用。
分布式结构的优点是适应了地理上分散的公司、团体和组织对数据库应用的需求,体系 结构灵活,经济性能好。其缺点是由于数据的分散存放,给数据的处理、管理与维护带来困 难。
而且当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。分布式 结构大量用于跨不同地区的公司、团体等。
4、客户机/服务器结构
客户机/服务器(Client/Server,C/S)结构是当前非常流行的一种结构。在这种结构中, 网络中某个(些)结点上的计算机专门用于执行 DBMS 功能,称为服务器。其他结点上的计算 机安装 DBMS 的外围应用开发工具以及用户的应用系统,称为客户机。
客户机提出请求, 服务器对客户机的请求做出回应。 在客户机/服务器结构的数据库系统中,数据存储层处于服务器上,应用层和用户界面 层处于客户机上。客户机支持用户应用,负责管理用户界面、接收用户数据、生成数据库服 务请求等;服务器则接收客户机的请求,处理请求并返回执行的结果。 这种结构的优点是不需要将大量数据在网络上传输,减少了网络的数据传输量,提高了 系统的性能、吞吐量和负载能力。数据库更加开放,可移植性高,因为客户机与服务器 一 般都能在多种不同的硬件和软件平台上运行,并且可以使用不同厂商的数据库应用开发 工 具。
但这种结构本身也有缺点,如系统安装复杂,工作量大;应用维护困难,难于保密, 造 成安全性差;相同的应用程序要重复安装在每一台客户机上,从总体来看,大大浪费了系统 资源。特别是当系统规模达到数百或数千台客户机,它们的硬件配置、操作系统又常常不同, 要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。 客户机/服务器结构也可分为集中的和分布的。集中的服务器结构只有一台数据库服务 器,多台客户机。分布的服务器结构在网络中有多台数据库服务器,它是客户机/服务器与 分布式数据库的结合。
5.浏览器/服务器结构
由于客户机/服务器结构需要配置和维护多个客户端支撑软件,不但会造成客户机臃肿, 而且给应用程序的维护工作带来了很大的不便。随着因特网浏览器功能越来越强大,在许多 场合下,可以用浏览器取代客户机/服务器结构的客户端软件,因此,人们提出了一种改进 的结构——浏览器/服务器(B/S)结构。这种结构中,统一用浏览器作为客户端,实现用 户的输入输出。
应用程序的业务逻辑和数据处理都在服务器端安装和运行,因此,服务器端 除了要有数据库服务器保存数据并运行基本的数据操作外,还要有处理客户端提交的处理要求的应用服务器。这种结构的数据存储层处于数据库服务器上,主要执行数据逻辑,运行 SQL 式存储过程;业务处理层位于应用服务器上,主要执行业务逻辑,向数据库发送请求;
而用户界面层位于客户机,实现用户引导,向应用服务器发送请求并显示处理结果。 浏览器/服务器结构采用浏览器作为客户端,界面统一,容易为用户所掌握,大大减少 了用户培训时间。并且由于所有业务逻辑和数据处理均在服务器端执行,大大减少了系统开 发和维护的代价,能够支持数万甚至更多的用户。这种结构已成为目前最流行的数据库体系 结构。