仓酷云

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

[学习教程] MYSQL编程:散布式事件处置

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

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

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

x
越来越多的开发者将继续选择MySQL。Evans的总裁JohnAndrews表示,MySQL学习教程用户对MySQL和其他开源数据库的评价正在赶上甚至超过很多专有商业数据库软件。散布式|事件处置散布式事件处置
张健姿01-6-22下战书04:48:27

美国Sybase公司于今年七月发布了PowerBuilder6.0的Beta版,正式的版本也将于不久的将来推出,其中对分布式事务处理的撑持是新版本中增强得最多的功能。早在1995年,PowerSoft公司就提出了在“分布式事务”方面的发展战略,并在1996年发布的PowerBuilder5.0中支持了分布式事务处理的功能,笔者在以前的讲座中也曾经讨论过有关如何创建散布式PowerBuilder应用的问题,但是得到读者反馈意见却很少。以往,一个使用PowerBuilder开发客户/服务器应用软件的程序员是较少会想到使用分布式事务来分割应用的,因此一般的用户对分布式事务的概念和意义也不甚了解,这里我们来进一步讨论一下分布式事务处理及其应用。三级体系结构首先我们介绍三级体系结构这一概念。所谓级是指一种功效划分,我们以往所开发的数据库应用软件一般是基于客户/服务器结构的,我们称之为两级体系结构。也就是说整个系统可以分成两个功能块,第一级包括了软件的应用层和表现层,驻留于客户端。我们使用PowerBuilder开发出的应用主要用于第一级,运行于客户端。第二级包含数据库和服务器的组件。一个基于SQL的数据库管理系统一般安装在服务器端,应用软件在服务器端进行的操作主要是数据存储和检索。在两级模式中会有一些应用逻辑以存储过程和触发器的形式存储在服务器端,以优化服务器的性能,但尽年夜多数的应用逻辑是放在客户端的。三级模式是将系统分为有三个不同的“级”:表现级,贸易逻辑级和数据访问级。表现级是处理用户界面的功效;数据访问级是数据源,在通常状况下指数据库;商业逻辑级是新增加的一级,指程序中作出智能决策的那一部分功能。在早期的应用中,这一部分的功能并不十分复杂,一般将其放在表现级即可,另有少量以存储过程或触发器的形式放在数据访问一级,而跟着软件工程的发展,软件的日益复杂,软件中功能增添最多的就是在这一级。一个MIS系统的功能由早先的对某一个表的简单查询,发展到涉及多个表的分类统计求和,根据复杂的公式分析计算,进行决策支持等,如将这些增强的功能仍全部放置在表现级,会使得客户机越来越不堪重负,因此就有人提出在系统中将商业逻辑分离出来,单独形成了一级,这就形成了三级结构。随着三级结构的进一步发展,一般总是把运行在商业逻辑级的软件编写成为了一个为客户机所调用,能够完成一定的逻辑功能的专用软件,同数据库服务器相区别,我们称之为应用服务器。在一个网络中,可以有着多个不同功能的应用服务器,为客户机或其它的应用服务器提供专业服务,这样,三级结构就发展成为了N级,这就是所谓的分布式计算体例。分布式计算的优势:采用分布式计算有着多方面的技术优势,包括:逻辑封装性:这是分布式模式中最具诱惑力的特征,这种模式的根基在于将以往全部由客户机完成的事务逻辑中的一部分从客户端分开。当使公司需要动态改变一个应用软件的商业逻辑规则时,只要改变一个应用服务器的程序即可,而不需要更改客户端用户界面,这样就无需中断用户,为最终用户重新发放新的界面软件或亲自上门为其安装调试并重新培训用户,提高了工作效率。这种多级模式对于需经常、快速改变使用程序的行业很有帮助。瘦客户机:这种类型的应用在运行时最显著的特点就是减少甚至消除了传统的两级体系结构中,以客户机为中心或称为“肥客户”的模式,减轻了客户机的功能负担,使其消肿成为了“瘦客户”。“肥客户”是用户感到十分苦末路的事变,用户为使用更强功能的软件,就必须付出高昂的维护费用,不断地为个人电脑的软硬件设备升级。克日流行的NC也正是看到一般用户在维护PC机运行时包袱过重,而提出通过网络将一部分的任务交给了服务器完成。这两种方法有着相通之处。功能:性能的提高是三级模式最终被用户采用的主要缘故原由。将复杂的应用和商业逻辑分离出来由专门的一台应用服务器来处理,既可以提高应用的执行速度,也可以减少网络调用的通讯量。不过这种性能提高是有一定代价的。这就是开发时要将应用逻辑分割为客户端逻辑和服务器端逻辑,这就增加了设计的复杂性。安全性管理:在分布式计算模式中,由于所有的商业逻辑都驻留在服务器端,信息管理部门就可以十分方便地监控服务器的运行情况,很容易地控制访问服务器和与服务器应用打交道人员的数量。这可以年夜年夜简化管理员对系统的管理,减轻系统维护的工作量,并确保系统的可靠运行。分布式事务处理最广泛和最成功的应用当数Internet/Intranet手艺了,尽管许多人并不意识到Internet就是一个三级体系结构的代表。随着Internet/Intranet使用的不断深化,用户对Web服务器所查询的信息就不只局限于以文件方式存放在服务器端的静态的超文本文件了。这时我们需要借助关系型数据库来存放变化的数据,并在Web服务器与数据库服务器之间以JDBC、CGI等协议建立起两者的毗连,使Web服务器能够实现对数据库的即席查询,并将结果返回浏览器。我们可以发现,在这样一个Intranet布局中,浏览器--Web服务器--数据库服务器就分别对应于客户端--应用服务器--数据库服务器三级体系结构中的三个环节,Intranet就是一个典型的三级体系结构的使用。因此,我们可以认为,Internet模式的技术优势如用户界面简单,管理人员易于维护等也正是多级计算体例的优势所在。此外,由于PowerBuilder支持分布式事务处置,这就使得PowerBuilder很容易地支持了作为分布式事务的特例---Internet的开发了。分布式应用的开发尽管分布式计算是一个较新的概念,但是使用PowerBuilder开发分布式应用却十分简单,只要您会使用PowerBuilder中的用户自定义的不可视对象,您就会很快地掌握分布式PowerBuilder的开发。在PowerBuilder中,应用服务器一端的功能都是经由过程不可视用户对象实现的,开发人员可以将PowerBuilder的自定义用户的对象放于应用服务器一侧,被称作远端对象,在客户端放置该用户对象的代理对象。此外,在服务器一侧有一个新的transport对象用于监听任何一个用户或其它应用服务器的请求,在客户端有一个connection对象用以建立同远端对象的连接。客户端的应用程序通过connection对象连接应用服务器,连接建立后,客户端的应用就可以象调用本地对象一样调用应用服务器上的对象函数了。当然,我们这里指的用户可以是一般意义上的客户,也可以指应用服务器以一个客户的身份调用其它应用服务器。远真个用户对象中的商业逻辑可以是采用PowerScript编写的,作为一个不可视用户对象的特例,这个对象可以调用任何函数或使用数据库命令,它也可以使用不可视的DataStore来封装数据库访问,PowerBuilder5.0可以支持除可视对象之外的所有的数据类型。在客户端使用这种形式调用就象在使用存储过程一样将参数通过网络传递给服务器,服务器的运行结果返回客户端。WindowsAzureSQLDatabase并不支持数据压缩和表分区之类的功能,而且SQLDatabase支持的Transact-SQL语言只是完整版的一部分。另外,因为解决方案提供商不能控制物理资源,所以他们不能将数据文件和索引分配给特定的硬件。
爱飞 该用户已被删除
沙发
发表于 2015-1-17 06:49:57 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
板凳
发表于 2015-1-20 14:22:50 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
若相依 该用户已被删除
地板
发表于 2015-1-29 09:02:09 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 00:08:16 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
兰色精灵 该用户已被删除
6#
发表于 2015-2-14 12:18:58 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
莫相离 该用户已被删除
7#
发表于 2015-3-4 06:18:06 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
小妖女 该用户已被删除
8#
发表于 2015-3-11 17:45:37 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
因胸联盟 该用户已被删除
9#
发表于 2015-3-19 04:26:23 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-27 08:02:36 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-1 12:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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