欢迎来到天天文库
浏览记录
ID:20267145
大小:54.00 KB
页数:4页
时间:2018-10-08
《如何提高sql server数据仓库性能--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、如何提高SQLServer数据仓库性能>> 数据仓库通常是企业内部最大的数据库了。构建和管理系统是项大的任务,这些项目会由于众多用户提供的不兼容的输入而很快变得难以控制。提高系统的查询性能是可以实现的,但是必须要经过周密计划,随后还有具有远见的设计和开发阶段。在这篇文章中,我们将会列出获得并且为性能需求计划的一些技术,然后我们会在SQLServer上提高你的数据仓库性能。 需求 对于需要支持数百个GB到几个TB的数据系统而言,性能永远不会是你需要考虑的最后一件事情。当你收集数据仓库需求的时候,你就会被训练掌握用户性能需求的规则了。
2、基于这些期望,可以考虑以各种方式将数据传送给他们。 系统确立 一旦你确定了用户的需求,为系统的未来六个月到接下来的3年到5年内的增长作出一个估计。判断在经过一段时间之后用户的数量。接下来,判断哪些业务功能会平衡数据和缓慢的性能对他们生产效率的影响。这些估计都可以为你提供关于用户想要使用数据还有对他们对性能的期望的概念。现在是时候为分散的数据确定一个策略了。 数据传递 要理解用户是如何想要使用和访问数据是非常重要的。如果他们基本上每天看报告和一些随时的报告,那么你可以非常幸福地在这些时间之后完成大部分繁重的任务了。其中包括从操作系
3、统中载入数据,然后查询数据来构建和传递报告。这与支持一个几乎是实时的数据仓库是完全不同的过程,在实时的数据仓库中,数据必须要从操作系统中以小时为单位进行更新,以便决策可以及时到达各个部分或者整个企业。 应用程序选择 一旦你确立了系统和数据的传递,那么开始考虑支持数据仓库的基础架构吧。这不仅仅是硬件设备和数据仓库的SQLServer版本,还包括客户端应用程序和客户端硬件设备。你一定不会想要这样的情况,你有非常有力的SQLServer数据仓库,但是客户端机器却非常弱,几乎不能支持报告中的大量数据。另一个需要考虑的就是前端应用程序,这根据
4、供应商而定,从一个简单的接口到为你的业务定制的复杂特性。 SQLServer硬件设计 一旦你配置了你的硬件,那么要对整个IT企业内的系统进行修改,不明显增加时间上的投资是很难的。为未来作出计划。要么是购买一个可以让你升级CPU,内存,磁盘驱动器,控制器等东西的系统,并且你很自信你可以在未来的1年到3年购买设备;要么在最开始就购买一个超大马力的服务器,但是会在很长时间内支持你的需求。当涉及到配置磁盘驱动器以正确支持SQLServer,请参考我的文章优化SQLServer硬件性能。根据数据量,用户和预算的多少,你可能会考虑支持I/O需求
5、的SAN。 系统的生命 基于硬件,应用程序和用户需求,从IT的角度告诉你的用户这个系统的生命长度。让他们知道当前的系统将会在一段时间之内支持特定数量的用户需求。例如,这个系统会在三年之内支持50个并发用户,到那个时候,系统就需要重新评估了。 数据仓库数据库设计 基于报告和团队对数据仓库的经验,你可能会有一个或者多个数据库。在多个数据库的设计中,你可以为下列目标建立特定的数据库: 从操作系统中载入数据 从数据装载数据库中清洁行数据 为用户查询对数据进行合计或者摘要 归档数据 这些数据库都为开发人员提供了一种方式来从操作系
6、统中导入数据,操作数据,以确保它没有错误,然后再构建报告或者为用户的使用进行数据摘要。从性能的角度来说,把这些数据库分散到不同的磁盘驱动器上是有好处的。这可以防止I/O冲突导致的对系统间性能的限制。 从前在的数据库设计角度来说,支持数据装载的数据库可能会与操作系统匹配。经过清洁的行数据可以在空间上或者关系设计上满足数据仓库的需求。最后,数据库的合计/摘要设计可能会结合空间或者关系设计。对于单个的报告,它还可以简化为一个表来提供数据支持。 下一部分我将会解释一下归档数据。 数据管理 基于数据库对于数据类型的设计,要时刻注意数据集增
7、长的速度。例如,考虑将数据根据日期在逻辑上划分到小一点的表上去,例如每季度或者每月一张表。如果你可以在功能上划分数据,判断它是否具有意义。例如,如果你有数据,那么将所有的表放到同一张表上有意义吗,还是把它们分散到数据、家庭数据、公司数据、长途、本地等更有意义? 另外一个考虑就是与你的用户协商归档数据的频率。根据数据或者行业,你可能有一些法定的限制。数据量会对性能产生最大的影响。判断你的原始数据库是否可以支持有限时间长度,然后移动老一些的数据到归档数据库中,以同样的数据库设计。如果需要研究和报告的话,这个数据仍然可以接受访问,但是它不会
8、影响主数据库支持99%的查询。 SQLServer特性和配置 这篇文章中列出的很多项目实际上都与SQLServer无关,并且潜在地会被支持数据仓库的任何数据库平台使用到。现在我么跳到特别为SQLServ
此文档下载收益归作者所有