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

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 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
相关文章
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
35 16
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
【赵渝强老师】达梦数据库的线程结构
达梦数据库采用单进程、多线程结构,利用对称服务器架构实现高效资源利用与可扩展性。其核心线程类型包括监听线程(管理客户端连接)、I/O线程(处理数据页读写)、工作线程(执行数据操作)、调度线程(定时任务管理)和日志刷新线程(确保REDO日志刷盘)。通过合理分工与同步机制,达梦数据库实现了高性能与稳定性。视频讲解进一步详细介绍了各线程的功能与协作方式。
【赵渝强老师】达梦数据库的线程结构
【赵渝强老师】达梦数据库的内存结构
本文介绍了达梦数据库管理系统的内存结构,包括内存池、缓冲区、排序区和哈希区。内存池分为共享内存池和运行时内存池,能够提高内存申请与释放效率,并便于监控内存使用情况。缓冲区涵盖数据缓冲区、日志缓冲区、字典缓冲区和SQL缓冲区,用于优化数据读写和查询性能。排序区和哈希区分别提供排序和哈希连接所需的内存空间,通过合理配置参数可提升系统效率。文内附有具体配置示例及视频讲解,帮助用户深入理解达梦数据库的内存管理机制。
【赵渝强老师】达梦数据库的物理存储结构
本文介绍了达梦数据库的存储结构及各类物理文件的作用。达梦数据库通过逻辑和物理存储结构管理数据,包含配置文件(如dm.ini、sqllog.ini)、控制文件(dm.ctl)、数据文件(*.dbf)、重做日志文件(*.log)、归档日志文件、备份文件(*.bak)等。配置文件用于功能设置,控制文件记录数据库初始信息,数据文件存储实际数据,重做日志用于故障恢复,归档日志增强数据安全性,备份文件保障数据完整性,跟踪与事件日志辅助问题分析。这些文件共同确保数据库高效、稳定运行。
【赵渝强老师】达梦数据库的逻辑存储结构
本文介绍了达梦数据库的存储结构,包括逻辑和物理存储两部分。逻辑存储结构由数据库(Database)、表空间(Tablespaces)、段(Segments)、簇(Cluster)和页(Page)组成。数据库是最大逻辑单元,包含所有表、索引等;表空间由数据文件组成,用于存储对象;段由簇构成,簇包含连续的数据页;页是最小存储单元。文中还提供了查询表空间、段和页大小的SQL语句,并附有视频讲解和示意图。
登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇
日前,阿里云PolarDB云原生数据库以超越原记录2.5倍的性能一举登顶TPC-C基准测试排行榜,以每分钟20.55亿笔交易(tpmC)和单位成本0.8元人民币(price/tpmC)的成绩刷新TPC-C性能和性价比双榜的世界纪录。 每一个看似简单的数字背后,都蕴含着无数技术人对数据库性能、性价比和稳定性的极致追求,PolarDB的创新步伐从未止步。「阿里云瑶池数据库」公众号特此推出「PolarDB登顶TPC-C技术揭秘」系列硬核文章,为你讲述“双榜第一”背后的故事,敬请关注!
登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇

热门文章

最新文章