学院首页>网络编程>SQL Server>[Sql server]2005商业智能价值评估

[Sql server]2005商业智能价值评估

作者:unknown 来源:microsoft 添加时间:2006-5-26 10:03:48

有些数据转换任务需要复杂逻辑,例如模糊匹配、模糊分组、时间维度生成以及旋转或反旋转。其他常见任务(例如维度键管理)则需要多个步骤。特殊技术和向导使这些复杂技术可供所有用户使用。

转换后的数据可以写入异类目标,其中包括 SQL Server 表、OLEDB 数据库表、平面文件以及原始文件。

• •

转换后的数据可以与 Microsoft BI 解决方案的其他组件集成,其中包括 Analysis Services 数据库和数据挖掘模型。

由转换步骤所导致的错误流可以以多种方式进行管理:

• 进程内转换可以“修复”数据并重新提交主要流。

• 错误流可以被记录到表或文件中,以备脱机研究和重新提交。

• •

其他转换和目的可以由 Microsoft 及其合作伙伴轻松开发。

开发和调试

SQL Server 2005 的 DTS 功能 企业 ETL 开发 ETL 平台

包开发商可以在每个控制流任务中定义控制流断点。在调试过程中,断点可以定义在某些任务执行点之前、之后,或定义在这些任务执行点。

包开发商可以为数据流中的每个转换附加一个数据查看器。在调试过程中,数据查看器会显示在该点的转换后数据流内容。

Business Intelligence Development Studio 寄宿在 Visual Studio 中。脚本及其他编程任务可以充分利用该企业开发环境的优点。

• •

包开发可以帮助用户将所有包组件(包括自定义脚本和可执行程序)捆绑在一起,以用于发行测试、生产或其他客户系统。

可供 DTS 2000 开发人员使用的 DTS 2005

DTS 2000 用户已经开发出了一套执行复杂操作的技巧。这些技巧,尤其是编写自修改包,在 DTS 2005 中不再有用武之地。在 DTS 2005 中要使用变量和配置基础结构来编写动态包、不要再试图编写自修改包。

配置良好的变量和配置基础结构还可以减少创建复杂子包系统的需求。如果设计完善,单一包便可满足多种需求;例如,单一包可以在多种不同配置中重复使用,以用来在维度数据仓库中加载许多维度表。在 DTS 2000 中,一个复杂的 DTS 包网络可能包括 50-100 个包;而在 DTS 2005 中,一个复杂的网络可能只包含 10 个包。

Analysis Services

SQL Server 2000 Analysis Services 由两个主要的互补功能组成:联机分析处理 (OLAP) 和数据挖掘。这两个组件在 Analysis Services 2005 中仍然存在,并且是分析应用程序的基石。

Analysis Services 2005 OLAP 中的功能改进主要可以归纳为两类改进:

• 启用了一些新的分析应用程序,而达到此目的做法便是添加全新的功能,或是使复杂功能的构建变得更加简单。

• 增强了分析应用程序的企业适应性

新增功能或改进功能 设计和部署 管理和操作

统一维度模型合并了关系数据模型和 OLAP 数据模型的最佳特征。后文将对“统一维度”模型进行更为详细的讨论。

主动缓存使您可以用极低的成本操作低延迟时间的应用程序。后文将对主动缓存进行更为详细的讨论。

• 关键绩效指标 (KPI) 框架为定义公司度量提供了一个基于服务器的简单机制。KPI 由值、目标、当前状态和趋势表达式组成,并通过诸如量尺和停车灯之类的简单图形显示出来。

翻译为用户提供了一个简单的集中管理机制,使他们可以用自己喜欢的语言来存储和显示分析数据。一个分析数据库可以用多种语言来显示。

MDX 脚本是用于定义“计算成员”、“命名集”和“单元计算”的新机制。

• “MDX 脚本”的语法得到了简化和改进。“MDX 脚本”可以分步调试。

• “MDX 脚本”计算可以缓存和保留,这可以提供优良的查询性能,即使面对复杂计算也没有问题。

• “MDX 脚本”计算可以维护实时的动态计算行为。

后文将对“MDX 脚本”进行更为详细的讨论。

• •

Analysis Services 存储过程允许您使用公共语言运行时编程语言(如 C++、VB 或 C)创建外部例程。存储过程扩展了 Analysis Services 2000 用户定义函数 (UDF) 所提供的功能。后文将对 Analysis Services 存储过程进行更为详细的讨论。

数据写回增强使其性能较以前有了十倍的增长。分析应用程序可以将数据写回到聚合单元中,然后再有选择地执行聚合数据到其底层叶数据的分配工作。

• •

内置的业务规则、工具和向导使艰难的设计变得简单:

半累积度量值

• 时间智能

• 帐户智能

• 财务聚合

• 货币转换

• 时间维度生成

数据源视图提供了一种机制,既可以简化,又可以扩展分析应用程序底层的关系数据库。后文将对“数据源视图”进行更为详细的讨论。

Analysis Services 的数据定义语言是 XML。Analysis Services 元数据知识库已经没有了,取而代之的是由 Analysis Services 服务器所存储和管理的 XML 文件。

• •

