《数据库基础及实践技术——SQL Server 2008》一1.6 数据库应用结构

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 本节书摘来自华章出版社《 数据库基础及实践技术——SQL Server 2008》一 书中的第1章,第1.6节,作者:何玉洁,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.6 数据库应用结构

数据库应用结构是从数据库最终用户的角度来看的,是指数据库运行的软、硬件环境。通过这个环境,用户可以访问数据库中的数据。用户可以通过数据库内部环境访问数据库,也可以通过外部环境来访问数据库,可以执行不同的操作,而且目的也可以是各不相同的,可以查询数据、修改数据或者生成新的数据。
不同的数据库管理系统可以具有不同的应用结构。本节介绍3种最常见的数据库应用结构:集中式结构、文件服务器结构和客户端/服务器结构,还将简单介绍一下互联网结构下数据库的应用结构,互联网结构是客户端/服务器结构的扩展。

1.6.1 集中式结构

在20世纪60~70年代,数据库系统一般使用的是大型机环境。大型机代表一种“集中式”的环境,这种环境主要由一台功能强大、允许多用户连接的计算机组成。多个“哑终端”通过网络连接到大型机,并可以与大型机进行通信。终端一般只是大型机的扩展,它们并不是独立的计算机。终端本身并不能完成任何操作,它们依赖大型机来完成所有的操作。用户从终端键盘键入的信息被传到主机,然后由主机将执行的结果以字符方式返回到终端上。这种模式的计算机的所有资源(数据)都在主机上,所有的处理(程序)也在主机上完成。如图1-14所示的是集中式环境的应用结构。
集中式结构的优点是可以对数据和操作实现集中管理,安全性很好,但其缺点是费用较高,不能真正划分应用程序的逻辑。大型机的另一个主要问题就是对最终用户的限制,终端只能与大型机进行通信。而其他的一些任务,像用户的手工处理、字处理软件的使用或者个人计算机都无法与大型机交互。

screenshot

1.6.2 文件服务器结构

到20世纪80年代,个人计算机进入了商用领域,同时计算机应用的范围和领域也日趋广泛,这对那些没有能力实现大型机方案的企业来说,个人计算机无疑就有了“用武之地”。在个人计算机进入商用领域不久,局域网也问世了,同时也诞生了文件服务器技术。图1-15说明了文件服务器结构的应用模式。
从图1-15可以看出,在文件服务器系统结构中,应用程序是在客户工作站上运行的,而不是在服务器上运行的,文件服务器只提供了资源(数据)的集中管理和访问途径。这种结构的特点是将共享数据资源集中管理,而将应用程序分散安排在各个客户工作站上。文件服务器结构的优点在于实现的费用比较低,而且配置非常灵活,在一个局域网中可以方便地增减客户工作站。文件服务器结构的缺点是,由于文件服务器只提供文件服务,所有的应用处理都要在客户端完成,这就意味着客户端的个人计算机必须要有足够的能力,以便执行需要的任何程序。这可能经常需要对客户端的计算机进行升级,否则就很难改进应用程序的功能、提高应用程序的性能。特别要提出的是,虽然应用程序可以存放在网络文件服务器的硬盘上,但它每次都要传送到客户端的个人计算机的内存中执行。另外,所有的处理都是在客户端完成的,网络上就要经常传送大量无用的数据。

screenshot

1.6.3 客户端/服务器结构

文件服务器结构的费用虽然低,但是和大型机的“集中式”相比,它缺乏足够的计算和处理能力。为了解决费用和性能的矛盾,客户端/服务器结构应运而生,这种结构允许应用程序分别在客户工作站和服务器(注意:不再是文件服务器)上执行,可以合理划分应用逻辑,充分发挥客户工作站和服务器两方面的性能。图1-16说明了客户端/服务器的结构。
在客户端/服务器结构中,应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中。
这样,为了完成一个特定的任务,客户工作站上的程序和服务器上的程序可以协同工作。从图1-16可以看出,客户端/服务器结构和文件服务器结构的区别,客户端/服务器结构的客户工作站向服务器发送的是处理请求,而不是文件请求;服务器返回的是处理的结果,而不是整个文件。这种模式极大地减少了网络流量。

screenshot

从以上介绍可以看出,大型机集中式结构的所有程序都在主机上执行,文件服务器局域网结构的所有程序都在客户端执行,这两种结构都不能提供真正的可伸缩应用系统框架。客户端/服务器结构则可以将应用逻辑分布在客户工作站和服务器之间,可以提供更快、更有效的应用程序性能。
在客户端/服务器结构中,常把客户端称做前台或前端客户,把服务器称做后台或后端服务器。
客户端/服务器结构的缺点是每个客户端都需要安装应用程序,造成应用程序维护成本比较高的问题。另外,客户端应用程序的执行经常需要一些辅助软件,如一些动态链接库的支持,因此造成客户端负担比较重,也就是“胖”客户端。

1.6.4 互联网应用结构

互联网计算环境与客户端/服务器计算环境非常相似。在客户端/服务器环境中,需要使用服务器、网络以及一台或多台相互连接的PC。互联网计算环境依赖于互联网。
互联网计算环境之所以强大,是因为其所需的客户端软件对客户是透明的。在互联网计算环境中,应用软件可以只安装在一台服务器(Web服务器)上。用户的PC只要具有连接到互联网的功能并且安装有Web浏览器,就可以执行这些应用软件。
在互联网应用结构中,用户向Web服务器发出数据请求,Web服务器收到请求后,按照特定的方式访问数据库并将数据库的执行结果反馈给用户的浏览器。最后,查询结果通过浏览器显示在用户的PC上。在互联网计算环境下,最终用户应用软件的安装和维护都非常简单,客户端不再需要进行安装、配置应用软件的工作。这些工作只需在Web服务器上完成,这样就可以减少客户端与服务器端软件配置的不一致以及不同版本应用软件所带来的问题。当需要对应用软件做一些修改时,只要在一个地方修改即可,比如在Web服务器上,所有的用户就可以看到最新版本的软件。这种模式节省了软件的维护费用,同时也减轻了客户端的负担,使客户端真正成为“瘦”客户端。
如图1-17所示的是互联网计算环境下访问数据库的情况。

screenshot

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
7天前
|
存储 安全 搜索推荐
酒店管理系统的数据库的应用以及选择
酒店管理系统数据库关乎运营效率和服务质量。数据库用于数据存储、管理、分析及客户关系管理,确保房态与预订精准。选择时重视性能稳定性、数据安全、易用性、可扩展性和成本效益。合适的数据库能提升酒店运营效率并优化客户体验。
19 2
|
7天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
47 10
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
66 6
|
3天前
|
存储 SQL 安全
6.数据库技术基础
6.数据库技术基础
|
3天前
|
SQL 自然语言处理 测试技术
NL2SQL进阶系列(4):ConvAI、DIN-SQL等16个业界开源应用实践详解[Text2SQL]
NL2SQL进阶系列(4):ConvAI、DIN-SQL等16个业界开源应用实践详解[Text2SQL]
NL2SQL进阶系列(4):ConvAI、DIN-SQL等16个业界开源应用实践详解[Text2SQL]
|
4天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
4天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
32 3
|
7天前
|
SQL 人工智能 自然语言处理
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
NL2SQL进阶系列(2):DAIL-SQL、DB-GPT开源应用实践详解Text2SQL
|
7天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
29 0
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例