用戶端 (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 提供數個不同的提供者,來支援不同的程式設計語言。提供者與 Analysis Services 伺服器的通訊方式,是透過 Internet Information Services (IIS),經由 TCP/IP 或 HTTP 來傳送和接收 SOAP 封包中的 XML for Analysis。HTTP 連接使用 IIS 具現化的 COM 物件,叫作資料幫浦,做為 Analysis Services 資料的導管。資料幫浦絕不會檢查 HTTP 資料流所包含的基礎資料,任何基礎資料結構也不可以供資料程式庫本身的任何程式碼使用。
Win32 用戶端應用程式可使用 OLE DB for OLAP 介面,或元件物件模型 (COM) 自動化語言的 Microsoft® ActiveX® Data Objects (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 for Analysis。可使用任何支援 SOAP 的語言,撰寫用戶端程式碼。此案例中的通訊由 Internet Information Services (IIS) 使用 HTTP 來管理最簡單,不過,也需要撰寫程式碼來使用 TCP/IP 直接連接到伺服器。這是 Analysis Services 的最精簡型用戶端方案。
VertiPaq 模式的 Analysis Services
在 SQL Server 2008 R2 中,VertiPaq 儲存引擎用於 Excel 活頁簿內的記憶體中多維度資料庫,包括已發行至 SharePoint 網站的 PowerPivot 活頁簿。
PowerPivot for Excel是建立及查詢使用 VertiPaq 模式之記憶體中資料庫唯一支援的用戶端。透過 Excel 和 PowerPivot 工具所建立的多維度資料庫是包含在 Excel 活頁簿內,並當做 Excel .xlsx 檔案的一部分儲存。
您無法透過傳統 SSAS 用戶端和工具來存取 VertiPaq 儲存引擎。
不過,如果您將儲存在傳統 Cube 的資料匯入 PowerPivot 活頁簿中,活頁簿就可以使用此資料。如果另一個 PowerPivot 活頁簿已發行至 SharePoint 網站,您也可以從該活頁簿匯入資料。
[!附註]
當您使用 Cube 做為 PowerPivot 活頁簿的資料來源時,從 Cube 取得的資料是定義為 MDX 查詢;不過資料是以扁平化快照集方式匯入。您無法以互動方式使用資料或從 Cube 重新整理資料。
如需有關使用 SSAS Cube 做為資料來源的詳細資訊,請參閱<PowerPivot for Excel>(英文)。
PowerPivot 用戶端的介面
PowerPivot 透過下列已建立的 Analysis Services 介面和語言,在活頁簿內與 VertiPaq 儲存引擎互動:AMO 和 ADOMD.NET,以及 MDX 和 XMLA。在增益集內,透過類似 Excel 的公式語言,即資料分析運算式 (DAX),來定義量值。DAX 運算式內嵌於傳送至同處理序伺服器的 XMLA 訊息。如需詳細資訊,請參閱<Data Analysis Expressions 和 MDX>。
提供者
PowerPivot 和 Excel 之間的通訊使用 MSOLAP OLEDB 提供者 (10.5 版)。在 MSOLAP 提供者內,有四個不同的模組 (或傳輸) 可用於用戶端和伺服器之間傳送訊息。
TCP/IP:用於一般用戶端-伺服器連接。
HTTP:用於透過 SSAS 資料幫浦服務或透過呼叫 SharePoint PowerPivot Web 服務 (WS) 元件的 HTTP 連接。
INPROC:用於連接至同處理序引擎。
CHANNEL:保留供 SharePoint 伺服陣列中的 PowerPivotrved 系統服務通訊。如需有關必要元件以使用 Sharepoint 安裝中之 PowerPivot 的詳細資訊,請參閱<規劃與架構 (PowerPivot for SharePoint)>。