Web 服务:XML for Analysis (XML/A) 是基于标准的本机协议,其作用是与 Analysis Services 服务器进行通信。启用了新型的应用程序,而且开发这些应用程序还十分简单,这些应用程序将分析与操作实时集成在一起。

• 将 XML/A 作为本机协议,便可以把 Analysis Services 客户端配置为具有零覆盖范围,且每台服务器都自动成为一种 web 服务。

• 具有小覆盖范围的 Win32 层可用于向后兼容与 Analysis Services 2000 一起使用的,用于 OLAP、ADOMD 和 ADOMD.Net 的 OLE DB 工具。许多客户和开发人员将继续使用 ADOMD.Net 对象模型来构建 Analysis Services 自定义应用程序。

• •

计算被集中在服务器端。与 Analysis Services 2000 不同,Analysis Services 2005 在服务器端执行所有计算。这样做的优点十分显著:

• 客户端的占用空间为零;消除了客户端缓存。

• 复杂计算的查询性能得到极大提高。

实现这些改进的代价是使对最简单查询的查询性能有轻微的降低,因为这些查询在 Analysis Services 2000 中是在客户端缓存中被解析的。

• •

开发和管理工具(Business Intelligence Development Studio 和 SQL Server Management Studio)是用于商务智能应用程序的第一款完整的开发环境。这些新工具可以帮助您捕获和建模所有数据,加快应用程序的开发速度。

• •

Analysis Services 2005 对其权限模型作了改进。不同的角色和权限包括:

• 服务器管理员

• 数据库管理员

• 处理对象

• 查看对象结构(由对象授予)

• 改变对象结构

Analysis Services 2005 包含 150 多项安全性设计更改。在安全模型方面的改进包括:

• Analysis Services 具有多条安全防线,属于“默认安全设置”。

• 管理权限得到更为细致的划分;不同数据库对象的权限得以分离,执行设计更改的权限与处理权限也得到了分离。

• 可以对本地多维数据集进行加密。

• Analysis Services 在运行时其权限级别为可能的最低级别。

• 可以对客户端/服务器端通信进行加密和签名,以避免出现数据包窃听、欺诈、篡改和拒绝的情况。

• 加密操作在服务器端强制执行,服务器可以拒绝不使用加密的客户端。

Analysis Services 2005 服务器可以使用工具生成可监控的服务器跟踪事件,所用工具的示例有 SQL Server 事件探查器,此工具在 SQL Server 关系数据库中长期以来一直可用。

• 审核应用程序的访问和使用

• 审核应用程序和服务器事件以提高服务器的可管理性。

• 审核应用程序错误,与“Microsoft 支持”合作,以便更快地解决问题。

得到改进的计算性能来源于以下几项功能:

• 服务器计算缓存在多个用户间共享

• 查询优化器会用可以提高性能的等价语句“重写”查询。

• 得到改进的 NonEmpty 性能

• 非重复计数度量值得到改进

Analysis Services 2005 对中间层体系结构有着广泛的支持。用低空间占用率的对象模型交付可伸缩的中间层——可扩展到支持成千上万名并行用户。其在广泛区域网络中的部署性能虽未有过正式的测评,但肯定要优于 SQL Server 2000。

Analysis Services 2005 支持无限大的维度。因为维度不需要再在内存中缓存。

Analysis Services 2005 支持在标准管理工具集中平行处理分区。

SQL Server Management Studio 将被用来管理所有的 SQL Server 数据库。它可以使用 Analysis Services 对关系数据库提供集成的管理,其集成工具可用于:

• 服务器控制台管理(取代了企业管理器和分析管理器),

• 查询分析(SQL 和 MDX),

• 来自关系引擎和 Analysis Services 的分析事件,

• “飞行记录仪”和“捕获重放”功能可以自动捕获服务器事件,这可以有效地帮助您(或 Microsoft Services)诊断问题。

一种新的对象模型,分析管理对象 (AMO),取代了 DSO。DSO 的作用是向后兼容,真正起作用的是 AMO,它提供了丰富的新功能,尤其是它可以用管理工具和开发工具通过脚本来创建对象和修改对象,令人印象深刻。

• •

构建分析数据库的途径主要有两个:

• 完全自定义:从源开始,通常是从一个关系型源开始,定义维度、多维数据集、关键绩效指标、计算和数据挖掘模型。此途径对那些业已具备数据仓库或主题集市的客户来说十分适合。在多维数据集向导的第一个屏幕中,此选项的标签为“使用现有数据库/数据仓库”。

• 可自定义的模板:从模板开始,定义和生成一个完整的应用程序,包括关系数据库、DTS 包和 Analysis Services OLAP 数据库。设计和生成这些组件的目的是使这些组件无缝合作,共同组成一个完整的应用程序。此途径对于那些从模板开始安装完整商务智能解决方案的客户来说十分适合。在多维数据集向导的第一个屏幕中,此选项的标签为“在不具备数据源的前提下设计商务智能模型”。

不管采用哪种方法,基本的系统设计都假设使用当前熟悉的、来自一个或多个源的商务智能结构来填充维度关系型数据仓库,然后再用数据仓库来填充 Analysis Services 数据库。但是,SQL Server 2005 提供了许多选项,通过消除或淡化不同的组件使其背离了这种常规设计。在下面“统一维度”模型中讨论了一些其他的备选系统。

