设为首页 收藏本站
查看: 820|回复: 0

[经验分享] Analysis Services基础知识——深入SQL Server 2008

[复制链接]

尚未签到

发表于 2018-10-17 11:39:44 | 显示全部楼层 |阅读模式
Analysis Services基础知识

——深入SQL Server 2008  这一节中,我们将介绍Analysis Services的体系结构,这个体系结构在SQLServer2005中建立,并在SQL Server 2008中得以延续。我们还将研究Analysis Services的一些基础特性。

  本书相关链接:http://blog.csdn.net/turingbooks/article/details/6643167
  体系结构
  图 20-1给出了Analysis Services体系结构的一个高层视图。主要组件是UDM(Unified Dimensional  Model,统一维度模型),这是一个表示关系型和多维数据存储库的内聚维度模型。UDM提供了从客户程序(如Excel或SQLServer  Reporting  Services)到各种异构数据源的一个桥(标准表示)。不必使用各个数据源的本机语言(如特定的SQL语言)来访问数据源,UDM允许客户程序向 UDM发出命令。
  很多Analysis Services功能都建立在UDM之上。这包括层次结构、分类、时间表示、语言转换和透视。甚至一些高级功能(如主动缓存和分析)也成为UDM的内置部分,相应地也是Analysis Services的功能。
  随 着XML和Web服务变得越来越重要,Analysis  Services以一种全面的方式支持这些当前的技术主流。AnalysisServices服务器的行为方式类似于一个Web服务,毫无疑问,管理这个 服务器要采用基于XML的语言。所有与Analysis Services服务器的客户端通信都通过基于标准的XML/A协议完成。

  微 软仍在继续支持各种技术,目的是与XML/A提供的功能(ADOMD、ADOMDB.NET、OLE DB for  OLAP和Win32)实现向后兼容。XML/A实际上是ASSL(Analysis ServicesScripting  Language,Analysis  Services脚本语言)的一个子集,XML/A发送操作命令,如Create、Alter和Process(分别创建一个多维数据集、修改一个多维数 据集,以及处理一个多维数据集)。ASSL也是用来指定Analysis  Services中对象的语言。XML/A处理命令,ASSL的其余部分是面向Analysis Services对象的一个DDL。
  BIDS 作为SQL Server BI的开发环境,使用了Visual Studio的开发风格(解决方案、项目和源文件)。与一个BIDS Analysis  Services项目相关的源文件包含与Analysis Services对象相关的元数据。可以将这些文件提交到标准源代码控件(如Visual  SourceSafe或Visual Studio TeamFoundation Server)。元数据语言是XML,存储在文件中。SQL  Server Management Studio和BIDS使用XML/A与Analysis Services通信。
  微软在SQL  Server 2005的Analysis  Services中引入了主动缓存,使得低延时应用有最小的管理开销。主动缓存的主要目的是对数据的过时性进行管理。例如,可以将主动缓存配置为在底层数 据改变时进行更新。如果缓存正在更新过程中,Analysis  Services会足够聪明,指示查询不要从缓存取结果,而应对底层数据源运行查询。主动缓存最适合用在当底层数据改变时发出通知的关系数据库中。
  SQL  Server 2008中的Analysis  Services不会将整个维度都缓存在内存中。类似于操作系统在内存中保留某些页而将某些页面切换到磁盘上,Analysis  Services也使用了物理内存和磁盘空间。这种方法的好处是现在Analysis  Services可以支持无限的维度大小。例如,SQLServer  2000的AnalysisServices要根据可用的物理RAM限制维度大小。现在Analysis  Services可以利用缓存(将结果部分存储在磁盘上),因此不受RAM的限制。
  开发环境
  BIDS是Analysis Services开发的主要环境。这个应用实际上是Visual Studio 2008的一个版本,随SQL Server2008发布而没有额外费用。
  在 开发人员将Analysis  Services项目部署到一个服务器上之前,BIDS支持离线开发。这种离线开发是可行的,因为BIDS会使用所访问的数据源的模式快照。它创建的 AnalysisServices对象(多维数据集、维度、事实表,等等)只是这些对象的本地副本。开发人员必须将它们部署到一个特定的Analysis  Services服务器。这样做真正的好处是,即使AnalysisServices未在本地运行,而且即使开发人员没有连接网络,也可以进行开发。
  在 离线开发之上,BIDS为计算的创建提供了管理对话框和基于向导的支持。这些用户界面改进可以自动完成计算的管理,包括时间管理和解释、账户智能 (account  intelligence)、财务聚合(financialaggregation)、对多种货币的支持,以及半累加(semi-additive)度量 值。如果不使用这些对话框和基于向导的支持,另一种做法就是手动编写这些计算。
  注意   要理解术语半累加度量值,需要对Analysis Services对象有所了解。计算会在由维度组成的多维数据集上运行。完全累加度量值是对一个多维数据集的所有维度进行计算。半累加度量值则是对一个多维数据集的一部分而不是全部维度进行计算。
  BIDS的另一个好处是对多种配置的支持。这样就可以对Analysis Services的多个实例部署项目。另外还支持本地化对象和转换,所以Analysis Services支持采用多种语言部署。
  Analysis Services对象和概念
  Analysis Services包括很多我们感兴趣的特性。在这里,我们将回顾其中最重要的一些对象和概念,这些对象和概念对于有效的BI实现尤其有用。我们将在下一节介绍更多特定于OLAP应用的概念。
  1.数据源视图
  DSV(Data  source  views,数据源视图)在数据源之上形成了一个虚拟层,包含与数据源相关的对象的一个子集(只是相关元素)。例如,一个DSV可能包含与工资处理有关的 表和视图的一个子集。利用这种可视化,开发人员可以重命名对象,还可以创建计算列和命名查询。命名查询支持的另一个好处是,开发人员可以访问基础视图而无 需要求用户对数据源有CREATEVIEW权限。
  2.多维表达式
  前面提到过,MDX是Analysis Services支持的语言,来实现计算和安全性规则。开发人员使用MDX查询AnalysisServices,并建立计算和KPI。
  3.KIP框架和透视
  KPI在SQL Server 2005中引入,这是一些服务器端对象,可以图形化表示一个值、该值的一个期望目标、指标的状态(好、坏等),以及度量值的走向。
  例 如,一个证券所可以使用大拇指朝上(thumb-is-up)或大拇指朝下(thumb-is-down)的图片来指示是否买入或卖出某只股票。确定这一 点的底层算法可能相当复杂(涉及值、目标、状态和走向),不过KPI(公司度量值)可以很简单:买入(大拇指朝上的图片)或是卖出(大拇指朝下的图片)。
  走向是一个方向性行为,可以与一个图片关联,如温度计、燃料表或者一个向上或向下的箭头。例如,一辆车可能在比赛中领先(KPI的状态),但是另一辆车可能很快追上(走向)。开发人员要使用MDX语言定义一个KPI的值、目标、状态和走向。
  还 有一个功能可以支持用户特定的信息上下文,这就是透视。透视(perspective)是特性、用户定义的层次结构、操作和度量组的一个逻辑集合,经过优 化可以为给定的一类用户提供底层数据的一种相当精美的定制视图。可以认为AnalysisServices中的透视就相当于关系型引擎中的视图。
  4.CLR集成
  有 些情况下,Analysis Services开发人员可能仍需要用到采用某种高级语言完成的计算,如CLR(common language  runtime,通用语言运行时)语言C#和VB.NET。在SQL Server 2008中,可以使用这种CLR语言创建SQL  Server对象(如用户定义的函数等)。这个CLR语言支持不仅包括用户定义的函数,还包括存储过程和触发器。
  可以使用Visual  Studio 2008为SQL Server开发这种CLR插件。同一个Visual  Studio解决方案完全有可能既包含一个AnalysisServices项目,同时包含一个C#或VB.NET项目来提供Analysis  Services项目要用到的用户定义的函数(相当于一个应用和一个开发环境)。
  5.AMO
  从管理的角度看,AMO(Analysis Management Objects,分析管理对象)为创建和维护AnalysisServices对象公开了一个API。AMO可以处理管理任务,包括安全性和处理,甚至包括备份和恢复。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-622763-1-1.html 上篇帖子: 一、SQL SERVER 2005快捷键 下篇帖子: 【SQL Server备份恢复】数据库备份
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表