让SQL Server为工作负载高峰提前准备

毫无疑问,许多电子商务网站都经历过假期的高访问量。例如,1-800-Flowers.com公司(1-800-Flowers.com网站)就在情人节、母亲节、圣诞节、复活节、感恩节、秘书节,以及团队感谢周那一天遇到了剧增的订单。还有其他大多数的在线零售商也都经历过从感恩节一直持续到12月26日的订货高峰期。

那么你从这些公司身上可以了解到,他们需要保持高可用性,快速运行的数据库。下面我将按照以下的总体概念和清单,讨论几种你可以应对高峰来临的方式。

可用性方法

集群

高可用性通常包含了集群。当你需要较高级别的正常运转时间的时候,你需要对SQL Server进行集群,由以下几部分组成,有几个节点集合在一起形成的一个单个实例的集群,他们在面对客户的时候表现为一个单个的节点。如果集群中的一个节点掉线了(由于SQL Server错误,硬件错误或者维护),其他的节点将会自动接过它的工作负载。客户根本不需要重新连接到其他的节点上,因为这些节点都连接到一个虚拟的服务器上,它漂浮在所有活动节点之上。

集权提供了对硬件和软件错误的自动错误容忍,但是它通常不会提供对本地错误的容忍(例如,放置集群的大厦或者房间内的电源坏了)。注意力应该放在消除单个点的失败,例如冗余电源供应或者备用的发电机能源。

地理集群和负载均衡

其他的高可用性方法包括地理集群,集群节点分布在不同的位置上;或者地理负载均衡,IP地址客户可以在主要的数据中心和灾难恢复网站之间交换。

EMC公司,日立数据系统公司,还有现在的收购了赛门铁克的Veritas软件公司都提供了硬件的数据镜像,它可以提供持续的复制,这样灾难恢复网站就可以保证拥有你的数据的实时拷贝。硬件数据镜像工具可以用于连接地理IP解决方案,为灾难恢复网站提供自动化的错误恢复。

缩小规模

你还可以利用缩小规模的方法来将你的数据分散到多个工作机器上。不再让1000个用户都连接到一个SQL Server上,而是让10个SQL Server上分别连接100个用户。你的数据访问模式必须要与此相匹配,客户连接到哪个SQL Server都没关系,或者你必须要激活粘性会话。通过这种方式,每个客户在其会话长度内都连接到一个单个的SQL Server上。

例如,如果你的联盟中有10个SQL Server提供分类信息,并且在这10个SQL Server之间的数据也是相同的,那么客户连接到哪个SQL Server上,然后又重新连接到哪个SQL Server上,这都没有关系。SQL Server 2005中的点对点应用程序就被恰好是为这种类型的缩小规模设计的。

注意,SQL Server不能自动将负载分散给其他的SQL Server。你需要均衡网络负载,一边将负载分布到多个网络服务器上,并且联盟中的每个网络服务器上都安装一个或者多个SQL Server。

理解工作流

电子商务公司整年都在准备他们的旺季销售高峰。系统架构师研究工作流,以便于理解事务中的哪一个处理是必需的,哪一个可以是批量处理的,哪一个是可以从其他机器的并行处理中受益的。

考虑一下一般的下订单的操作。输入信用卡并且在网页上经过验证,确保数字以某个序列开始,并且满足一定的长度。这个步骤可以在浏览器上进行,这样就可以不用占用网络服务器的处理器周期。信用卡交费通常是没有经过授权的,因为网络服务呼叫会在这一点上慢下来,导致整体的可测量性解决方案等级下降。如果不需要网络服务呼叫认证每一个信用卡事务,那么电子商务网站就可以支持好几千个,甚至更多的页面。信用卡将会在稍后大批处理过程中进行处理。

正如上面的例子所演示等,通过仔细查看工作流,系统架构师辨认出可以异步执行的处理,那么整体的可测量性方案等级将会上升。

时间: 2024-08-04 12:50:56

让SQL Server为工作负载高峰提前准备的相关文章

SQL Server中提前找到隐式转换提升性能的办法

原文:SQL Server中提前找到隐式转换提升性能的办法     http://www.cnblogs.com/shanksgao/p/4254942.html 高兄这篇文章很好的谈论了由于数据隐式转换造成执行计划不准确,从而造成了死锁.那如果在事情出现之前发现了这类潜在的风险岂不是更好?     那么我们来看一个简单的例子,如代码清单1所示.   1: SELECT * 2: FROM HumanResources.Employee 3: WHERE NationalIDNumber = 2