从现有的源数据库创建自定义数据库

创建 Analysis Services 数据库的第一种方法最为 SQL Server 2000 的用户所熟悉。即从任意结构的源数据库开始着手创建数据库:

• 按事实数据表和维度表构建一个维度数据库,或

• 任何其他的数据库结构,包括标准化的事务系统。

SQL Server 2005 中可从标准化数据库寻源的能力是对 Analysis Services 2000 的一大突破,在 Analysis Services 2000 中,执行此操作需要一个维度结构,此结构或是星型的,或是雪花型的,或是拉伸型的。此功能使您可以轻松地开发具有极低延迟时间的商务智能应用程序。

通过直接在事务数据库内构建 Analysis Services 数据库,而不需要先构建正式的数据仓库,可以用较低的成本,轻松有效地满足许多用户的要求。如果您需要仅对数据执行最低的数据转换、清理和集成便投入使用,则可考虑使用一个 Analysis Services 数据库来补充或替换现有的关系报告。您可以充分利用 Analysis Services 的功能和交互性,更好地管理事务系统中的负载。

虽然可以直接从事务系统构建和维护 Analysis Services 数据库,但只有先构建关系型数据仓库才能最好地满足许多企业分析的要求。复杂的数据集成和数据更改管理问题可以通过典型的数据仓库体系结构得到最好的解决,其中 Analysis Services 数据库充当着查询和分析引擎的角色。

数据源和数据源视图

构建分析应用程序的第一步就是在 Business Intelligence Development Studio 中创建一个新的 Analysis Services 项目。创建了空项目之后,应当创建一个“数据源”并将其与源数据库建立连接,此源数据库可以是任何受支持的关系数据库管理系统中的数据库。对于 Beta 2 版本,建议您将 SQL Server 2000 或 SQL Server 2005 关系数据库作为源。

“数据源”负责为源数据连接存储信息。“数据源视图”中包含着源数据库表相关子集的信息。此信息不只局限于源数据库中表的物理结构;您还可以添加诸如关系、表和列的友好名称、计算列和命名查询之类的信息。

“数据源视图”可以在 BI 项目和 DTS 项目之间共享。“数据源视图”很有用处,尤其是在以下几种情况中:

• 源数据库包含成千上万个表,但其中只有相对少数的表在 BI 应用程序中真正有用。

• Analysis Services 数据库使用来自多个源的数据,这些源有多重数据库、服务器、平面文件或 RDBMS。

• BI 系统开发人员不具有源数据库中的系统管理权限,且不允许创建物理视图或修改源数据库。

• BI 系统开发人员需要以“脱机”模式工作,必须断开与源数据库的连接。设计和开发任务针对“数据源视图”发生,而“数据源视图”已从源数据中分离出来。

您为“数据源视图”设置良好名称和关系所作的投资将换来分析应用程序的轻松开发。

创建维度和多维数据集

创建了“数据源视图”之后,便可以右击“解决方案资源管理器”窗格中的“多维数据集”图标,选择“新建多维数据集”,创建一个多维数据集。您可以启用 IntelliCube 检测和建议。如果您选择使用 IntelliCube,则必须决定是否构建一个已为报告经过旋转优化的多维数据集。IntelliCube 技术会对“数据源视图”中的数据库和数据基数关系进行检查,并按事实数据表、维度表或用于解析多对多关系的维度-事实桥接表来智能呈现表特征。对于 Beta 2 版本来说,选择是为旋转还是为报告优化多维数据集和维度存在一些微小的差别。唯一的差别就是 IntelliCube 是否会尝试在维度属性之间创建层次关系。由于层次易于创建,也易于毁坏,因此无须担心会花费太多时间和精力。

建议您在此“多维数据集向导”的初始屏幕后立即点击“完成”按钮。这样会一次定义好所需的 Analysis Services 数据库、维度、层次、属性和多维数据集。您可以对此设计进行编辑,但通常情况下,仔细一点儿走完向导,并在过程中作出一些明智的选择会更加有效。

实施完“多维数据集向导”之后,您可能会发现您更喜欢用“维度向导”来逐一地创建复杂的维度,要启动“维度向导”,只需在“解决方案资源管理器”窗格中右击“维度”即可。仔细定义完大型维度(例如“产品”、“客户”和“时间”)后,启动“多维数据集向导”,并确保在适当的位置包括这些预定义的维度。

构建和部署

到此为止,前面执行的这些步骤已在您的开发机器上以 XML 文件轻松创建了维度和多维数据集定义和结构。Business Intelligence Development Studio 和“配置管理器”使您可以对目标服务器上的项目构建和部署过程进行管理。默认情况下,“部署”目标服务器就是您的本地服务器。您可以创建适合其他环境部署的备选配置。项目的主要属性,如目标服务器的名称和数据源连接字符串等,可能会因配置而不同。

要在开发循环过程中预览和测试多维数据集和维度,请从 Business Intelligence Development Studio 的菜单中选择“部署”,在指定的目标服务器上构建和部署项目。或者,单击 F5,或选择“调试”(位于 Business Intelligence Development Studio 主菜单中)。这样会启动几个调试和浏览工具中的一个,具体启动哪个,要取决于您所执行的操作以及您选择“部署”的时间。根据此上下文,“部署”过程会启动多维数据集浏览器、MDX 脚本调试器或 KPI 浏览器。

