• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 休闲生活 > 正文

    浅谈SQL,Server客户端/服务器架构

    时间:2020-09-19 07:52:02 来源:达达文档网 本文已影响 达达文档网手机站

    摘要:本文简单介绍了SQL Server,并在此基础上通过具体实例重点讨论了SQL Server客户端/服务器架构。

    Abstract: This paper briefly describes the SQL Server, and on this basis, discusses the SQL Server client / server architecture through concrete examples.

    关键词:SQL Server;客户端/服务器;数据库;组件

    Key words: SQL Server;client / server;database;components

    中图分类号:TP39 文献标识码:A文章编号:1006-4311(2012)15-0220-01

    SQL Server不是Microsoft Access或Visual FoxPro意义上的数据库应用程序开发环境。它是组件和产品的大集合,这些组件和产品共同组合成客户端/服务器系统,以满足任何实体或组织的数据存储、检索和分析的要求。所有人每天在Internet上冲浪时,都会使用客户端/服务器数据库系统,越来越多的服务器使用了SQL Server解决方案,而且客户端永远也不必了解后端实现了什么样的技术,本地计算设备,或客户端软件可以是“纤瘦”的。例如,Web浏览器以及用户界面或客户端流程可以在任何操作系统或平台上运行。在客户端/服务器数据库中,数据库服务器的引擎自主控制数据访问,执行查询,管理数据库及每个客户端的请求,并保持数据库服务以最理想的方式进行。

    SQL Server是一个客户端/服务器数据库系统,无论在两层和多层环境中,它都能驾轻就熟地服务存储区域有限的非常小的数据库,或占据巨大存储区域的十分庞大的数据库(very large database,VLDB)。大量用户可以同时连接到SQL Server,同时向服务器发送查询和指令,并执行插入、更新、删除、查询操作,以及其他你可以想象的任何数据库工作。你还可以将多个SQL Server实例安装在同一台计算机上,并执行相应的操作;用户可以查询在一个服务器上的视力x控制的数据库,同时将数据插入到另一个服务器上的实例y控制的数据库。

    作为一个客户端/服务器系统,SQL Server可以在单个计算机上简单实现为两层系统。可以像安装和使用Access或FoxPro那样,将SQL Server引擎及用户界面安装在同一台计算机上,前端(或用户界面)数据库应用程序通过Windows进程间通信(Interprocess Communication,IPC)工具和共享内存协议,而并不通过网络与SQL Server通信。这种能力使SQL Server能够满足单个用户的需求,SQL Server还适用于瘦客户端/服务器环境。其中,所有用户都在承载SQL Server的同一个服务器级计算机的终端会话中进行操作。在应用服务器模式下,将SQL Server安装在Windows Server上时,用户将有权访问应用程序,而应用程序通过IPC工具,将请求发送给数据库服务器引擎。与为每一个用户赋予一个必须获得认可的Access、自定义应用程序副本,并使每个用户的系统负担应用程序端处理开销相比,这是一种更为精致、安全和廉价的解决方案。

    如果需要在本地计算机上实现高端或者要求相对较为苛刻的应用程序,将会出现什么样的情况,计算机电话就是一个不涉及人员用户的绝佳例子。

    计算机电话系统并不是一个微小或微不足道的应用程序,计算机电话应用程序经常需要访问在本地安装的数据库,这主要是因为,在电话线上成百上千的主叫用户等待服务访问时,网络等待(即使以毫秒计)是一个令人无法接受的选择,为高端应用程序使用文件/服务器系统架构可能导致灾难。计算机电话系统包含几个电话卡,这些电话卡可以应答来自多个渠道(在某些系统中,同时出现的所有呼叫数量可以高达数百个呼叫/服务器)的呼叫。诸如Jet或BDE(旧式Paradox引擎的继承产品)的文件/服务器数据库引擎无法在经常长期持续的高峰时期,处理数量激增的读写请求。每个数据请求或数据库写入实质上是到数据库的用户连接,用户线程通过计算机电话应用程序连接到数据库服务器。某些数据服务请求可能十分简单,如检查分机号,或转发呼叫前等待的电话号码,但其他请求则可能会十分复杂,如记录音频信息,或接受传入的传真数据流。

    从负载方面讲,Internet应用程序与计算机电话应用程序大同小异。比如你可能有一个嗡嗡作响的证券交易服务器,以通过Web来服务适量的购买和销售交易。但猛然间,交易量徒增,即使十个服务器也可能不会满足当时的要求。如何来处理这些比较棘手的问题,SQL Server在多层或者n层客户端/服务器系统中扮演重要级选手的能力将显示出来,发挥其巨大的威力。在高流量的Internet环境中,会出现客户端不执行任何数据请求的情况,客户端除了在浏览器中显示数据外将什么也不会做。此时,大量的“客户端”进程可能因为各种各样的原因,开始连接到多个SQL Server实例。可以根据不同的要求,将事务处理交付给各种遗留服务,如COM组件服务(旧称Microsoft Transaction Server,或称MTS)和Microsoft消息队列服务(Microsoft Message Queuing Service,MSMQ),或全新的SQL Server服务代理技术。此类技术对于诸如网上银行的应用程序来说至关重要。以转账为例,你首先要使服务器确保①虽然要使用诸如Internet的不可靠连接,也要使帐户A转出的资金等于账户B转入的资金;②并能够将事务的执行和结果(成功或者失败)正确的传达给用户。

    SQL Server的客户端/服务器架构不支持极大流量情况下的传统大型机式负载平衡。它不在承载数据分区的服务器之间的共享工作,相反,服务器的相互协作,结成服务器“联盟”来共享负载,“联盟”是一个SQL Server的术语,它的基本含义类似于服务器工厂,允许客户端针对同一服务,连接到任意数量的服务器上。

    SQL Server受益于Windows Server平台和客户端/服务器架构的大量新扩展性、可靠性功能以及真正意义上的关键任务工具,一个新功能是数据库镜像,它将源服务器的事务日志复制到单个目标服务器,如果源系统崩溃的话,应用程序可以立即重新连接到目标服务器的数据库上。恢复实例可以在数秒内检测出主系统的故障,并接受来自客户端的连接。在执行这项工作时,你不必掌握任何特殊的数据库镜像技术和共享存储技术,也不需要安装支持这些技术的任何专门硬件,简单方便,并且具有很高的可用性。

    参考文献:

    [1]张晶,李心广.SQL Server Mobile数据库的开发与设计[J].计算机应用与软件,2008(08).

    [2]谷震离,杜根远.SQLserver数据库应用程序中数据库安全性研究[J].计算机工程与设计,2007,28(15).

    [3]李强.基于C/S体系结构的电器生产企业管理信息系统[J].计算机工程与应用,2001(10).

    相关热词搜索: 浅谈 架构 客户端 服务器 Server

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网