如何使用SQL Server 2008创建企业规模解决方案
 

2009-05-22 作者:Geoff Allix 来源:MSDN

 

创建企业规模解决方案

Microsoft SQL Server 2008 Analysis Services 的设计目的是要提供出色的性能和巨大的规模,以支持带有数百万条记录和数千名用户的应用程序。创新的合并工具有助于提高开发人员的工作效率,并能带来更优的设计和更快的实施速度。

开发人员的高工作效率

开发人员要创建和部署解决方案,一般都需要学习和使用多种工具。不过有了 Analysis Services 之后,在整个开发周期中,从项目开始到开发和部署,开发人员都可使用 SQL Server Business Intelligence Development Studio(BIDS)。由于 Business Intelligence Development Studio 以 Visual Studio 开发环境为基础,因此它可与 Visual Studio Team System 实现完全集成,从而提供设计、开发、协作、优化和测试资源。在它提供的集成式直观环境中,开发人员的工作更快且更有效率。而且,为进一步提高工作效率,BIDS 还提供了复杂的 Business Intelligence Wizards(商业智能向导)。一套使用简单的向导可帮助大多数新用户对商业智能问题进行建模,这使得大量人员和组织能够更方便地参与 BI 项目的开发。

早期开发阶段的设计效率低下往往会浪费大量开发时间,因为开发人员已经完成的工作是以不正确的设计为基础的,因此在修正错误后,需要重新设计。SQL Server 2008 Analysis Services 新引进了一套创新的 Best Practice Design Alerts(最佳实践设计警报),可在开发流程的早期阶段对潜在的设计问题自动发出通知,这会减少由于设计错误导致的时间浪费,并有利于实施更快的开发流程。图1显示了针对 Time 维度和 Calendar 层次结构的警报。在图1中可以看到,警报突出显示了问题区域,但它们不会以任何方式影响功能,可以简单地忽略或关闭单个或全部警报。

 

除了看到的实时警报以外,也可以浏览解决方案设计来查看所有警报。图2显示了某项设计目前提供的警报。

 

SQL Server 2008 Analysis Services 利用新的、改进的多维数据集、维度和属性设计器,进一步提高了开发人员的工作效率。图3显示了新设计的“Attribute Relationships(属性关系)”设计器。

 

可缩放的基础结构

Analysis Services 可以进行缩放,以支持许多规模达到兆兆字节并且服务于数千名用户的数据库。为支持许多用户、避免竞争及降低成本,可以缩小 Analysis Services 解决方案的规模,而缩小 Analysis Services 解决方案的规模一般需要增加处理和存储开销,以存储和同步几个版本的数据,但 SQL Server 2008 Analysis Services 可以在若干 Analysis Services 服务器之间共享一个只读的 Analysis Services 数据库,从而完全避免此类开销。

当系统的大小和用户数目增加时,对实时资源的监视变得极为重要。SQL Server 2008 Analysis Services 提供了与数据库引擎所用的类似的 Dynamic Management Views(动态管理视图)。这些特性提供了实时的企业系统信息,用于监视、分析和进行性能调整。

当数据库大小增加时,维护备份所需的时间和成本会相应增加。在处理 OLAP 数据库时,一旦数据库的大小达到一定规模,备份时间往往会按指数增长,但有了 SQL Server 2008 Analysis Services 之后,新的备份存储子系统会使备份时间随着数据库大小的增加按线性增长。这将消除备份大小的限制,因此也会消除数据库大小的限制。

当数据库变得更大时,可能会更难找到用户需要的信息。“透视”功能提供了覆盖数据市场所有优势的UDM筛选视图,消除了多余的存储、降低了处理成本、无需在数据市场之间执行同步,并消除了由于存储同一数据多个副本所导致的数据一致性和完整性问题。

随着全球化进程的日益发展,解决方案需要展示给全世界的客户。对于世界上的所有客户而言,数据一般都是相同的,但按照各种语言的要求,多维数据集、度量值、维度名称和级别、关键性能指标(KPI)等元数据均不相同。通过翻译可创建各种语言的不同元数据值,而且可对解决方案进行全局缩放。财务信息也需要进行本地化,要以适当的货币表示结果。Analysis Services提供强大的翻译功能和自动货币转换功能,能够以用户所用的语言本地化分析数据。

卓越的性能

Analysis Services 多维数据集是一种多维结构,可以快速访问大量的预聚合数据,使终端用户能够以思维的速度,洞察相关的业务数据。Analysis Services 以一种高度优化及压缩的格式存储其数据,此格式称为“Multidimensional OLAP(多维 OLAP,简写为MOLAP)”。它还能以 Relational OLAP(ROLAP)格式将数据(部分或全部)存储到关系数据库中,或以 Hybrid OLAP(HOLA)混合格式存储数据。MOLAP 的性能远远超过 ROLAP 和 HOLAP。

多维数据很少见,这是由其本质决定的。例如,您不会每天都在某个零售商的每家店里购买每种产品。SQL Server 与大多数 OLAP 系统不同,它不存储这些 NULL 值,因此数据库会显著缩小,从而避免了造成数据爆炸,也提高了性能。许多 OLAP 系统浪费大量查询处理时间将单元格中的数据与 NULL 值进行聚合,随之产生了 NULL 值。SQL Server 2008 Analysis Services 使用了一种称为“Block Computation(分块计算)”的技术,它利用了多维数据集的稀缺性,仅处理非 NULL 数据,以提高查询效率。这能够极大地提高查询效率,因此可以更细的粒度进行分析。

SQL Server 表现出卓越性能的另一个领域就是基于属性的层次结构。数据库通常都包含共享公共属性的层次结构。在大多数 OLAP 系统中,必须为各个层次结构都复制这些公共属性,但SQL Server 提供了基于属性的层次结构,无需进行任何复制,因而提高了性能和可缩放性。

“Writeback(写回)”是 Analysis Services 中的核心功能,使用户能够修改单元格的值。它常用于规划、预算和预测应用程序。Analysis Services 的旧版本要求以 ROLAP 格式存储写回数据。SQL Server 2008 Analysis Services 允许以 MOLAP  格式存储写回数据,因此能够显著提高查询和写回操作的效率。

主动缓存为 MOLAP 性能增添了实时分析特性。这是通过保持数据的最新副本而实现的,而且这些数据以 UDM 结构为基础,是专为高速访问而组织的。通过提供高性能、透明且同步的聚合缓存,避免用户使关系数据库负载过大。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织