您可能想在定义完系统的维度、度量值和多维数据集后查看一下系统原型。请使用相对较少的数据针对开发数据库进行处理,以验证数据和结构的行为是否与预期的行为相一致。

作为原型的一部分,您可能想设计一些更为复杂的“Analysis Services 数据库”、“关键绩效指标”、“操作”和“计算”组件。如果您的数据库是被对不同数据视图感兴趣的不同用户团体使用的话,请深入查看“透视”和备选的安全计划。如果您计划部署可供国际上不同语言的用户使用的数据库,则可以使用“翻译”功能引入本地化项目名称。最终,原型会评估备选的物理配置,例如“分区”和不同的“主动缓存”选项。

在 Analysis Service 数据库开发完成之后,便可以部署数据库对象,以便于进行最终测试、临时过渡并投入生产服务器。在构建阶段的项目输出可以用作 Analysis Services 部署实用工具的输入。此实用工具可以帮助您部署和处理数据库。

从模板创建可自定义的数据库

我们刚刚描述了从已知源创建自定义 Analysis Services 数据库的基本步骤。这种通过“多维数据集向导”和“维度向导”创建的方法与创建 Analysis Services 2000 数据库的标准方法十分类似。

创建 2005 分析应用程序的另外一种备选方法就是选择“多维数据集向导”第二个屏幕上的“在不具备数据源的前提下设计商务智能模型”选项。这种通过向导创建的方法与 SQL Server 2000 Accelerator for Business Intelligence 的设计体验十分类似。这种设计体验会从模板生成一个完全可自定义的应用程序,此处的模板:具有丰富的维度结构和分析功能,还有可能包括一个关系型数据仓库和 DTS 包。Microsoft、集成商或独立软件供应商都可以提供这种模板。

不管采用哪种通过向导创建的方法,是从源数据库创建,还是从模板创建,都可以设计相同的 Analysis Services 数据库。第一种选项假设您将创建一个完全自定义的系统。对象名称和结构都是可以完全自定义的,初始设计是受源数据库中的名称和结构所驱动的。模板选项也可以创建一个完全自定义的数据库,但是初始设计是受专家主题区域模板所驱动的。

许多用户都喜欢将这两种方法结合使用。一个非常常见的方法就是用现有源创建 Analysis Services 数据库中的大部分内容,而用模板法生成“时间”维度。

统一维度模型

Analysis Services 2005 使关系数据库与多维度 OLAP 数据库之间的界线变得更加模糊。OLAP 数据库分析应用程序一直以来都具有着巨大的优势,这些优势主要体现在以下几个方面:

• 卓越的查询性能、

• 丰富的分析功能,以及

• 其易于业务分析师使用的操作简单性。

不过,在实现这些功能的同时也带来了一定的负面效应。到目前为止,已经发现的问题就有 OLAP 数据库(包括 Analysis Services 2000 在内)很难交付以下内容:

• 包括多对多关系的复杂架构、

• 对广泛属性集的详细报告,以及

• 低延迟数据。

通过将传统 OLAP 分析与关系报告二者的优点相结合,Analysis Services 2005 能够提供一个可以同时覆盖这两方面需求的统一维度模型。在 SQL Server 2005 中定义的一套多维数据集和维度被称为统一维度模型 (Unified Dimensional Model),或 UDM。UDM 的优势和灵活性引发了设计领域的巨变。过去,BI 架构师会权衡备选基础结构的收益和成本,并在关系数据库和 OLAP 数据库之间作出选择。现在,架构师可以设计一个“统一维度模型”,然后从传统极限中确定一点用于放置 Analysis Services 系统逻辑设计和物理配置。

基于属性的维度

Analysis Services 2005 围绕维度的属性,而非维度的层次构建多维数据集。在 Analysis Services 2000 中,维度设计由层次主宰,层次的示例有 {年、月、日} 或 {国家、地区、城市}。这些层次要求各层之间存在密切的数据关系。作为成员属性和虚拟维度公开的“属性”是“二等公民”。虽然有可能在物理维度中生成属性,但性能因素却使这一技术的广泛使用大打折扣。熟悉关系结构的用户对 OLAP 数据库中对层次的过度侧重深感困惑。

Analysis Services 2005 结构与关系型维度结构更为类似。一个维度可包含多个属性,每个属性都可用于切片和筛选查询,同时每个查询又可以合并到层次中,而不必考虑数据的相互关系。

有 OLAP 背景的用户都知道强大的层次结构的价值,有一点您可以肯定,那就是“城市”清晰地汇总为“地区”和“国家”。这种自然层次结构依然存在,并应在适当的位置进行定义:查询性能会因为这种层次结构而得到提高。

例如,设想一个“客户”维度。关系型源表有八列:

• 客户键

• 客户名称

• 年龄

• 性别

• 电子邮件

• 城市

• 地区

• 国家

相应的 Analysis Services 维度应具有七个属性:

• 客户(整型键、以“客户名称”作为名称)

• 年龄、性别、电子邮件、城市、地区、国家

