《数据库基础及实践技术——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
相关文章
|
20天前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
43 3
|
20天前
|
数据库 索引
深入理解数据库索引技术:回表与索引下推详解
【10月更文挑战第23天】 在数据库查询性能优化中,索引的使用是提升查询效率的关键。然而,并非所有的索引都能直接加速查询。本文将深入探讨两个重要的数据库索引技术:回表和索引下推,解释它们的概念、工作原理以及对性能的影响。
41 3
|
26天前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
55 0
|
19天前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
105 61
|
16天前
|
SQL 数据库
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
32 11
|
8天前
|
SQL 存储 算法
比 SQL 快出数量级的大数据计算技术
SQL 是大数据计算中最常用的工具,但在实际应用中,SQL 经常跑得很慢,浪费大量硬件资源。例如,某银行的反洗钱计算在 11 节点的 Vertica 集群上跑了 1.5 小时,而用 SPL 重写后,单机只需 26 秒。类似地,电商漏斗运算和时空碰撞任务在使用 SPL 后,性能也大幅提升。这是因为 SQL 无法写出低复杂度的算法,而 SPL 提供了更强大的数据类型和基础运算,能够实现高效计算。
|
10天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
17天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
31 3
|
17天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
34 2
|
19天前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。