深讨 SQL Server 2008

早在08年随着微软推出Windows Server 2008.Visual Studio 2008面世半年多之后,微软新一代服务器产品阵线的另一成员SQL Server 2008也正式出炉.可以说,SQL Server 2008在数据库领域里给予微软很大的信心,这样的数据库不免让IT管理深感兴趣,看到它在各方面都有了显著的进步,这些都有可能极大地影响企业的采购意向. 作为微软一个重大的产品版本,SQL Server 2008除了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL

SQL Server 2005终于出RTM了

server     SQL Server 最新的一次发布是在五年前了.这个产品的到来被推迟了好几次.    终于,上个星期,微软在礼拜四发布了期待已久的SQL Server 2005最终版本,同时还有Visual Studio 2005 和 Biztalk 2006,比原定的11月11日正式发布日期提前了一个多星期.    微软从开发SQL Server 2005 的第一天起,就为了增强它的信心而制定了漫长的开发周期.正如报道中说的,数据库镜像没有成为RTM的一部分.微软的官员说他们拿掉了这个

SQL Server 2005可伸缩性和性能的计划(1)

本白皮书提供了关于不同报表服务实现架构中可伸缩性的相关内容.也提供了一些基于使用Microsoft SQL Server Reporting Services完成您自己的性能测试的指导方针.建议和提示. 简介 Microsoft SQL Server Reporting Services是一个报表平台,包括可扩展和可管理的中央管理报表服务器和可扩展的基于Web.桌面的报表交付.报表服务是微软综合商业智能平台的重要组成部分.对于许多组织,通过报表来交付信息是一个非常重要的日常商务环节.因此,报表性

SQL SERVER 2005数据库镜像(2)

现在来关注一下数据库镜像状态,从主服务器和数据库开始. 主服务器数据库状态 当safety设置为FULL,主数据库的正常操作状态时SYNCHRONIZED状态.当safety设置为OFF,主数据库的正常操作状态是SYNCHRONZING状态. ◆如果safety设置为FULL,主数据库的起始状态始终是SYNCHRONIZING,当主数据库和镜像数据库事务日志同步后,数据库状态就转换成SYNCHRONIZED, ◆如果safety设置为FULL并且主服务器断开了和见证服务器的连接但依然可以进行事务

T-SQL命令在SQL Server查询中的运用

server 首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的. 从表面上看,查询性能的调节是一件十分简单的事.从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行的时间从10分钟缩减为1分钟,还是将运行的时间从2秒钟缩短为1秒种,我们最终的目标都是减少运

微软宣布SQL Server 2005功能及售价

server|微软 微软已经宣布出即将来临的SQL Server 2005数据库的最终功能以及售价,主要分为开发者版和标准版. SQL Server产品管理经理Tom Rizzo表示,微软目前正忙于准备SQL Server 2005的发布,它计划在今夏推出.微软提前宣布该产品的特性以及最终定价,是为了帮助购买者更新他们的购买条款.因为在未来两个月,许多用户需要更新购买条款. ,除即将来临的SQL Server 2005产品线会分为开发者版和标准版之外,微软还新增了一个SQL Server 200

从SQL SERVER 向ORACLE 8迁移的技术实现方案

oracle|server  不知道从哪里得到这个文档,有用就放上来了 -gwb  数据库端SQL语法的迁移以下为常用的SQL语法迁移,包括数据类型.ID列向SEQUENCE迁移.表(主键.外键.CHECK.UNIQUE.DEFAULT.INDEX).游标.存储过程.函数.触发器.常用SQL语法与函数几个方面,考虑SQL SERVER的实际情况,没有涉及ORACLE特有的PACKAGE.EXCEPTION等.在以下的描述中,将SQL SERVER的TRANSACT-SQL简称为T-SQL.在OR

SQL Server 7.0性能和Benchmark得分

server|性能 疑惑SQL Server 7.0比SQL Server 6.5或比其它企业级数据库系统强在何处?请阅读SQL Server 7.0的工业标准Benchmark得分和创记录的性能指标. </p><p> 一.工业标准 评价硬件和软件的理想方法,是组织机构比较不同的系统,在一定的工作负载下检测其性能,评估发展潜力和估算费用.当然,一般不会有组织机构有足够的时间和资源进行所有的测试,所以他们采用经过精心设计.可信度高的工业标准基准(Benchmark)测试. Micro