数据中存在一种自然层次结构,{国家、地区、城市、客户}。出于导航目的,应用程序开发人员可以选择创建第二个层次结构:{年龄、性别}。商务用户并没有看到这两个层次结构行为方式之间有何区别,但是,自然层次却可以从深谙层次关系的索引结构(对用户隐藏)中受益。

新维度结构的最大优势在于:

• 维度不需要加载到内存中。因此,维度可以非常巨大(经测试,Beta 2 可支持上千万名成员)。

• 用户可以添加和删除属性层次结构,而不必再重新处理维度。属性层次索引结构属轻型结构,在后台计算,并不影响多维数据集查询。

• 重复的维度信息被去除;使得维度更加轻巧。

• 由于引擎为并行处理创建了机会,因此维度处理信息性能得到了改进。

维度类型

Analysis Services 2000 中包括两种维度类型:常规层次类型和父子类型。Analysis Services 2005 新增了一些重要的新维度结构。其中有些结构的名称是临时的,但是,这些名称都是 BI 文献中较为通用的。

• 角色扮演:维度扮演着一些重要角色,具体哪些角色要依上下文而定。例如,[时间] 维度可能会被 [订购日期] 和 [发货日期] 重用。在 2005 中,扮演着某些角色的维度只需存储一次,便可多次使用。这样便可使所需的硬盘空间和处理时间降至最低。

• 事实:事实或“退化”维度与事实(如事务编号)具有一一对应的关系。从本质上讲,退化维度不能用于分析,但可用作标识,以定位特定的事务,或识别组成聚合单元的事务。

• 引用:维度并不能够直接和事实数据表发生联系,但可通过另一维度间接发生联系。这方面的原型示例有 [地理位置] 引用维度,它同时关联了 [客户] 和 [销售团队] 两个维度。引用维度可能由数据提供程序提供,并包括在多维数据集中,不必再修改事实数据。

• 数据挖掘:数据挖掘维度支持从数据挖掘模型(包括群集、决策树和关联规则)生成的维度。

• 多对多:这些维度有时被称为多值维度。在大部分维度中,事实能且只能连接一个维度成员。多对多维度解决了多维度成员问题。例如,银行储蓄客户可以有多个帐户(支票、储蓄);一个帐户可以有多个客户 (Mary Smith、John Smith)。[客户] 维度有多个成员,这些成员都与一个帐户事务相关联。在维度不能够直接关联事实数据表时,2005 多对多维度支持复杂的分析,并扩展了维度模型,使之超越了传统的星形架构。

量度组和透视

Analysis Services 2005 引入了“量度组”和“透视”,以用来简化分析数据库的设计和部署。在 Analysis Services 2000 中,鼓励用户构建多个物理多维数据集。每个多维数据集相当于一个特定的维度,通常还相当于一个特定的关系事实数据表。虚拟多维数据集以一种对商务用户透明,而对开发人员设计又不太复杂的方式,合并多个事实数据表。

在 2005 中,最通用的方案将具有一个包含一个或多个“量度组”的物理多维数据集。量度组中的事实数据具有特定的细化程度(由维度层次的交叉点定义)。查询根据需要被自动定向到不同的量度组。在物理层上,分区(与 Analysis Services 2000 分区类似)在“量度组”上定义。

大型应用程序将为用户提供大量的维度、量度组,而且还会给导航带来难度。在“多维数据集编辑器”的“透视”选择卡中定义的“透视”可以创建一个多维数据集的子集“视图”。为了要提供一定程度的个性化,可以将安全性角色与适合该角色的透视集相关联。

我们希望大部分的 Analysis Services 2005 数据库都包含一个具有多个量度组和多个透视的多维数据集。

对多维数据集事实结构和查询性能所做的其他改进有:

• 量度可以为空;在 SQL SERVER 2000 中,"null" 量度被当作 0 处理。

• 适当的多维数据集分区使得“非重复计数度量值”的查询性能得到了改进,性能值增加了几个数量级。

• 对备选数据库管理系统的访问由可扩展的部件基础结构提供。RDBMS 的部件用于指定如何为关系查询和写入优化 SQL 语句。用户可以轻松添加其他关系系统的部件;部件被作为 XSL 文件实现。

计算和分析

使用分析服务器(如 Analysis Services)最大的争议之一就是其集中定义复杂计算的能力。Analysis Services 一直以来都能交付丰富的分析数据,但对某些复杂概念却很难实现。

其中一种概念就是半累积量度。最通用的量度值(如 [销售额])能够清晰地汇总所有维度:长期以来的 [总销售额] 是指所有产品、所有客户在所有时间内的销售总额。相比之下,半累积量度值可能在某些维度中是累积的,而在其他的维度却不是累积的。最常见的一个例子便是余额,如仓库中的货品数。很显然的,昨天和今天这两天的余额总计肯定不等于昨天的余额加上今天的余额。相反,它可能是期末余额,虽然在有些情况下它是期初余额。在 Analysis Services 2000 中,您必须定义一个复杂的 MDX 计算,帮能交付正确的度量值。而在 Analysis Services 2005 中,期初余额和期末余额都是本机聚合类型。

非重复计数度量值在 2005 中也得到了很大的改进。现在,非重复计数度量值可定义在字符串数据上,而查询可以被定义为在任意集合上执行“非重复计算”。而 Analysis Services 2000 只能够在预先定义的层次结构上执行非重复计算。

