做网站的收入上海平台网站建设
news/
2025/9/24 7:31:02/
文章来源:
做网站的收入,上海平台网站建设,虚拟机中建设iis网站,大连seo排名优化SQL Server横向扩展方案-SODA每次在提到SQL Server扩展性问题的时候#xff0c;似乎很多的SQL Server DBA或者使用微软技术开发的朋友心里总是一整痛#xff1a;SQL Server只能纵向的扩展(Scaling-Up)#xff0c;无法横向的扩展(Scaling-Out)。每次有人提到Oracle和SQL Serv…SQL Server横向扩展方案-SODA每次在提到SQL Server扩展性问题的时候似乎很多的SQL Server DBA或者使用微软技术开发的朋友心里总是一整痛SQL Server只能纵向的扩展(Scaling-Up)无法横向的扩展(Scaling-Out)。每次有人提到Oracle和SQL Server第一句话就是SQL Server无法搞负载均衡而Oracle可以使用RAC。每次我问其他的SQL Server DBA朋友SQL Server自带的MirroringReplicationCluster难道不能搞负载均衡吗很多的人摇摇头。最后不能不选择第三方的方案。后来通过不断的实践和思考我明白了为什么很多的朋友对SQL Server的横向扩展能力不理解。其实SQL Server已经提供了横向扩展所需要的所有技术和工具但是如果单看每一种工具可能认为达不到目的但是如何把这些技术按照适当的设计和组合那么绝对就是满足功能的。另外做DBA的朋友可能在技术上面有一定的局限性。因为很多的DBA是“纯”的DBA很少懂应用程序的设计懂架构设计的人DBA就更加的少了。其中一个好的高性能的数据架构的做出需要多方面的知识需要既懂数据库(知识能力要达到专业的DBA水平)也懂架构的人。这样就可以将应用和数据很好的结合在一起。好了说了这么多希望对大家有些帮助不要“盲目的”相信一些传说和谣言特别是对刚刚踏入技术行业的朋友很容易让大家望而却步。言归正传我们来看看几种实现SQL Server横向扩展的方案1.Service Oriented Database Architecture (SODA)2.Shared Scalable Database (SSD)3.Peer-to-Peer (P2P) Replication4.Data Dependent Routing我们本篇就介绍这些方案以及实现的原理我们站点后续会根据朋友们的需要给出更多相关的讲解。数据的分类在讲述SODA之前我们先来看看考虑这样一个问题如何分割数据为什么要问这个问题因为很多的时候为了使得数据访问的性能更好合理的分布数据是一个非常好的手段。对于这个问题这个问题的回答有很多但是有一点是不变的要根据数据的特性来分割那么数据包含哪些特性呢或者说数据可以分为哪几种。下面我们就来看看这个问题。引用类的数据顾名思义引用类的数据就是指代那些被应用程序使用但是又不被程序所维护和管理的数据。一般而言引用数据往往是不变的数据或者是变化非常缓慢的数据。例如电子商务网站中的产品的分类数据。活动类的数据也是见名知意。主要是指与一些特定的活动或者业务处理相关的数据。例如在订单或者库存的系统中会随着业务的处理而产生出一些数据这些的数据的作用范围就是某个活动或者业务流程中一旦活动或者流程结束数据就没了除非处于某些特定的目的例如作为历史或者跟踪的数据进行存储保留。资源类的数据资源类的数据就是系统中的业务处理所依赖的核心数据例如库存数据用户用户订单数据等。如果资源数据丢失那么我们就无法处理业务所以资源类的数据是非常重要的必须保证它的高可用性和完整性。从这里也可以知道资源类的数据和其他类型的数据的分割和管理方式是不一样的甚至使用的配套的设备都可以不一样。另外因为SODA的引入出现了另外一种类型的数据服务交互数据。服务交互数据这一类的数据只要用了在是服务进行数据交互的。这类型的数据必须是被其他的服务理解而且必须保证稳定。例如如果一个订单的信息在传输的过程中丢失了那么信息的发送方必须要可以重新的产生和原先一样的数据然后再次发送。好大致的清楚了这些数据类型之后我们继续往下看。Service Oriented Database Architecture (SODA)相信大家对SOA都有所了解我这里也不长篇大论的讲SOA的细节但是有点要提的就是通过采用SOA像外界隐藏了内部的实现细节外面看到的都是一个个的服务不用管服务内部是如何部署采用什么技术平台采用什么数据库提供数据等等。SODA其实就是沿用了SOA的实现实现基于数据库的SOA。其实我们可以这样理解我们的数据库向应用程序或者其他的调用了提供了数据也就是提供了数据的服务。在很多的应用中我们都是采用比较直接的方式去访问数据库但是现在我们把数据库那一端封装起来隐藏细节然后以统一而标准的方式公布数据服务的接口告诉应用程序你甭管我是如何实现的反正你只要调用我的接口你需要的数据操作就完成了。此时应用程序和数据进行了解耦使得他们独立的保持变化极大的提升了灵活性和后续的扩展性。通过下面的图我们看看对SODA有个了解20120904105321.png(29.29 K)9/5/2012 10:37:13 AM采用了SODA之后我们基本上面就已经不知道有数据库这回事了因为此时我们只知道存在数据服务它可以满足我们一切的数据需要。在SQL Server中实现SODA主要基于Service Broker来进行的主要依赖下面的技术SQLCLRCacheSyncNative Web Service SupportService Broker。Native Web Service Support因为SODA会服务的形式发布数据所以肯定就需要一些基于web service的支持。在win2003以及以后版本就为基于SQL Server的SODA提供了支持。可以支持SQL Server将数据用SOAP形式进行交互。Service Broker提供了一个强大的基于消息的机制。CacheSync缓存同步机制。可以使得依赖底层数据的那么缓存在底层的数据方式变化的时候更新缓存中的数据。SQLCLR强化和扩展对数据库的编程使得相关的逻辑直接驻留在数据库中从而减少远程数据访问的开销。很多的朋友可能希望我们对上面的每一种技术以及SODA的具体的设计和使用有个详细的讲解这个我们以后会以视频的方式给出也会有一些文章发布但是文字的表述能力确实有限如果大家企业中需要我们可以提供专门的培训讲解。本系列文章主要是给那些已经懂的这些技术在技术选型上的朋友一些参考。也给那些不太熟悉这些内容的朋友一个感觉起码知道有这么回事。我们下篇文章继续讲述。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915207.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!