当前位置:合肥网站优化 > seo网站优化 >

删除事务处理中的商业智能

来源:懒猫seo博客  作者:懒猫  发布时间:2020-08-13 14:48:23  阅读:  分类:seo网站优化

导读:把业务系统和产品系统分开,删除数据库系统中的产品智能。考虑公司的内部需求以及在产品内或产品间传翰数据的情况。从数据库中删除存储过程,把它们放在应用逻辑中。不要在企...

把业务系统和产品系统分开,删除数据库系统中的产品智能。考虑公司的内部需求以及在产品内或产品间传翰数据的情况。从数据库中删除存储过程,把它们放在应用逻辑中。不要在企业系统和产品系统之间进行同步调用。把应用逻辑放在数据库中成本很高且难以扩展。把企业系统和产品系统绑定在一起,成本也很高,不仅难以扩展,可用性也令人担忧。由于许可和单一系统的特性,数据库和内部企业系统的扩展成本会很高。因此,我们希望它们能专注于执行特定的任务。就数据库而言,我们希望它们能够专注于事务而不是产品智能。就后台办公系统(商业智能)而言,我们不希望产品与系统的扩展能力联系在一起。对于业务系统的数据,采用异步传输模式。我们常常告诉客户,要避免在关系数据库中使用存储过程。他们的第一反应通常是:“你们为什么这么讨厌存储过程呢?”其实我们并不讨厌存储过程,我们在很多情况下也在用它们。但问题在于,存储过程经常在解决方案中被过度使用,而这种过度使用有时会造成系统中的扩展瓶。既然这个原则强调的是数据库方面的问题,那为什么不把这个原则放在数据库那章中呢?事实上我们关注存储过程的真正原因是,我们主张把商业智能和产品智能与事务处理区分开来。一般说来,这个主张可以进一步概括为“把相似的事务放在一起(或者说把不同的事务分开)以获取最大的可用性和可扩展性以及最低的成本”。这样的表述可能不太好理解,因此让我们仍以存储过程和数据库为例,说明为什么需要这种区分。在你的架构中、数据库可能是最贵的系统或服务之一。即使采用的是开源数据库,这些系统所在的服务器也可能会连接到成本相对较高的存储解决方案(相对于你其他的解决方案而言),它们具有最快、最大数量的处理器以及最大数量的内存。在成熟的环境中中,这些系统通常都被用于做一件事情、即执行关系操作,并把事务尽可能快地提交给稳定的存储引。这些系统上的每个计算周期的成本都比架构中的其他解决方案或服务(如应用服务器或web服务器)要高。这些系统是某些服务的汇集点、也是泳道的定义点。在极端情况下,如在架构的初期,这些系统所占的比例可能更为巨大的,那么它们显然是影响整个环境的扩展的决定性因素。出于以上这些原因,把这种昂贵的计算资源用于业务逻辑几乎是毫无意义的。这时每个事务所花的成本会增加,因为处理这些事务的系统的操作成本更为昂贵了。同日时这个系统本身也可能是影响我们扩展的决定性因素,那么为什么我们还要浪费生产力在它上面运行与事务处理不相关的操作呢?因此,我们应该让这些系统只处理与数据库(或相关的存储或NOSQL)相关的事务,以便让它们做自己最擅长的事情。这样我们不仅提高了可扩展性,还能减少扩展成本。
原创声明:本站所有文章皆由懒猫原创,转载请注明出处与原文地址:http://www.lanmaoseo.com/seowzyh/6760.html
版权:【本站部分转载文章能找到原作者的我们都会注明,若文章涉及版权请发至邮箱:1695770950@qq.com,我们以便及时处理,可支付稿费。向本站投稿或需要本站向贵司网站定期免费投稿请加QQ:1695770950】
更多信息请关注微信:18621662294
技术支持每天都在等您哦!