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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 本节书摘来自华章出版社《 数据库基础及实践技术——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
相关文章
|
5天前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
33 15
|
3天前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
16 11
|
1天前
|
SQL 机器学习/深度学习 自然语言处理
Text-to-SQL技术演进 - 阿里云OpenSearch-SQL在BIRD榜单夺冠方法剖析
本文主要介绍了阿里云OpenSearch在Text-to-SQL任务中的最新进展和技术细节。
|
1天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
1天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
6 0
|
8天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
24 0
|
10天前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
26 0
|
14天前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
29 0
|
14天前
|
SQL 存储 调度