数据仓库通常是企业内部最大的数据库了。构建和管理系统是项大的任务,这些项目会由于众多用户提供的不兼容的输入而很快变得难以控制。提高系统的查询性能是可以实现的,但是必须要经过周密计划,随后还有具有远见的设计和开发阶段。在这篇文章中,我们将会列出获得并且为性能需求计划的一些技术,然后我们会在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个并发用户,到那个时候,系统就需要重新评估了。