“时间智能”向导将创建一个时间计算维度,其中包含该期间与最后期间的对比计算,可以移动平均值,同时还可创建其他的通用时间计算构造。

MDX 脚本

多维表达式 (MDX: MultiDimension Expression) 是一种功能非常强大的语言,可用于定义 Analysis Services 2000 计算和安全规则。MDX 功能强大,但也也很复杂。Analysis Services 2005 利用被简化了结构和语法的“MDX 脚本”定义了一种新的计算模型。

MDX 还是 Analysis Services 系统中的查询语言。查询工具(如 Excel 透视表)根据用户的“拖放”行为生成 MDX 查询。MDX 的这种使用与“MDX 脚本”无关;“MDX 脚本”用于服务器定义的对象,如计算成员和单元计算,并非用于用户查询。

在定义 Analysis Services 2005 多维数据集时,其中只包含结构,而没有数据。“MDX 脚本”是多维数据集结构的组成部分。一般情况下都会定义一个默认的“MDX 脚本”命令,用来计算默认的聚合。默认的“MDX 脚本”命令只包含一条语句:

Calculate;

在多维数据集完全处理之后,应用默认 MDX Script 之前,多维数据集将包含叶层级的数据,但不包含聚合。在应用单一语句的默认“MDX 脚本”时,将计算和存储聚合。

“MDX 脚本”语句包含以下命令,用分号隔开:

• 限制语句作用域的作用域语句

• 公式和值分配

• 计算成员定义

• 命名集定义

在多维数据集的设计中,Business Intelligence Development Studio 的用户界面和“MDX 脚本”均(其中包括计算成员和命名组)在“计算”视图中构建。“MDX 脚本”可以在提供语法向导的默认“计算表单”视图中查看,也可以在“计算脚本”视图中查看,这一视图把“MDX 脚本”显示为一组用分号分隔的命令。您可以在这两个视图间来回切换,虽然“表单”视图的显示要求整个脚本的语法必须正确。

“MDX 脚本”具有几个主要功能:

• 脚本遵循过程模型:依次应用语句。“MDX 脚本”开发人员不需要再受传递次序的烦恼,他们得到充分的保护,不必再担心会编写出引起无限制递归的脚本。

• 可包含计算:SCOPE 语句使您可以针对多维数据集的特定区域,定义一个或多个计算。例如:

SCOPE ([Customers].[Country].[Country].[USA]);

[Measures].[Sales] = 100;

END SCOPE;

• 作用域可以嵌套。

• 可缓存计算:CACHE 关键字表示脚本计算结果应存储在磁盘上,而不是在执行运行时计算。在查询包含大量复杂计算的大型多维数据集时,缓存的计算可以实现非常高的查询性能。当输入缓存计算更改时,该计算便会被删除和重建。

• 用户可以对“MDX 脚本”进行调试。您可以逐行完成“MDX 脚本”,浏览每步的多维数据集结果。

存储过程

Analysis Services 2005 引入了存储过程,来扩展用户定义功能 (UDF: User defined function) 所提供的能力。存储过程可以用任何公共语言运行时编程语言(例如 C++、Visual Basic 或 C)编写。存储过程允许一次性开发公共代码、将代码存储在一个位置,并在其他存储过程、计算和用户查询中重新使用所存储的公共代码,从而简化了数据库的开发和实施。

在 Analysis Services 2005 中存在两种类型的存储过程:

• MDX 函数存储过程与任何其他的 MDX 函数相似,它提供了一种可轻松扩展 MDX 语言的机制。

• 自定义存储过程执行特定于实施的任务,例如多维数据集处理,或更新多维数据集部分中的单元。

存储过程可用于执行客户端应用程序可以执行的任何任务。

关键绩效指标

Analysis Services 2005 为服务器端计算定义引入了关键绩效指示 (KPI) 框架,用来衡量您的业务。这些 KPI 将通过数据访问 API 和 Microsoft 与第三方工具,被显示在报告、门户和仪表板中。对于 Beta 2 版本而言,还没有可用于显示 KPI 的客户端工具。

不同的评论员和供应商用缩写 "KPI" 指代不同的概念。对于 Microsoft SQL Server Analysis Services 2005,精确定义 KPI 的过程可分为以下四个步骤:

• 有待测量的值:物理度量值,如销售额,计算度量值,如利润,或在 KPI 中定义的计算,

• 值目标:定义度量值目标的值(或解析为值的 MDX 表达式),

• 状态:评估当前值状态的 MDX 表达式,其正常值范围从 -1(极差)到 +1(极佳),

• 趋势:评估当前值趋势的 MDX 表达式。相对其目标而言,值是逐渐变好还是逐渐变坏?

以下是网页上显示的一些 KPI 示例:

实时商务智能

数据仓库和商务智能应用程序过去都是使用“过时”的或高延迟的数据,数据每月、每周或每天刷新一次。传统拥护者断言,实时 BI 是相互矛盾的,因为统计决策不需要刷新频率过高(超过每天一次)的数据。评论者忘记了一件事情,就是商务智能应深入整个企业,而不仅仅是将策略或制定的战术决策部署给少数的分析家或行政执行人员。可操作的商务智能要求低延迟的数据。

