基于Client/Server结构的数据库系统设计
2018-07-28刘向东
刘向东
摘要:数据库是一种数据管理技术,对信息系统的数据存储、管理和调度起着重要的作用。本文从数据库技术入手,首先介绍了目前流行的三种数据库体系结构:单用户数据库结构、主从式数据库结构和分布式结构,并在此基础上引出了Client/Server(客户端/服务器)数据库结构。然后,文章介绍了Client/Server数据库系统的设计要点,包括网络软件和协议、数据库和客户端开发工具的设计方法。最后,以地图数据库为例展示了Client/Server数据库系统的设计结果。Client/Server数据库系统提高了系统容量、效率、稳定性和安全性,在不同规模的系统中得到了广泛的应用。
关键词:数据库;主从式结构;Client/Server结构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)11-0008-03
1引言
数据库技术是一种数据管理技术,具有结构化、冗余度低、程序与数据高度独立、易于扩展和编译应用等优点。数据库是指长期存储在计算机中的结构化数据集合,基于某种数据模型实现对数据的组织、描述和存储,并向用户提供数据共享服务。现在,数据库技术已应用于各类大型、小型甚至微型计算机以确保数据的完整性和共享性[1]。
数据库是信息系统的核心和基础,而数据库设计则是系统开发过程中最关键的过程,实现了数据的组织、存储、维护和检索等功能,使信息系统能够方便、及时、准确地从数据库中获取所需的信息。数据库设计是否合理,决定了信息系统的各个模块能否实现紧密结合并协同工作[2]。
2数据库结构
数据库系统可以按照不同方式进行分类,根据最终用户的不同类型,可分为单用户数据库结构、主从式数据库结构、分布式数据库结构和Client/Server数据库结构。
2.1单用户数据库结构
单用户数据库结构是一种早期简单的数据库结构,应用程序、数据库管理系统和数据等所有的数据库系统都安装在同一台计算机上,该计算机由一名用户独享,不同计算机之间不能共享数据[3]。
以企业各部门为例,各部门使用自己的计算机实现数据管理,所有计算机之间都是相互独立的。由于不同部门之间不能共享数据,企业中存储了大量冗余数据,如每个员工的ID、姓名等个人信息被反复存储在人事、会计、技术等不同部门的数据库中。
2.2主从式数据库结构
在主从式数据库结构中,应用程序、数据库管理系统和数据等数据库系统均安装在一个具有多个用户的主机上,所有的处理任务都由主机完成,终端用户能够访问数据库并与主机共享数据资源[4]。
主从式数据库结构最主要的特点是集中式的数据存储和数据处理,其优点在于结构简单,易于管理和维护。但是,当终端用户较多时,主机处理任务较繁重,容易成为数据库系统的性能瓶颈,如果主机的处理任务失败,整个数据库系统都会失败,因此主从式数据库系统可靠性不高。
2.3分布式数据库结构
在分布式数据库结构中,数据作为一个整体存储在数据库中,但其实际上分布在网络中不同的物理节点。网络中的每个节点既能够独立访问和处理本地数据库中的数据以执行本地应用程序,同时也可以访问和处理多个远程数据库中的数据以执行全局应用程序[5]。
顾名思义,分布式数据库结构的主要特点是分布式的数据存储和数据处理,分布式数据库系统是计算机和网络技术发展的必然产物,满足了企业和组织在地理分散分布的需求。然而,数据的分布式存储为数据处理、管理和维护都带来了一定的困难,同时数据库的远程访问过程受到网络带宽和速率的影响明显。
3 Client/Server数据库结构
在主从式数据库系统中,每个节点都是一个通用的计算机,既执行数据库管理系统的功能,又执行应用程序。随着工作站的普及,用户开始分离将二者功能逐渐分离。网络中的一些计算机节点专门用于执行数据库管理系统的功能,称为数据库服务器,简称服务器;其他计算机节点安装数据库管理系统的外围应用程序开发工具支持用户功能,称为客户端。这就是Client/Server(客户端/服务器)数据库结构的原型[6]。
Client/Server数据库结构如图1所示,其中,系统的Oracle Sybase、Infomix等应用软件和数据库等安装在服务器端,服务器通常有多個进程,能够接受来自多个客户端的数据请求。客户端将用户请求以结构化查询语言的形式发送到服务器,服务器完成数据查询和处理并将处理结果返回客户端,并不是返回整个数据,极大地减少了网络中传输的数据量,从而提高了数据库系统性能、吞吐量和负载能力。另外,Client/Server数据库结构的往往更开放,客户端和服务器均可以在不同的硬件和软件平台上运行,可以应用不同的数据库应用开发工具,使应用程序更易于移植,软件维护成本更低。
Client/Server数据库结构可分为集中式服务器结构和分布式服务器结构[7]。
如图2所示,集中式服务器结构包含一个数据库服务器和多个客户端服务器,主要特点是集中式的数据存储和分布式的数据处理。与主从式数据库结构类似,数据库服务器需要为多个客户端提供服务,容易成为系统瓶颈,限制系统性能。
如图3所示,分布式服务器结构包含多个分布式的服务器,是分布式数据库和Client/Server数据库的结合,主要特点是分布式数据和分布式处理。与分布式数据库结构类似,数据在不同服务器上的分布式存储为数据处理、管理和维护带来一定困难。
4 Client/Server数据库系统设计
4.1网络软件和协议
本文通过Windows NT操作系统实现client/server数据库系统的设计,所需硬件资源较少,对不同规模的公司都比较实用[8]。NT操作系统支持丰富的网络协议,包括:
(1)NetBEUI:微软的嵌入式网络协议,能够实现数据包的高速无路由传输功能。
(2)NWLink IPX/SPX协议:NetWare兼容协议,可用于NetWare服务器的连接。
(3) TCP/IP协议:具有路由功能的行业标准协议,可作为主网协议。
4.2 数据库
NT操作系统最常用的数据库工具是微软开发的SQL Server,结构紧凑、功能強大、容量庞大,能够与NT操作系统无缝连接。除此之外,Sybase、Oracle等也是常用的数据库工具。
4.3 客户端开发工具
客户端开发工具的选择对用户来说非常重要,常用的开发工具包括ODBC、C/C++、VFP3.0、VB、PowerBuilder、Delphi等[9]。
4.4 地图数据库系统
以地图数据库为例,如图4所示,一个完整的Client/Server数据库系统包括数据库服务器、客户端和网络三个部分[10]。
(1)数据库服务器:用来处理来自客户端的SQL请求,并将处理结果返回给客户端。事实上,所有的数据操作、并发控制、安全审计和系统管理都是通过数据库服务器完成的。
(2)客户端:用于发送SQL请求并处理请求结果,客户端通常用于处理应用程序的逻辑。
(3)网络:提供服务器和客户端之间的连接,对用户是透明的。网络性能将直接影响数据库系统性能。
Client/Server数据库是网络中所有节点建立的一套支持站点自治和全局自治的有机组合,包含数据库管理系统、通信管理、本地数据库和全局数据库四类功能模块。
(1)数据库管理系统:提供Client/Server数据库系统界面功能,确保全局数据库的完整性。
(2)通信管理:处理节点间基本通信功能的通信软件。
(3)本地数据库:可通过本地节点访问的数据库。
(4)全局数据库:可通过网络中所有节点访问的数据库。
5 结论
本文从数据库技术入手,首先介绍了目前流行的三种数据库体系结构:单用户数据库结构、主从式数据库结构和分布式结构,并在此基础上引出了Client/Server(客户端/服务器)数据库结构。然后,文章介绍了Client/Server数据库系统的设计要点,包括网络软件和协议、数据库和客户端开发工具的设计方法。最后,以地图数据库为例展示了Client/Server数据库系统的设计结果。Client/Server数据库系统提高了系统容量、效率、稳定性和安全性,在不同规模的系统中得到了广泛的应用[11]。
参考文献:
[1] 冯玉村. 数据库系统技术[M]. 华中工学院出版社, 1984.
[2] 丁智刚. C/S模式与B/S模式相结合的数据库系统技术研究[J]. 网络空间安全, 2011(11):41-44.
[3] 郭忠胜. 基于GIS数据管理系统的研究与实践[D]. 解放军信息工程大学, 2004.
[4] 王涛, 刘润彬. 一种主从式数据库应用模式的研究与应用[C]. 中国电子学会青年学术年会暨中国电子学会青年工作委员会成立十周年学术研讨会, 2002.
[5] 王鑫, 王占江. 浅谈分布式数据库架构[J]. 计算机光盘软件与应用, 2012(8):41-41.
[6] 黄丽霞. Client/Server数据库结构,应用软件设计及其访问机制[J]. 数据分析与知识发现, 2000, 16(4):26-29.
[7] 刘洪星, 谭新明. Client/Server 数据库及其设计要点[J]. 武汉交通科技大学学报, 1998(2):153-155.
[8] JoeSalemi, 奚舸. Claris FileMaker Pro 3.0 Server for Windows NT——FileMaker Pro为Client/Server重下定义[J]. 电子与电脑, 1997(7):44-44.
[9] 刘欣, 邱力军, 廖琪梅,等. 利用Delphi开发Client/Server数据库[J]. 医学争鸣, 2001(s1):133-134.
[10] 李治柱. C/S模式下数字地图的研究与实现[D]. 上海交通大学, 2009.
[11] 王江伟. 分布式数据库与Client/Server体系纵横谈[J]. 软件和信息服务, 1997(10):5-9.