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 一起提供,以支持不同的编程语言。 提供程序通过 TCP/IP 或通过 Internet Information Services (IIS)通过 SOAP 数据包发送和接收 XML for Analysis 与 Analysis Services 服务器通信。 HTTP 连接使用由 IIS 实例化的 COM 对象,称为数据泵,该泵充当 Analysis Services 数据的管道。 数据泵不会以任何方式检查 HTTP 流中包含的基础数据,也不检查任何可用于数据库本身中的任何代码的基础数据结构。

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

Win32 客户端应用程序可以使用 OLE DB for OLAP 接口或组件对象模型 (COM) 自动化语言的 Microsoft® ActiveX® 数据对象(ADO)对象模型(如 Microsoft Visual Basic®)连接到 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 进行分析。 客户端可以使用支持 SOAP 的任何语言进行编码。 在这种情况下,Internet Information Services (IIS)使用 HTTP 轻松管理通信,但也可以使用 TCP/IP 与服务器的直接连接进行编码。 这是 Analysis Services 最精简的客户端解决方案。

表格或 SharePoint 模式下的 Analysis Services

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

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

但是,如果将多维数据集数据导入工作簿,PowerPivot 工作簿可以使用传统多维数据集中存储的数据。 如果数据已发布到 SharePoint 网站,则还可以从另一个 PowerPivot 工作簿导入数据。

注释

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

PowerPivot 客户端的接口

PowerPivot 使用 Analysis Services 的已建立接口和语言与工作簿中的 xVelocity 内存中分析引擎(VertiPaq)存储引擎交互:AMO 和 ADOMD.NET,以及 MDX 和 XMLA。 在外接程序中,度量值是使用类似于 Excel、数据分析表达式(DAX)的公式语言定义的。 DAX 表达式嵌入到发送到进程内服务器的 XMLA 消息中。

提供者

PowerPivot 和 Excel 之间的通信使用 MSOLAP OLEDB 提供程序(版本 11.0)。 在 MSOLAP 提供程序中,有四个不同的模块或传输,可用于在客户端和服务器之间发送消息。

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

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

INPROC 用于连接到进程内引擎。

渠道 保留用于与 SharePoint 场中的 PowerPivot 系统服务的通信。

另请参阅

OLAP 引擎服务器组件