Analysis Services 2005 为可操作的商务智能提供了新的处理选项。在 Analysis Services 2000 中,无论是多维数据集的存储模式还是分区策略,都是用“拉”模型处理。启动 Analysis Services 进程在源数据库中查找新的信息、处理可选存储的详细数据,并计算和存储聚合。

在 Analysis Services 2005 中仍支持“拉”模型,但结合了对低延迟商务智能异常有效的其他选项。

• 从 DTS 管道中推出数据,或从自定义应用程序中推出数据。数据可以从 DTS 包管道直接流入 Analysis Services 分区,不用立即存储。这种方案可用于降低分析数据的延迟(和存储成本)。

• 按主动缓存管理多维数据集,以指定延迟和性能特性管理缓存,勿需管理干涉。

Analysis Services 多维存储的查询性能特性主宰着关系型存储。简而言之,查询针对多维 (MOLAP) 存储执行时效果最佳。其不足之处是延迟:多维存储是从其关系源向下流动的。主动缓存技术的技巧就在于能够在最小化数据延迟和管理成本的同时最大化查询性能。

主动缓存功能简化了管理数据过期问题的过程。如果事务发生在源数据库(如新的维度成员或新的事实事务)上,现有“缓存”便会过期。主动缓存技术提供了一种可调整的机制,可确定重新构建多维缓存的频率;指定在重新构建缓存时答复查询的方式;在不需要任何管理干涉的情况下启动过程。

主动缓存技术使您可以将多维数据集设置为在事务发生时,自动刷新其多维缓存。虽然 Analysis Services 处理数据速度非常快,但处理过程还是需要一些时间的。如果多维缓存处理过程没有完成,主动缓存配置便可以自动将查询重定向到相关的存储。

在设计主动缓存配置时,一定要谨记必须为每个多维分区都设置主动缓存。如果分区包括短时间范围(如一小时)内的数据,缓存刷新过程可能会发生的非常快。最为复杂的主动缓存配置依赖于从关系数据库发往有更新发生的 Analysis Services 的通知。Microsoft SQL Server 关系数据库支持这种通知。对于不能够提交通知的数据库,可以将 Analysis Services 配置为根据定义的查询,轮询更改。

主动缓存的参数有:

• 静止期:在服务器开始处理新信息前,关系源必须处于事务空闲状态的时间量。该参数通常设置为一个小于十秒钟的值。如果在关系源上存在许多连续的更新,则应等待静止期,以针对重复性删除和重建缓存加以保护。

• 延迟:允许用户访问过期数据的时间量。如果延迟设置为 0,则只要收到通知,用户查询就会被重定向到关系源。如果延迟设置为 600 秒,用户则只能访问十分钟前的数据。如果设置为 -1,则表示用户将一直访问过期数据,直至主动缓存处理完毕。

• 静默覆盖间隔:更改通知与主动缓存处理开始之间的最大持续时间。如果源数据库被不断更新,此参数将覆盖“静止期”设置。

• 强制重建间隔:当源数据库系统不能提供更新通知时,可使用此参数提供简单的主动缓存功能。如果源数据在 SQL Server RDBMS 中,则应将该参数设置为 0。

数据挖掘

概述

Microsoft SQL Server 2005 Data Mining(数据挖掘)属于商务智能技术,它可帮助您构建复杂的分析模型,并使其与您的业务操作相集成。数据挖掘可回答如下问题

• 该客户的信用风险如何?

• 客户的特征如何?

• 人们愿意同时购买哪些产品?

• 下个月能卖出多少产品?

数据挖掘应用程序将数据挖掘模型集成到日常的业务运营之中。许多数据挖掘项目的目标是构建可供业务用户、合作伙伴和客户使用的分析应用程序,而不必理会应用程序底层的复杂计算。要实现这一目标,需要执行两个主要步骤:构建数据挖掘模型并构建应用程序。SQL Server 2005 Data Mining 使这些步骤比以往更加简单。

Microsoft 2005 中数据挖掘功能的目标是构建具备以下特征的工具:

• 简单易用

• 可提供一整套的功能

• 可轻松嵌入到产品应用程序中

• 紧密集成其他的 SQL Server BI 技术,以及

• 能够扩展数据挖掘应用程序的市场。

可以肯定,本白皮书的每位读者几乎都曾“使用”过数据挖掘应用程序。如果您已在线购得了本书或音乐,并收到了“购买此产品的其他客户”的建议,或者,如果信用卡公司要求您确认一宗可疑交易,或者,食品店在收条上打印个性化优惠券,所有这些,都是您从使用数据挖掘应用程序中得到的好处。时至今日,这种应用程序的开发已集中于解决大型公司所面临的最大问题,这些公司能够承受分析能力的匮乏以及巨额的开发费用,而这些都是过去用传统方法构建数据挖掘应用程序所需面对的。正如 Microsoft 的 OLAP 技术已推动了 OLAP 市场增长一样,我们期望能够将数据挖掘技术推广开来,使那些在过去不能开发这种应用程序的企业和部门也能够加入到其开发行列中来。

使用 SQL Server 2005 Data Mining 工具开发一套数据模式,然后在这些模式的基础上随意执行预测。这是所有数据挖掘的模式:开发、模式发现和模式预测。

数据挖掘算法

