仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 543|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页编程之SQL Server 2005基于动静的使用程序先容...

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。  基于动静的使用程序并非一个新观点,但一向以来,重新编写如许的使用程序都相称坚苦。我将在一系列三篇文章中会商一个创建异步动静使用程序的新平台,本文为第一篇,我将在个中申明基于动静的使用程序这一观点,和一个创建包括在SQLServer2005中的这些使用程序的新型基本程序。
  基于动静的使用程序先容
  处置动静的使用程序是大致上会乐成的使用程序。实践上,年夜多半年夜型使用程序都使用了某品种型的动静处置。这类处置大概相称复杂,比方,把一个文件放在收集共享中,以便另外一个使用程序可以处置这个文件;以后,你就能够反省收集共享,看文件是不是失掉处置。
  固然这不是一个十分庞大的动静使用程序,但其面前的观点是一样的:提交一条动静,使用程序实行其事情。然后,再反省看是不是收到确认动静已失掉处置的信息。这类处置办法具有很多共同的长处:
  延期处置:偶然候,要想在给定的工夫处置某个义务的一切事情是不实在际的。很多时分,当你的使用程序可以处置的义务到达一个瓶颈点时,最好把剩下的义务交给另外一个使用程序举行处置。
  在线购置机票就属于这类情形。当你到一个网站购置机票时,你输出诸如动身乡村、抵达乡村、游览日期和随行搭客人数之类的信息。在你输出信誉卡信息后,你将收到一封确认电子邮件。在背景,某品种型的动静已被提交给另外一个实行哀求的服务举行处置。假如不克不及满意订票哀求,你收到的电子邮件就会申明这一点。
  这类处置的优点在于它加重了背景数据库体系梗塞的压力。并且,假如请求主顾长工夫守候网站切实其实认,年夜多半主顾城市感应十分不满。别的,假如一切处置义务都在一个单功效事件中完成,便可能产生严峻的逝世锁情形,从而负面影响在网站上购置机票的主顾的购置体验。
  散布式处置:一样平常来讲,最好尽量敏捷地处置一项义务。可是,偶然候很难断定有几待处置的义务、完成这些义务必要耗用几资本。上面我们看一个这类处置的实例。
  超市中有很多结账通道。通道的数目一样平常依据超市的资本来装备。偶然,比方礼拜六下战书,结账通道变得非常拥堵,主顾必需列队期待。只需超市的资本没有耗尽,超市就可以分派更多收银员给主顾结账。如许既可加速结账速率,又不至于影响超市的整体运作。
  一样的事理,动静使用程序也以类似的体例运作。假如你的使用程序充斥了待处置的哀求,一般应当增添别的一条处置行列来减缓体系的整体处置压力。
  微软动静行列
  如今你大概已体味到基于动静的使用程序带来的代价,你大概想晓得为何你没有常常传闻这类使用程序。次要的缘故原由在于,开辟这类使用程序是一个十分坚苦的义务。假如你企图编写本人的基于动静的使用程序,你要用年夜部分工夫来开辟处置动静的基本架构。
  好动静是,你不再必要开辟本人的动静基本架构。微软动静行列(MSMQ)供应一个开辟这类使用程序的框架。它使得使用程序能够在分歧品种的收集间举行通讯,而且必要包管动静传送(guaranteedmessagedelivery)、路由和可设置平安。MSMQ使用程序一样平常在以VisualBasic、C#或C++编写的使用程序中开辟,不外也能够用别的程序言语编写。这些使用程序在处置一般必要几步完成的义务时体现优秀。这时候,一个义务的每一个步骤必要逻辑抵达义务的下一个步骤,如一个营业事情流使用程序。
  数据库——不再只是用于存储数据
  已往20年来,我们对干系数据库体系的依附水平明显增添。最后,存储数据并对数据举行某种处置,是创建贸易干系数据库体系的次要目标。跟着干系数据库体系的开展,其功效和庞大性的变更,它的次要用处已由单一数据存储变化为加倍支流的贸易智能目标、加倍庞大的ETL处置、数据呈报、数据关照;在SQLServer2005中,它乃至已具有编写在数据库引擎中实行的.NETCLR言语代码的才能。因而,完整能够一定地说,数据库引擎已不再仅用于数据存储。
  ServiceBroker
  微软以为,同意你在数据库内创建基于动静的使用程序,如许才成心义。ServiceBroker是SQLServer2005中新增加的基本程序,次要用于在数据库引擎内创建基于动静的使用程序。这些使用程序在数据库引擎内利用新的TSQL布局而开辟。
  ServiceBroker使用程序以松懈毗连的使用程序而开辟,它具有高度可扩大性,并供应别的动静平台所不具有的功效,如动静组和谐和锁定。这些使用程序充实撑持事件,并可以超过数据库实例和服务器。
  后续会商
  在这个系列的下一篇文章中,我将先容ServiceBroker使用程序组件,并切磋它们之间怎样交互以组成一个ServiceBroker使用程序模子。
你会发现实际上MySQL可以更少地占用资金,前者的每CPU许可费用一般从4000美元到25000美元不等,而MySQL企业版的支持和维护成本就更低了。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 06:56:52 来自手机 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
若天明 该用户已被删除
板凳
发表于 2015-1-24 18:40:52 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
小女巫 该用户已被删除
地板
发表于 2015-2-2 11:52:31 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
因胸联盟 该用户已被删除
5#
发表于 2015-2-7 20:00:47 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
谁可相欹 该用户已被删除
6#
发表于 2015-2-23 09:48:02 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-7 07:43:28 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
兰色精灵 该用户已被删除
8#
发表于 2015-3-14 15:27:14 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
精灵巫婆 该用户已被删除
9#
发表于 2015-3-21 11:34:24 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 23:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表