以下是小编收集整理的如何提高SQL Server数据仓库性能(共含6篇),仅供参考,欢迎大家阅读。同时,但愿您也能像本文投稿人“小乞鹅”一样,积极向本站投稿分享好文章。
数据仓库通常是企业内部最大的数据库了,构建和管理系统是项大的任务,这些项目会由于众多用户提供的不兼容的输入而很快变得难以控制。提高系统的查询性能是可以实现的,但是必须要经过周密计划,随后还有具有远见的设计和开发阶段。在这篇文章中,我们将会列出获得并且为性能需求计划的一些技术,然后我们会在SQL Server上提高你的数据仓库性能。
需求
对于需要支持数百个GB到几个TB的数据系统而言,性能永远不会是你需要考虑的最后一件事情。当你收集数据仓库需求的时候,你就会被训练掌握用户性能需求的规则了。基于这些期望,可以考虑以各种方式将数据传送给他们。
系统确立
一旦你确定了用户的需求,为系统的未来六个月到接下来的3年到5年内的增长作出一个估计。判断在经过一段时间之后用户的数量。接下来,判断哪些业务功能会平衡数据和缓慢的性能对他们生产效率的影响。这些估计都可以为你提供关于用户想要使用数据还有对他们对性能的期望的概念。现在是时候为分散的数据确定一个策略了。
数据传递
要理解用户是如何想要使用和访问数据是非常重要的。如果他们基本上每天看报告和一些随时的报告,那么你可以非常幸福地在这些时间之后完成大部分繁重的任务了。其中包括从操作系统中载入数据,然后查询数据来构建和传递报告。这与支持一个几乎是实时的数据仓库是完全不同的过程,在实时的数据仓库中,数据必须要从操作系统中以小时为单位进行更新,以便决策可以及时到达各个部分或者整个企业。
应用程序选择
一旦你确立了系统和数据的传递,那么开始考虑支持数据仓库的基础架构吧。这不仅仅是硬件设备和数据仓库的SQL Server版本,还包括客户端应用程序和客户端硬件设备。你一定不会想要这样的情况,你有非常有力的SQL Server数据仓库,但是客户端机器却非常弱,几乎不能支持报告中的大量数据。另一个需要考虑的就是前端应用程序,这根据供应商而定,从一个简单的接口到为你的业务定制的复杂特性。
SQL Server硬件设计
一旦你配置了你的硬件,那么要对整个IT企业内的系统进行修改,不明显增加时间上的投资是很难的。为未来作出计划。要么是购买一个可以让你升级CPU,内存,磁盘驱动器,控制器等东西的系统,并且你很自信你可以在未来的1年到3年购买设备;要么在最开始就购买一个超大马力的服务器,但是会在很长时间内支持你的需求。当涉及到配置磁盘驱动器以正确支持SQL Server,请参考我的文章优化SQL Server 硬件性能。根据数据量,用户和预算的多少,你可能会考虑支持I/O需求的SAN。
系统的生命
基于硬件,应用程序和用户需求,从IT的角度告诉你的用户这个系统的生命长度。让他们知道当前的系统将会在一段时间之内支持特定数量的用户需求。例如,这个系统会在三年之内支持50个并发用户,到那个时候,系统就需要重新评估了。
数据仓库数据库设计
基于报告和团队对数据仓库的经验,你可能会有一个或者多个数据库。在多个数据库的设计中,你可以为下列目标建立特定的数据库:
从操作系统中载入数据
从数据装载数据库中清洁行数据
为用户查询对数据进行合计或者摘要
归档数据
这些数据库都为开发人员提供了一种方式来从操作系统中导入数据,操作数据,以确保它没有错误,然后再构建报告或者为用户的使用进行数据摘要。从性能的角度来说,把这些数据库分散到不同的磁盘驱动器上是有好处的。这可以防止I/O冲突导致的对系统间性能的限制。
从前在的数据库设计角度来说,支持数据装载的数据库可能会与操作系统匹配,
经过清洁的行数据可以在空间上或者关系设计上满足数据仓库的需求。最后,数据库的合计/摘要设计可能会结合空间或者关系设计。对于单个的报告,它还可以简化为一个表来提供数据支持。
下一部分我将会解释一下归档数据。
数据管理
基于数据库对于数据类型的设计,要时刻注意数据集增长的速度。例如,考虑将数据根据日期在逻辑上划分到小一点的表上去,例如每季度或者每月一张表。如果你可以在功能上划分数据,判断它是否具有意义。例如,如果你有电话数据,那么将所有的表放到同一张表上有意义吗,还是把它们分散到手机电话数据、家庭电话数据、公司电话数据、长途、本地等更有意义?
另外一个考虑就是与你的用户协商归档数据的频率。根据数据或者行业,你可能有一些法定的限制。数据量会对性能产生最大的影响。判断你的原始数据库是否可以支持有限时间长度,然后移动老一些的数据到归档数据库中,以同样的数据库设计。如果需要研究和报告的话,这个数据仍然可以接受访问,但是它不会影响主数据库支持99%的查询。
SQL Server特性和配置
这篇文章中列出的很多项目实际上都与SQL Server无关,并且潜在地会被支持数据仓库的任何数据库平台使用到。现在我么跳到特别为SQL Server准备的内容上去,看看它如何提高一个新的或者现有的数据仓库的性能。这些项目包括:
SQL Server 分区
分区是一个新的SQL Server 2005特性。在分区上,可以预先判断的基础文件群的数量内,水平分割表的数之范围之外再选中一卷或者多个卷。一个常见的分区卷就是日期卷或者对标进行的逻辑分组,例如区域、时区等。这会潜移默化地为大表上的查询提高性能,这在数据仓库中是很常见的,因为文件组都可以划分在多个基础的物理磁盘上,这可以提高I/O速度。你还可以为索引创建分区,同样也会提高性能。要获得有关分区的额外信息,请参考计划分区表和索引的指导。
如果分区表对你来说是个新事物的话,那么考虑使用Database Engine Tuning Advisor作为了解你的系统和分区特性的一种方式。数据库引擎调整指导为你提供一些性能改善的建议,其中就包括分区。只要保存SQL Server Profile会话的结果,数据库引擎调整指导可以分析这些结果,并且提供潜在的分区建议。要采纳这些结果要非常谨慎,并且充分计算了与分区建议有关的性能测量参数。接下来,用现有的配置和推荐的配置来测试性能测量标准以判断优势。
SQL Server 本地和分散分区视图
沿着同一条线,分区特性也是本地和分散的分区视图。本地视图包括了同一个服务器上的表和分散在可以认为是一组服务器联合的多个服务器的视图。这些视图对于查询位于多个地点的静态数据非常有好处。视图作为一种可以结合存储在潜在表中的水平数据的方式提供服务。要获得有关分区视图的更多信息,请参考创建分区视图。此外,查看联合数据库服务器。
最大并发程度是一项SQL Server配置,它可以让数据库管理员良好地调整优化器如何使用CPU。当激活最大并发数的时候,在SQL Server下是默认情况,所有的CPU都可以在并行处理中使用,余下的被非并行处理使用。这个配置可以改善CPU的能力,以获得更高的并发程度。要限制查询使用并发查询计划,根据查看你环境中的代表性查询的查询计划成本来设置并发配置的Cost Threshold。要获得更多有关并行最大数的信息,请参考并发选项最大数.
SQL Server数据库维护
数据仓库需要维护,就像是其他的关系型数据库引擎应用程序。当你开始这个项目的时候,确保列个时间表为每个负载规律地打开维护窗口,每周或者每月。小量的维护,例如索引重建和更新统计数字,长期进行都可以带来性能的提高。后台表的设计可以决定维护的时间。你可以在短期的维护窗口中与一些当前的维护处理一起执行处理,或者你需要更多的时间在非常大的表和索引上执行。你可以在SQL Server综合服务:简化数据库维护中的SQL Server 2005数据库维护中找到更多有用的信息
结论
提高你的数据仓库的性能在项目的任何阶段都是可能的。你可以通过在系统的生命周期中首先收集需求,然后构建一个满足用户需求的系统来获得最大的收益。SQL Server 2005提供了额外的优势来提高当前实现的系统,所以要确保找到这些功能来帮助你的应用程序。编码快乐……
因为项目还没有真正开始,但是接触BI已有半年多,手痒,这几天准备搞一个简化版本的BI项目,一 方面给刚BI入门的朋友一个参考,另外一方面也为自己的将要开始的项目做个准备,让自己能够考虑到 一些项目的细节。同时也希望对BI有研究的朋友提供一些建议和经验。因为我们的这个案例是采用微软 的sqlserver2005的BI平台开发的,所以这里先贴一张WebCast里面截来的图,这张图主要反映了采用 sqlserver2005的BI项目的架构。
好了,咱们开始吧。我说的这个项目需求很简单,因为是简化版本的么。这是一个游戏中使用到的物 品的销售分析软件。里面包括几个概念,游戏,销售部门,物品,交易金额,交易笔数,发布单数等,
我们要做的事情就是按游戏,按部门,按物品来实现对交易金额,笔数等的数据交叉分析。
在我们这个系统里面,我们的数据颗粒度是天。好了,既然是简化版,我们也就不用那么罗嗦,什么 需求分析,分析设计都省了吧,下面直接进入数据库设计。
我们的数据库一共包括四张维度表(部门维度,游戏维度,物品维度,时间维度),一张事实表(游 戏交易数据事实表)。
部门维度表
游戏维度表
物品维度表
时间维度表
交易数据事实表
由于我们的这个案例比较简单,所以维度与事实表之间的关系也比较简单,是一个简单的星型架构。
这一节我们就先写到这里,下一节我将会详细的写这个项目的ETL部分。
让CPU超频的方法
跳线设置超频
早期的主板多数采用了跳线或DIP开关设定的方式来进行超频。在这些跳线和DIP开关的附近,主板上往往印有一些表格,记载的就是跳线和DIP开关组合定义的功能。在关机状态下,你就可以按照表格中的频率进行设定。重新开机后,如果电脑正常启动并可稳定运行就说明我们的超频成功了。
图1是一款配合赛扬1.7GHz使用的Intel 845D芯片组主板,它就采用了跳线超频的方式。在电感线圈的下面,我们可以看到跳线的说明表格,当跳线设定为1-2的方式时外频为100MHz,而改成2-3的方式时,外频就提升到了133MHz。而赛扬1.7GHz的默认外频就是100MHz,我们只要将外频提升为133MHz,原有的赛扬1.7GHz就会超频到2.2GHz上工作,是不是很简单呢:)。
图1
图2则是一块配合AMD CPU使用的VIA KT266芯片组主板,采用了DIP开关设定的方式来设定CPU的倍频。多数AMD的倍频都没有锁定,所以可以通过修改倍频来进行超频。这是一个五组的DIP开关,通过各序号开关的不同通断状态可以组合形成十几种模式。在DIP开关的右上方印有说明表,说明了DIP开关在不同的组合方式下所带来不同频率的改变。
图2
例如我们对一块AMD 1800+进行超频,首先要知道,Athlon XP 1800+的主频等于133MHz外频×11.5倍频。我们只要将倍频提高到12.5,CPU主频就成为133MHz×12.5≈1.6GHz,相当于Athlon XP +了。如果我们将倍频提高到13.5时,CPU主频成为1.8GHz,也就将Athlon XP 1800+超频成为了Athlon XP2200+,简单的操作换来了性能很大的提升,很有趣吧。
BIOS设置超频
现在主流主板基本上都放弃了跳线设定和DIP开关的设定方式更改CPU倍频或外频,而是使用更方便的BIOS设置。
例如升技(Abit)的SoftMenu III和磐正(EPOX)的PowerBIOS等都属于BIOS超频的方式,在CPU参数设定中就可以进行CPU的倍频、外频的设定。如果遇到超频后电脑无法正常启动的状况,只要关机并按住INS或HOME键,重新开机,电脑会自动恢复为CPU默认的工作状态,所以还是在BIOS中超频比较好。
这里就以升技NF7主板和Athlon XP 1800+ CPU的组合方案来实现这次超频实战。目前市场上BIOS的品牌主要有两种,一种是PHOENIX-Award BIOS,另一种是AMI BIOS,这里以Award BIOS为例。
首先启动电脑,按DEL键进入主板的BIOS设定界面。从BIOS中选择Soft Menu III Setup(如图3),这便是升技主板的SoftMenu超频功能。
图3
进入该功能后,我们可以看到系统自动识别CPU为1800+。我们要在此处回车,将默认识别的型号改为User Define(手动设定)模式(图4)。
图4
设定为手动模式之后,原有灰色不可选的CPU外频和倍频现在就变成了可选的状态(图5)。
图5
如果你需要使用提升外频来超频的话,就在External Clock:133MHz这里回车。这里有很多外频可供调节,你可以把它调到150MHz或更高的频率选项上。由于升高外频会使系统总线频率提高,影响其它设备工作的稳定性,因此一定要采用锁定PCI频率的办法。
Multiplier Factor一项便是调节CPU倍频的地方,回车后进入选项区(如图6),可以根据CPU的实际情况来选择倍频,例如12.5、13.5或更高的倍频。
图6
菜鸟:如果CPU超频后系统无法正常启动或工作不稳定,我听说可以通过提高CPU的核心电压来解决,有这个道理吗?
阿萌:对啊。因为CPU超频后,功耗也就随之提高。如果供应电流还保持不变,有些CPU就会因功耗不足而导致无法正常稳定的工作。而提升了电压之后,CPU就获得了更多的动力,使超频变得更容易成功和稳定。
在BIOS中可以设置和调节CPU的核心电压(如图7)。正常的情况下可以选择Default(默认)状态。如果CPU超频后系统不稳定,就可以给CPU核心加电压。但是加电压的副作用很大,首先CPU发热量会增大,其次电压加得过高很容易烧毁CPU,所以加电压时一定要慎重,一般以0.025V、0.05V或者0.1V步进向上加就可以了。
图7
用软件实现超频
顾名思义,就是通过软件来超频。这种超频更简单,它的特点是设定的频率在关机或重新启动电脑后会复原,菜鸟如果不敢一次实现硬件设置超频,可以先用软件超频试验一下超频效果。最常见的超频软件包括SoftFSB和各主板厂商自己开发的软件。它们原理都大同小异,都是通过控制时钟发生器的频率来达到超频的目的。
SoftFSB是一款比较通用的软件(图8),它可以支持几十种时钟发生器。只要按主板上采用的时钟发生器型号进行选择后,点击GET FSB获得时钟发生器的控制权,之后就可以通过频率拉杆来进行超频的设定了,选定之后按下保存就可以让CPU按新设定的频率开始工作了。不过软件超频的缺点就是当你设定的频率让CPU无法承受的时候,在你点击保存的那一刹那导致死机或系统崩溃。
超频秘技
1.CPU超频和CPU本身的“体质”有关
很多朋友们说他们的CPU加压超频以后还是不稳定,这就是“体质”问题。对于同一个型号的CPU在不同周期生产的可超性不同,这些可以从处理器编号上体现出来。
2.倍频低的CPU好超
大家知道提高CPU外频比提高CPU倍频性能提升快,如果是不锁倍频的CPU,高手们会采用提高外频降低倍频的方法来达到更好的效果,由此得出低倍频的CPU具备先天的优势。比如超频健将AMD Athlon XP1700+/1800+以及Intel Celeron 2.0GHz等。
3.制作工艺越先进越好超
制作工艺越先进的CPU,在超频时越能达到更高的频率。比如Intel新推出就赢得广泛关注的Intel Celeron D处理器,采用90纳米的制造工艺,Prescott核心。已经有网友将一快2.53GHz的Celeron D超到了4.4GHz。
4.温度对超频有决定性影响
大家知道超频以后CPU的温度会大幅度的提高,配备一个好的散热系统是必须的。这里不光指CPU风扇,还有机箱风扇等。另外,在CPU核心上涂抹薄薄一层硅脂也很重要,可以帮助CPU良好散热。
5.主板是超频的利器
一块可以良好支持超频的主板一般具有以下优点:
(1)支持高外频。
(2)拥有良好供电系统。如采用三相供电的主板或有CPU单路单项供电的主板。
(3)有特殊保护的主板。如在CPU风扇停转时可以立即切断电源,部分主板把它称为“烧不死技术”。
(4)BIOS中带有特殊超频设置的主板。
(5)做工优良,最好有6层PCB板。
图8
上面就是让CPU超频的方法介绍了,你可以设置BIOS设置超频,也可以使用软件,但是要注意的是,设置CPU超频对硬件的损耗比较大。
1.如何提高的电脑的性能
2.如何提高电脑内存性能
3.如何提高电脑显卡性能
4.如何提高电脑的性能
5.如何设置电脑提高性能
6.如何提高电脑整体性能
7.如何提高电脑芯片性能
8.如何提高电脑磁盘性能
9.关于如何看电脑显卡性能
10.台式电脑如何提高性能
CPU在电脑中的重要性不言而俞,优化CPU的工具也真不少,大家知道计算机是由软件和硬件配合进行工作的,在硬件规格确定的情况下往往可以可以通过特定的软件对硬件性能实施一定程度的优化。
一、可优化CPU和芯片组性能:Powertweak
Powertweak是Powertweak公司于初推出的系统实用程序类共享软件,目前最高版本是1.03。Powertweak启动以后,会重新配置主板芯片组和CPU中的有关部件,使它们能够在工作中发挥得更好。Powertweak能够优化常见的各种主流CPU和芯片组,能够在各种主流操作系统(包括最新版本的win2000)上运行。 Powertweak优化的对象是CPU和芯片组内部不同组件之间数据传输的速度和相容性。目前Powertweak1.03的还存在一些兼容性的问题,比如无法与PentiumII+nVidia芯片配合,和PentiumIII配合也不太好。此外Powertweak优化的结果是暂时的,每次重新启动计算机,原来的优化设置即被清除,所以使用它不会永久地改变CPU和主板的硬件结构特性,可随时恢复到不优化状态。 Powertweak在安装的过程中能够自动探测用户当前使用的CPU和芯片组类型。安装结束后,通过“开始/程序”菜单中的相应指令打开设置窗口进行基本的设置,设置完成以后,重新启动系统,Powertweak即自动启动并采用已有的设置,使用户的CPU和主板芯片组被优化。
二、CPU降温兼优化:WaterfallPro
大家知道用软件可以对CPU进行降温,这方面的软件也有不少。随着软件降温技术的不断发展,有些降温软件比如Waterfall还具备一定的系统优化能力。新版的Waterfall支持几乎现在所能见到的所有的CPU类型(包括笔记本电脑使用的CPU),且与现在流行的大部分主板兼容,为用户提供了比较全面的选择。该软件具有如下特点:
1.最多可将CPU的温度降低30℃。
2.调整CPU的性能,让它能在最优状态下比较稳定地工作。
3.可以精确地测量与显示CPU的使用率,并能同时监控三个以上的周边设备,包含主板、硬盘等。
4.支持各种流行的主板,并且可以选择在系统发生问题前发出警报。
5.可节省笔记本电脑电池能量。即使在CPU全速运行时,也可以利用新的HTL(节流阀)技术降温,甚至还可以省下内部风扇的电源。
该软件安装过程非常简单,只要一路点Next就可以完成安装过程。软件安装完毕后,一开机便会自动执行,并且在桌面右下角的地方有一个图标,用鼠标直接在上面点一下,就能进入设定选单。选择“Option”选项里面的Setup选项,就可以针对你的主板以及CPU进行设定了。 设定时你首先选择你的CPU型号。之后是WaterfallPro2.1a对电压的设定,它不但提供了各种CPU的标准电压,还可以让你自行设定,给喜欢超频的朋友提供了很大的方便,
WaterfallPro2.1a对大多数常见主板提供了支持,在选择主板之后还可以对电源的各种输出电压,CPU以及电源风扇的电压进行设定。可以设定保护的上限和下限以及报警的声音。WaterfallPro2.1a还可以与Windows的DriveSpace、SystemInfo连结,即时显示各种系统资源与硬盘参数并对其进行优化, Waterfall也可以让你根据你的CPU选择是否使用HTL(节流阀)技术降温,记住设定完成后要将其最小化,它才开始优化你的电脑。
三、CPU超频软件
将CPU超频,是广大发烧友使用最多的“优化”手段。但以往的超频方法都是用主板跳线、BIOS 设置等“硬方法”。主板跳线超频很不方便,需要对照随机说明书,打开机箱,找到相应设置跳针,如果用户对计算机并不怎么熟悉,而随机说明书配置说明讲得又不是很清楚,这种硬跳线超频就非常危险。BIOS Jumpless免跳线超频需要用户熟悉计算机BIOS的确切含义,弄不好会把BIOS设置搞得一塌糊涂,如果超频不成功就必须清除CMOS ,又是一阵大动作。 不过有位天才设计出一套SoftFSB软件居然可以直接在Windows窗口下调节系统总线频率,达到超频目的。若超频成功,系统以后就将在此设定频率下工作,连重新开机都不需要:超频失败,重新开机,系统回到原来状态,丝毫不受影响。 所谓FSB,指的是Pentium Ⅱ的Front Side Bus,实际上就是系统频率,Intel只不过想表明Front Side Bus比以往传统的系统频率表现更好。SoftFSB通过软件改变时钟芯片(ClockGenerator Chip)部分寄存器(Register)数值,进而让该芯片根据这些数值产生相应的系统总线频率。目前许多Intel CPU的倍频被锁定,通过提高系统总线频率成了唯一的超频方法。SoftFSB 用法比较简单,如果你知道主板型号,那就通过选择主板型号来设定Get FSB项。也可以通过时钟芯片(Target Clock Generator)来设定Get FSB项,比较保险。
四、优化K6-2
AMD的K6-2曾是一款很受欢迎的CPU。直到现在还有不少的朋友在使用,但大多数主板都不能打开K6-2所独有的WriteAllocation功能,所以我们要想办法打开这项功能,可以去找一个名为Setk6的小程序,只有一百多kB,使用这个程序后,能使AMD系列CPU K5、K6、K6-2的效能提高7%~8%。此外一些CPU降温软件如RAIN,也能对K6-2优化。 K6-2最重要的技术特点在于具备3DNow!指令集。要使此技术得以发挥,需要在软件中加入对该技术的支持。比如现在大多数新显卡的驱动程序都支持3DNow!技术;微软从DirectX6.0后也对其进行了优化,而新版的OpenGL和3DfxGlide等应用程序接口也对K6-2的3DNow!指令集进行了优化。
-07-07使用cmd命令行窗口操作SqlServer的方法
-01-01SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以
2013-11-11SQLSERVER数据库升级脚本图文步骤
-03-03SQL语言查询基础:连接查询 联合查询 代码
-12-12SQL Server 的 SQL 语句导入导出大全
-09-09MSSQL 多字段根据范围求最大值实现方法
2009-09-09MSSQL 提取汉字实现语句
2007-01-01最长用最基本的MSSQL数据库备份与还原
-05-05分页存储过程(三)在sqlserver中打造更加准确的分页结果
2013-06-06sqlServer使用ROW_NUMBER时不排序的解决方法
sql根据表名获取字段及对应说明
使用xp_cmdshell注销Windows登录用户(终端
SQL 经典语句
SQL Server 2008的逻辑查询处理步骤
SQLServer 2000定时执行SQL语句
sql server中通过查询分析器实现数据库的
SQL Server 2005 还原数据库错误解决方法
数据库分页存储过程代码
SQL Server 海量数据导入的最快方法
TRUNCATE 快速删除表中的所有数据
SQL Server 2008图文安装教程
SQL Server 2012 安装图解教程(附
sqlserver中distinct的用法(不重
SQL Server导入、导出、备份数据
SQL语句去掉重复记录,获取重复记
SQL Server数据库入门学习总结
SQL Server错误代码大全及解释(
sql convert函数使用小结
sql 时间函数 整理的比较全了
用SQL语句添加删除修改字段、一些
★ 性能的造句
★ 性能的近义词