所有数据挖掘工具(包括 Microsoft SQL Server 2005 Analysis Services)都采用了多种算法。当然,Analysis Services 是可扩展的;第三方 ISV 可以开发算法,并将所开发的算法无缝地融入到 Analysis Services 数据挖掘框架之中。根据数据和目标的不同,应该采用不同的算法,而且每种算法都可用于解决多个问题。

数据挖掘工具擅长解决多种类型的问题。下表概括了业务问题的大致分类:

分析问题 示例 Microsoft 算法

分类:为案例分配预定义的级别(如“好”与“差”)

• 信用风险分析

• 客户流失分析

• 客户挽留

• 决策树

• 贝叶斯算法

• 神经网络

分割:开发一种按相似案例分组的分类方法

• 客户资料分析

• 邮件推销活动

• 群集

• 顺序群集

关联:相关性高级计算

• 购物篮分析

• 高级数据研究

• 决策树

• 相关规则

时间序列预测:预测未来

• 预测销售

• 预测股票价格

• 时间序列

预测:根据相似案例(如现有客户)的值预测新方案(如新客户)的值

• 提供保险率

• 预测客户收入

• 预测温度

• 全部

偏差分析:发现案例或群体与其他案例和群体之间的差别

• 信用卡欺骗检测

• 网络入侵分析

• 全部

SQL Server 2005 中附带了最流行的数据挖掘算法。

• Microsoft Decision Trees(决策树)通常是数据研究的起始点。它是主要的分类算法,对离散和连接属性的可预测建模效果很好。用算法构建模型时,它着眼于数据集中每个输入属性是如何影响预测属性的结果的。其目标是找到一个输入属性及其状态的组合,使您能够预测出所预测属性的输出结果。

• Microsoft Naïve Bayes(贝叶斯算法)能够快速构建可用于分类和预测的数据挖掘模型。如果知道可预测属性的每种状态,便可计算出输入属性每个可能状态的概率。这种算法只支持离散(不连续)属性,它认为所有输入属性都是彼此独立的(前提是知道可预测属性)。因为贝叶斯算法的计算速度非常快,因此在初始数据研究阶段通常会选择这种算法进行分类和预测问题。

• Microsoft Clustering 使用迭代技术将来自数据集的记录分成若干个包含相似特性的簇。通过使用这些簇,您可以研究数据,找出彼此之间的相互关系。您还可以从群集模型创建预测。

• Microsoft Association 基于 priori 算法,它为在大型数据集中查找多路关联提供了一种有效的方法。Association 算法在数据库所有事务中循环,在单一用户事务中查找最有可能同时出现的项目。关联的项目被分到一起,放入项目集中,生成可用于预测的规则。Microsoft Association 通常用于购物篮分析。对于 Association 分析而言,执行大量“非重复计数”的关系或 OLAP 分析是一个值得考虑的选择。Microsoft Association 算法对算法参数的选择很敏感,因此,对于一些小问题,使用 Microsoft Decision Trees 算法进行购物篮分析可能效果更佳。

• Microsoft Sequence Clustering 将顺序分析与在数据研究和预测中使用的群集方法结合在了一起。顺序群集模型对事物发生次序很敏感。此外,群集算法还考虑到记录群集中的其他属性,使您可以开发关联顺序和非顺序信息的模型。Sequence Clustering 算法将被用于执行点击流分析,以便于分析 Web 站点的通信流量、识别与特殊产品销售关系最为密切的页面,并预测接下来要访问的页面。

• Microsoft Time Series(时间序列)会创建可用于预测一个或多个连续变量(如股票价格)的模型。Time Series 算法的预测完全依据于在模型创建过程中从培训数据中推导得出的趋势。Microsoft Time Series 使用 AutoRegression Trees 技术,非常简单易用,并可生成精确度极高的模型。在该算法中有一条专门用于时间序列的统计分析规则。大多数其他数据挖掘产品都提供了多项技术,如 ARMA、ARIMA 和 Box-Jenkins,统计师必须在这些技术中确定模型的最佳技术选择。Microsoft 选择了一种方法,既可使广泛的受众能够理解时间序列,又具备异常精确的结果。

• Microsoft Neural Net 和 Decision Trees 及 Na?ve Bayes 一样,主要用于数据研究、分类和预测。Neural Net 是一种人工智能技术,该技术可以利用所有可能的数据关系。因为它是一种非常彻底的技术,因此它是三个分类算法中最慢的算法。

构建挖掘模型

模型的构建、培训和测试过程是创建应用程序过程中最为困难的一部分。正如下面我们要讨论的,实际开发应用程序是一个简单的编程过程。在开始构建数据挖掘模型之前,您应当已经收集和清理了您的数据,这些数据极有可能位于数据仓库中。SQL Server 2005 Data Mining 可以从关系数据库或 Analysis Services 多维数据中访问数据。

开发数据挖掘模型的最佳人选是同时具备业务和技术技巧的人员。模型的开发人员将会从其统计背景中获益、了解企业面临的关键业务问题、对数据和关系产生极大的好奇心,同时还能够利用 SQL Server 2005 工具处理和存储数据。现有数据仓库小组中的成员最有可能遇到这些标准。

第 2 页,共 2 页 [1] [2]
站内搜索