客户端(Analysis Services - 多维数据)

Microsoft SQL Server Analysis Services 支持瘦客户端体系结构。 Analysis Services 计算引擎完全基于服务器,因此,所有查询都在服务器上进行解析。 因此,每个查询只需在客户端和服务器之间进行一次来回行程,从而使得性能可以随着查询复杂性的增加而伸缩。

Analysis Services 的本机协议为 XML for Analysis (XML/A)。 Analysis Services 为客户端应用程序提供了数个数据访问接口,但是所有这些组件都使用 XML for Analysis 与 Analysis Services 实例进行通信。

Analysis Services 提供了数个不同的访问接口,以支持不同的编程语言。 访问接口借助 Internet 信息服务 (IIS),并通过 TCP/IP 或 HTTP 发送和接收 SOAP 数据包中的 XML for Analysis 来与 Analysis Services 服务器进行通信。 HTTP 连接使用由 IIS 实例化的 COM 对象(称为数据抽取),该对象充当 Analysis Services 数据的管道。 数据抽取既不会以任何方式检查包含在 HTTP 流中的基础数据,也不会检查可用于数据库本身中任何代码的任何基础数据结构。

Analysis Services 的逻辑客户端体系结构

Win32 客户端应用程序可使用 OLE DB for OLAP 接口或用于组件对象模型 (COM) 自动化语言(如 Microsoft Visual Basic®)的 Microsoft® ActiveX® 数据对象 (ADO) 对象模型连接到 Analysis Services 服务器。 以 .NET 语言编码的应用程序可以使用 ADOMD.NET 连接到 Analysis Services 服务器。

现有的应用程序只需使用一个 Analysis Services 访问接口便可在不进行修改的情况下与 Analysis Services 进行通信。

编程语言

数据访问接口

C++

OLE DB for OLAP

Visual Basic 6

ADO MD

.NET 语言

ADO MD.NET

支持 SOAP 的任何语言

XML for Analysis

Analysis Services 的 Web 体系结构具有完全可伸缩的中间层,可方便小型和大型组织进行部署。 Analysis Services 为 Web 服务提供了广泛的中间层支持。 OLE DB for OLAP 和 ADO MD 支持 ASP 应用程序,ADOMD.NET 支持 ASP.NET 应用程序。 中间层(如下图中所示)可进行伸缩以供众多并发用户使用。

中间层体系结构的逻辑关系图

客户端应用程序和中间层应用程序都可以不通过访问接口而直接与 Analysis Services 进行通信。 客户端应用程序和中间层应用程序可以通过 TCP/IP、HTTP 或 HTTPS 使用 SOAP 数据包发送 XML for Analysis。 客户端可以使用任何支持 SOAP 的语言进行编码。 在这种情况下,尽管也可对使用 TCP/IP 与服务器建立的直接连接进行编码,但通信可由 Internet Information Services (IIS) 使用 HTTP 以最轻松的方式进行管理。 对于针对 Analysis Services 的瘦客户端解决方案而言,此解决方案可能是最“瘦”的解决方案了。

表格或 SharePoint 模式下的 Analysis Services

在 SQL Server 2012 中,对于表格数据库以及已发布到 SharePoint 站点的 PowerPivot 工作簿,可在 xVelocity 内存中分析引擎 (VertiPaq) 模式下启动服务器。 

PowerPivot for Excel 和 SQL Server Data Tools (SSDT) 是支持创建和查询分别使用 SharePoint 或表格模式的内存中数据库的唯一客户端环境。 您通过使用 Excel 和 PowerPivot 工具创建的嵌入的 PowerPivot 数据库包含在 Excel 工作簿内,并且作为 Excel .xlsx 文件的一部分存储。

但是,如果您将多维数据集数据导入到某一 PowerPivot 工作簿中,则该工作簿可以使用在传统多维数据集中存储的数据。 如果其他 PowerPivot 工作簿已发布到某一 SharePoint 站点,您还可以从该工作簿中导入数据。

注意注意

当您使用某一多维数据集作为 PowerPivot 工作簿的数据源时,您从该多维数据集获取的数据将定义为 MDX 查询;但是,该数据将作为平展的快照导入。 您不能以交互方式使用数据或刷新来自多维数据集的数据。

有关使用 SSAS 多维数据集作为数据源的详细信息,请参阅 PowerPivot for Excel

PowerPivot 客户端的接口

PowerPivot 通过使用针对 Analysis Services 的既定接口和语言与工作簿内的 xVelocity 内存中分析引擎 (VertiPaq) 存储引擎交互:AMO 和 ADOMD.NET,以及 MDX 和 XMLA。 在该外接程序内,通过使用与 Excel、数据分析表达式 (DAX) 类似的公式语言定义度量值。 DAX 表达式嵌入在发送到进程内服务器的 XMLA 消息内。 有关详细信息,请参阅 MDX and DAX

访问接口

PowerPivot 和 Excel 之间的通信使用 MSOLAP OLEDB 访问接口(11.0 版)。 在 MSOLAP 访问接口内,有四个可用于在客户端和服务器之间发送消息的不同的模块或传输。

TCP/IP   用于普通的客户端-服务器连接。

HTTP   用于通过 SSAS 数据抽取服务或者通过调用 SharePoint PowerPivot Web 服务 (WS) 组件进行 HTTP 连接。

INPROC   用于与进程内引擎的连接。

CHANNEL   为与 SharePoint 场中 PowerPivot 系统服务进行通信而保留。 有关使用 SharePoint 安装中的 PowerPivot 所需组件的详细信息,请参阅规划和体系结构 (PowerPivot for SharePoint)

请参阅

概念

OLAP 引擎服务器组件