深入探讨SQL Server 2008商务智能(BI)
导言
在竞争日益激烈的市场中,商业人士逐渐认识到他们只有预先看出市场的趋势和机遇,并快速的对新的客户需求作出响应才能获得成功。此外,雇员需要对商业活动和花费进行排列优先次序,以此来确保达到最有效的使用可用的资源和作出有效的商业决策。
为了满足这些挑战,雇员需要获得对商业的全面的洞察力,以便他们可以作出睿智的决策,并为促进商业成功作出贡献。公司想将这个洞察嵌入每天的商业活动中,以便所有雇员可以明确的或是暗含的使用对所有的企业数据的完整和稳定的版本所作出的分析结果。
一、Microsoft 商业智能技术
Microsoft提供了一个全面的商业智能(BI),它为数据仓储、分析和生成报表提供了一个扩展的数据平台,并提供了终端用户可以用来访问和分析商业信息的强大的和直觉工具。Microsoft商业智能“提供给终端”的核心是Microsoft SQL Server 2008,它是一个全面的数据服务平台,使你能够:
· 统一企业中所有数据的存储和访问。
· 建立和管理复杂的商业智能解决方案。
·SQL Server 2008形成了所提供的这个强大的商业智能的基础,它的特有技术如下面所示:
二、2007 Microsoft Office系统集成
SQL Server 2008商业智能平台通过下面的2007 Office 系统组件提供给信息工作人员:
1.Microsoft Office Excel。这是一个强大的电子表格应用,你可以将它作为一个用于联机分析处理分析、数据挖掘和报表渲染的接口。通过 SQL Server 2008和Excel 2007的深度集成,你可以:
加强了终端用户访问和分析从SQL Server 2005分析服务获得的数据的能力。有了Excel 2007,终端用户可以浏览存储于分析服务中的多维联机分析处理立方体中的数据。Excel 2007使用户能够通过使用已经安装在大多数桌上计算机里的工具以他们想要的任何方式来轻松的建立“切片和切块”数据的Microsoft PivotTable 动态视图。
Excel与分析服务的紧密集成使终端用户可以轻松的使用分析服务的特性,例如转换、关键绩效指标(KPI)、计算成员、命名集、和Excel中的将Excel转化为一个分析客户端的服务器活动,通过使用这个集成使你可以从Excel 执行中收获更多。
为每个人作有用的预测分析,使非技术用户可以在熟悉的Office环境中利用SQL Server 2005分析服务的非常复杂的数据挖掘算法。设计时就为终端用户做了考虑,用在Office 2007中的数据挖掘插件使终端用户可以直接在Excel和Microsoft Office Visio中执行复杂的分析。
增加了自动化分析特性,例如强调了数据与表的其它部分或数据范围的格式看起来不同的异常,基于现在的趋势预测未来的数值,分析各种场景下的情况,决定需要改变什么来达到宽衣个特定的目标。
以大多数终端用户所喜欢的格式,通过使用新的增强的报表服务Excel渲染能力来发送报表,这个能力使得终端用户可以直接在Excel中接收到报表。
2.Microsoft Office Word。它是一个word处理应用程序,你可以使用它作为报表的一种格式。使用这个很多人所期待的新的用于Microsoft Word的报表渲染器,它使得你可以用Word格式来渲染SQL Server 2008报表服务的报表。
3.Microsoft Office Visio。一个画图应用,你可以使用它来作注释、增强和展示你的图形化的数据挖掘视图。有了SQL Server 2008和Visio 2007,你可以:
渲染决策树、回归树、集群图、和依赖网络。
将数据挖掘模型保存为内嵌到其它Office 文档中的Visio 文档,或者保存成一个网页。
4.Microsoft Office SharePoint Server。这是一个全面的协作、发布、和仪表盘解决方案,你可以使用它作为一个用于提供一个放置你所有的企业级商业智能的内容和工具的中央位置的中央组件,这样你公司的所有人都可以查看相应的和及时的分析视图、报表和关键绩效指标,并与它们进行交互。SQL Server 2008报表服务和Office SharePoint Server 2007的集成使你可以:
使用一个一致的用户接口来管理和查看报表。
当版本和报表的工作流存储到Office SharePoint Server 2007文档库中时跟踪它们。
通过SharePoint文档库管理一个单独的用于报表的安全模型。
使用Office SharePoint Server 2007 即开即用报表中心模板轻松的建立一个站点用以存储报表。
5.Microsoft Office PerformancePoint Server。 一个集成的性能管理应用,雇员可以使用它来监控、分析和计划基于SQL Server 2008提供的分析数据的商业活动。
通过这篇文章的其它部分,你将学习到SQL Server 2008和它与2007 Office系统的集成将怎样帮助你统一商业智能数据存储和访问,建立和管理复杂的商业智能解决方案,并将这些解决方案覆盖的范围扩大到你的所有的雇员。
统一数据存储和访问
大多数公司拥有多个商业系统,每一个都有它自己专用的数据存储。尽管你可以经常从单独的应用中生成报表,并对它们包含的数据进行分析,但是你只能通过合并企业内的异构数据来创建一个集中的用于生成报表和分析的商业数据源。
一.合并所有的数据,用于分析和生成报表
SQL Server 2008支持两个常见的方法来统一商业数据用于分析和生成报表:
数据仓库。一个只针对企业级数据的存储,它的数据从企业中的不同数据源的商业数据而来,并与其同步。这个方法的主要优点是你可以设计数据仓库用于最佳的分析和报表性能,而对作为数据来源的商业应用的性能没有影响。这个方法的另外一个优点是你可以清理和合并多个数据源而来的数据到一个单独的与真实数据保持一致的版本中。
数据源抽象。SQL Server 2008分析服务使得可以创建数据源视图以提供一个针对一个或多个数据源的抽象层。然后你可以将这个数据源视图作为分析服务、集成服务和报表服务的单独的数据源。有了这个数据源视图,当进行分析和生成一个报表的时候,会从后台的数据源系统获取数据。这个方法的主要优点是它使得可以对你的商业应用中的数据作实时分析。此外,数据源视图通过它增加的抽象层可以用来创建合适的名称来替代较长的或含义模糊的表名。
图1显示了这些方法。有了SQL Server 2008,你可以或者使用这些方法,或者两者结合使用。
图11.以你想要的方式来使用你所有的数据
无论你采取哪个方法来统一你的商业数据,SQL Server 2008建立在过去对关系数据和非关系数据的强大的支持,提供了使开发人员和管理员可以有效的存储和管理非结构化数据的数据类型,例如文档和图片,所以你可以以最适合你的业务的格式来存储、管理和分析数据。
SQL Server 2008增强了对XML数据存储和一个FILESTREAM 数据类型的支持,FILESTREAM 数据类型使大型的二进制数据可以存储在文件系统中,并且保持事务一致性仍作为数据库完整的一部分。此外,删除了对用户定义的数据类型规模的限制,使得可以超过在之前的SQL Server版本中的8 KB 的限制。对空间和位置数据类型的支持使得可以存储和分析符合行业标准的地理数据。
2.集成所有的企业数据源
SQL Server 2008数据源视图使得可以集成数据和对从异构的企业级数据存储获得的数据进行访问,例如SQL Server、Oracle、DB2和Teradata。这些视图还提供了一个企业范围的联机分析处理存储,而且在SQL Server集成服务中对不同数据源的支持广度意味着你可以从现有的所有种类的商业应用中提取数据。因此,统一你所有的企业数据源的数据是很容易实现的,不论你是否想建立一个抽象层来通过数据源查看或使用ETL处理来与一个只用于分析和报表的数据仓库同步。
此外,通过对Web services和Microsoft .NET框架的支持,SQL Server 2008支持与多个平台、应用和编程语言的协同工作能力,所以你可以通过集成和连接到你的异构的数据源来最大化你对新的和现有的系统的投资回报。支持已有的和新出现的开放标准,例如HTTP、XML、SOAP、XQuery和XSD,进一步推动了你的扩展了的企业系统的通信。
二、数据仓库性能
SQL Server 2008提供了一个全面的和可扩展的数据仓库平台,使得你的企业可以更快的将数据整合到数据仓库中,这样你就可以扩展和管理不断增长的数据量和用户数量。
1.优化ETL过程
数据仓库一般通过ETL 过程从数据源系统获得的数据进行组装和更新。在数据最初加载到数据仓库中之后,会定期的刷新源系统的新的和更改的数据,以确保数据仓库的数据是最新的。
SQL Server 集成服务提供了一个全面的平台,你可以使用它从不同的数据源系统提取数据,做所要求的任何对数据或它的结构和格式的转换,然后加载转换的数据到数据仓库中。执行查找来匹配从数据源系统获得的记录到在数据仓库中的已有的记录是ETL过程中的一个常见操作,在SQL Server 2008中查找的性能被显著的提高了,以致于这些操作扩展到大型表。
为了帮助跟踪数据变化和确保数据仓库一致性,SQL Server 2008推出了变化数据捕获(Change Data Capture,CDC)功能,将更新记录在变更表中,这使得很容易标识被更改的行和确定更改的细节以及更改的原因。
2.有效的管理硬件资源
通过对数据压缩的支持,SQL Server 2008使你可以更有效地存储你的数据和降低存储成本。另外,压缩明显的提高了大型的具有输入/输出限制的工作负载的性能。SQL Server 2008还为备份压缩提供了本地支持即开即用。此外,VARDECIMAL数据类型和SQL Server 2008中的新的稀疏列通过降低大型表(这些表如在数据仓库所常见的,主要为数字或空值)所需要的空间数量来帮助你从你的磁盘存储资源获得最好的效率。
除了在数据存储方面的效率,SQL Server 2008还支持映射内存的地址窗口扩展(Address Windowing Extensions,AWE)的动态分配,它支持Windows Server 2003、数据中心版(Datacenter Edition)的64GB内存、和64位版本的2TB内存,来支持大型数据仓库环境。
SQL Server 200还推出了资源监控器,它使得管理员可以为不同的工作负载定义资源限制和优先权,以便使并发工作负载可以提供稳定的执行,并使得可以预先的管理资源竞争问题。
3.优化数据库性能
SQL Server 2008包括高性能的关系数据库引擎,它使得你可以建立高效的数据仓库解决方案。创新(例如用于star schema(星型模式)和工具的查询优化帮助你调整索引和数据结构)使得SQL Server为经常查询的数据仓库自动选择,同时在SQL Server 2008中推出了MERGE Transact-SQL语句,开发人员可以更有效地处理普通的数据仓库场景,例如检查一行是否存在然后执行插入或更新。此外,对GROUP BY条件语句进行了扩展,使得用户可以在一个查询中定义多个组。Grouping Set生成了一个单独的结果集,这与对不同分组的行执行UNION ALL 操作是等价的,它使得聚合查询和生成报表更加容易和快速。
SQL Server 2008支持分区表,帮助你优化大型表的性能和管理,有了对分区表并行的新的支持,你可以通过使用分区表显著的优化一个数据仓库。
管理复杂的商业智能解决方案
随着公司对复杂分析日益增长的需求,对能够快速的建立和提交有效的商业智能解决方案,并能降低你的商业智能基础设施的管理费用的要求,成为了一个主要要考虑的事项。SQL Server 2008包含创新的工具,这些工具提高了开发人员的效率和管理能力,它使得可以更快的从新的分析和生成报表能力获得收益,同时使得管理费用降低了。
一、开发人员生产力
SQL Server 2008简化了商业智能解决方案的开发过程。商业智能开发人员受益于易使用的功能和工具,这些功能和工具增加了控制和自动进行例行操作、耗时的任务,并可以使用SQL Server 2008的高效的特性更快速的创建高效的分析和报表解决方案;这样你的公司很快就可以利用它们。
1.使用一个丰富的、现代的编程环境
通过与Microsoft Visual Studio 的紧密协同工作,开发人员可以轻松地建立和维护强大的、安全的、可扩展的商业智能解决方案。SQL Server 商业智能开发套件提供了一个单独的工具,它涵盖了多个商业智能解决方案类型,并为开发ETL、分析和报表解决方案提供了一个单独的、稳定的环境。作为商业智能开发套件的一部分推出的直接的商业智能向导,使得甚至初级开发人员也能很容易的建立高级的商业智能模型和项目。
通过在数据库引擎中嵌入公共语言运行时,SQL Server 2008使开发人员可以从许多语言中选择用以开发应用程序,包括Transact-SQL、Visual Basic和C#。这个灵活的环境使得开发人员可以使用他们现有的技能有效的开发数据库应用程序。
当与Visual Studio 集成时,在所有的SQL Server 2008商业智能技术的开发体验在提供一个真实的应用程序开发环境用以支持整个开发生命周期(开发、测试、部署和测试)方面是最佳的。
2.实现最佳方法解决方案
然而,只有优化设计了这些解决方案才能使开发人员能够更快地建立解决方案。为了帮助确保最佳的性能和正确的功能,SQL Server 2008包含了下面的开发环境特性,它们促进完成最好的实践和帮助开发人员创建有效的分析解决方案:
一个用于所有的商业智能解决方案的稳定的开发环境,包括分析服务、OLAP、和数据挖掘应用。
内置的对整个开发生命周期的支持,包括设计、建立、调试、和部署操作;并通过集成的对源控制的支持来支持团队开发。
一些直接的设计器和向导,使得很容易快速的创建分析服务解决方案。
一个属性关系设计器,它包括内置的验证用以帮助创建最佳的维度设计。
一个维度编辑器,它被精简以提供更好的效率,并且会自动检测到是否存在父子关系。
一个立方体设计器也被流线化和进行了改进,以提供更好的监测性和属性的分类,还有辨别成员属性。
单独分区的聚合,它使得你可以优化不同阶段或部分的测量。
聚合设计器有一个新的算法,它帮助创建最初的聚合。这个聚合设计器在使用用法驱动聚合方面是最佳的。你现在可以查看创建的聚合和添加或删除聚合。提供了智能支持以帮助合并现有的和新的聚合设计。
此外,SQL Server 2008提供了AMO警告来提醒开发人员当他们的设计破坏了40多个最佳方法里的一个的时候。这些警告集成到了实时设计器检查中,并为开发人员监测他们的设计的潜在问题提供了一个非侵入式的方法。
3.提高报表灵活性
报表是任何商业智能解决方案中的一个重要的组成部分,而商业用户正在不断的要求更复杂的报表。SQL Server 报表服务提供了以下功能使得很容易建立报表解决方案:
一个在商业智能开发套件中的基于Visual Studio 的报表开发接口,开发人员可以用它建立、调试和部署报表。
一个叫做Report Builder的专注于商业的报表开发工具,商业用户可以用它来创建和部署报表。
数据显示结构范围宽广,包括表、矩阵、列表和图表。
此外,SQL Server 2008包括了对报表服务的极大增强,它改进了报表性能和提高了格式化和发布报表的灵活性。在SQL Server 2008中对报表服务作的改进之一是支持一个新的显示结构,这个新的显示结构结合了表和矩阵数据到一个新的Tablix 数据区域里。Tablix 使开发人员可以生成结合了固定的行和动态的行的报表。以前,这种类型的显示需要通过多个矩阵数据和缩短数据行的头才能显示出来。对Tablix 数据类型的支持简化了报表包含静态和动态数据的结合,并且显著的扩展了报表服务格式化和显示能力。
二、易管理
通过创新(例如统一的管理工具)加强了自我调整的能力,而一个强大的管理编程模型,SQL Server 2008扩展了SQL Server易使用的领先地位和提高了数据库管理员们(DBA)的效率。这些增强使得数据库管理员们专注于高价值的任务,像数据库架构,同时花费较少的时间作例行维护、配置和调整。
1.使用一个单独的、统一的工具
SQL Server 2008提供给数据库管理员SQL Server管理套件;一个单独的、统一的管理工具,它通过用于在扩展的SQL Server工具中增强了的数据库管理员效率、灵活性和管理能力的相同的接口,为提供了分析服务、报表服务和多个SQL Server的版本的集成管理。
2.监控数据仓库资源
SQL Server 2008还包括性能套件,它提供了一个集中的用于监控和报告你的数据服务解决方案中的资源使用情况的管理工具。
三、企业可扩展性
另一个与成功的生成复杂的商业智能解决方案相关的关键因素要求甚至在最大扩展下的持续性的开发人员效率和管理能力。而且,基础设施必须提供与性能相关的可扩展能力,这在SQL Server 2008中做了大量的投入,这些投入关注于确保甚至在商业智能执行的最大扩展下的这个企业级的持续性。
1.可扩展的分析
联机分析处理(OLAP)的前提是对准确的信息的及时访问,这使得终端用户可以迅速地回答最复杂的问题。因此,要做到很好的提供更快的查询时间和数据刷新速度是任何Microsoft SQL Server分析服务版本的开发过程中所优先考虑的,它也促使产生了SQL Server 2008分析服务版本。
SQL Server 2008包括使你能够采用增强的能力做更广的分析的分析服务,包括复杂的计算和聚合。分析服务通过以下方面提供了企业级的性能:
一个灵活的缓存模型。有了分析服务,你可以控制数据和聚合怎样缓存来优化查询性能,同时将缓存和它的来源的数据存储之间的反应时间维持在一个可接受的级别。
声明属性关系。在一个分析服务维度中,你可以明确的声明在一个层级中的属性的关系。这使得当处理一个立方体或维度时,分析服务能够预先生成聚合,这改进了运行时查询性能。
块计算。块计算删除了不必要的聚合计算(例如,当要聚合的值为NULL的时候),并提供了一个在分析立方体性能方面的显著提高,这使得用户可以增加他们的层级深度和计算的复杂度。
回写到MOLAP。分析服务2008删除了当执行回写时对查询ROLAP 分区的要求,这使得其极大的提高了性能。
扩展分析服务。分析服务数据库的一个单独的只读拷贝通过一个虚拟的IP地址可以在多个分析服务器间共享。这为分析服务解决方案提供了一个高度可扩展的开发选项。
执行计划持久性。SQL Server 2008提供了指定查询计划的功能,以便最大程度的扩展正确性的可能,查询计划不会受服务器重启、服务器更新合产品部署影响。这确保了对SQL Server 数据查询的稳定的最佳性能。
2.可扩展的生成报表
对于大多数公司来说,在正确的时间给正确的用户以正确的信息是一个很大的挑战。SQL Server 2008提供了一个高性能的报表引擎用于处理和格式化报表,同时还提供了一套工具用于创建、管理和查看报表。一个可扩展的架构和开放的接口使得可以很容易的在不同的IT环境中集成报表解决方案。
你可以从多个不同的数据源生成报表,包括SQL Server、DB2和Oracle,而不需要先建立一个集中的数据仓库。你可以通过报表服务提供的简单的部署和配置能力在公司内外发送报表。这使得用户可以轻松的创建和分享任何规模或复杂度的报表。你还可以通过网络来部署报表,将其轻松的发送给客户和供应商。
报表服务提供了对控制服务器活动的支持和能力,这些活动包括内存管理、基础设施合并和通过一个集中的存储和一个用于所有的配置设置的API的简单的配置。
扩展你的商业智能解决方案的范围
过去,商业智能解决方案只被少数商业分析师使用。现在,越来越多的公司认识到他们可以从扩展提供给所有雇员商业智能时非常有用的洞察力和将这些洞察力内置到日常的业务操作中获得收益。
SQL Server 2008使你可以通过一个可扩展的、开放的和可内置的架构,创建一个可以扩展到数千名用户,并且给所有人一个丰富的用户体验的商业智能解决方案,这个架构与Microsoft Office 协作使用是最佳的。
一、通过熟悉的工具扩展商业洞察力
Microsoft Office Microsoft Office 成为了普遍使用的高效的套件,全球范围的公司里的大多数信息工作人员使用它来执行他们日常的工作。通过与Office 的紧密集成,SQL Server 2008使你能够提供给你的雇员以他们所需要的关键的商业信息。
2007 Microsoft Office和Microsoft Office PerformancePoint Server 2007的紧密集成使得公司可以通过使用结合使用很好的技术来节省时间和金钱。通过采用熟悉的已经安装在每个桌上计算机的工具给所有人提供商业洞察力,这个集成还使得可以更快的获得扩大终端用户方面的投资回报。
1.使用Microsoft Office 扩展你的报表解决方案
报表服务2008支持对Microsoft Excel和Microsoft Word 格式的渲染。渲染的报表在易于使用的Microsoft Office 应用中是完全可以编辑的,这扩展了你的报表解决方案,以便用户可以创建定制的基于商业报表的文档。
2.将Excel 用于分析
Excel 是许多金融和商业分析工作可以选择的工具。通过将Excel 同SQL Server 分析服务相结合,你可以通过在Excel电子表格中的PivotTable动态视图和Microsoft PivotChart动态视图提供给商业用户强大的OLAP解决方案。
你还可以使用用于Excel 2007的SQL Server数据挖掘插件,使商业分析师和主管可以浏览数据挖掘项目的整个生命周期,包括准备数据、建立、评估,和管理挖掘模型,并通过使用电子表格数据或通过你的分析服务数据库可以访问到的外部的数据来预测结果。
3.给整个企业发布商业洞察
SQL Server 2008与SharePoint Services紧密集成,使得很容易在一个SharePoint站点中集中地发布和管理报表,并建立用户指定的仪表盘,这个仪表盘提供了相关报表的可定制视图。
此外,Microsoft Office PerformancePoint Server 提供了一个集中的接口,这个接口用于建立在SQL Server分析服务基础上的数据分析,它使得客户可以监控、分析、和计划他们的业务,还可以促进协作和提供对整个公司的全面的洞察。
二、使终端用户可以灵活的制作报表
SQL Server 2008提供了一些报表改进,使你可以快速且轻松的生成你公司需要的报表,并且是以你想要的格式和能充分显示它们所包含的数据的显示形式。
1.使用Report Builder创建即席报表
在SQL Server 2008中Report Builder被极大的增强了,使得用户可以轻松的建立任何结构的即席报表。这个直觉设计接口使得非开发人员可以轻松的创建商业文档,例如基于报表数据的订单、发货和合同。
2.包括丰富的格式化数据
丰富的格式化可以更直觉的制作商业文档和报表,并使它们非常易懂。SQL Server 2008的这个丰富的文本组件使得可以使用混合格式的文本框和导入标记的文本字符串,并支持新的图标格式和Tablix 数据,以便用户可以生成具有高度可视化设计的报表,使得可以传达清晰的和逻辑较强的商业信息。
3.受益于更快的响应
随着公司更多的采用报表来传递商业信息,确保你的报表解决方案的性能和可扩展性达到最高就变得更为重要了。SQL Server 2008中的报表服务引擎被重新设计,用来解决目前的局限性,现在它包括按需处理和基于实例的渲染,用以提供最好的报表性能。
4.在网络上安全的部署报表
SQL Server 2008通过在网络上安全地发布报表使你可以扩展你的报表服务解决方案的范围,将其传递给外部的用户,例如客户和供应商。
总结
SQL Server 2008建立在商业智能市场中的强大要素基础之上,提供一个可扩展的基础设施,使得信息技术可以在你的公司中实施商业智能,并在用户需要的时候为其提供商业智能。SQL Server 2008在数据仓库方面具有很大的进步,它提供了一个全面的和可扩展的平台,使得公司可以更快的将数据整合到数据仓库中,并扩展和管理数据,同时为所有用户提供洞察力。有了SQL Server 2008所提供的更可扩展的商业智能基础设施,就可以轻松的管理任何规模和复杂度的报表和分析,同时使用户可以与Microsoft Office做更深的集成。SQL Server 2008还改进了许多方面的性能,包括数据仓储、生成报表和分析。