比較表格式和多維度解決方案

適用于:SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server Analysis Services (SSAS) 提供數種方法或模式來建立商業智慧語意模型:表格式和多維度。

多維度模式僅適用于SQL Server Analysis Services。 如果您想要將模型部署到 Azure Analysis Services 或 Power BI,您可以立即停止閱讀。 Azure Analysis Services或Power BI Premium語意模型不支援多維度模型。 如果您想要雲端中的多維度模型,唯一的方法就是將多維度模式中的SQL Server Analysis Services部署至 Azure VM。

由於多維度模型僅在SQL Server Analysis Services中受到支援,因此本文並不是 Analysis Services 平臺的比較, (SQL Server、Azure、Power BI) 。 其旨在提供完全在SQL Server Analysis Services內容中多維度和表格式模型建構的高階比較。

SQL Server Analysis Services也包含 Power Pivot for SharePoint 模式,這仍支援 SharePoint 2016 和 SharePoint 2013,不過,Microsoft 的 BI 策略已從 Excel 與 SharePoint 的 Power Pivot 整合移出。 Power BI 和Power BI 報表伺服器現在是使用 Power Pivot 模型裝載 Excel 活頁簿的建議平臺。 因此,本文現在會排除 Power Pivot for SharePoint 比較。

在SQL Server Analysis Services中,擁有多個方法可針對不同的商務和使用者需求量身打造模型化體驗。 多維度是一種以開放標準為基礎的成熟技術,由許多 BI 軟體廠商所採用,但實作可能很困難。 表格式提供許多開發人員認為更具直覺性的關聯式模型化方法。 在長時間執行中,表格式模型更容易開發和更容易管理。 雖然多維度模型在許多 BI 解決方案中仍然普遍存在,但表格式模型現在更廣泛地接受為 Microsoft 平臺上的標準企業級 BI 語意模型化解決方案。

所有模型都會部署為在 Analysis Services 實例上執行的資料庫,或使用表格式模型部署為語意模型,以Power BI Premium容量。 用戶端應用程式或服務會存取模型,例如 Power BI。 模型資料會透過 Excel、Reporting Services、Power BI 和其他廠商的 BI 工具,以互動式和靜態報表視覺化。

使用 Visual Studio 建立的表格式和多維度解決方案,適用于在內部部署SQL Server Analysis Services實例上執行的公司 BI 解決方案,以及表格式模型、Azure Analysis Services伺服器資源,或做為Power BI Premium中的語意模型能力。 每個解決方案都會產生高效能的分析資料庫,可輕鬆地與用戶端應用程式和資料視覺效果服務整合。 但是,每個解決方案的建立、使用和部署方式都不相同。 本文的大部分會比較這兩種類型,以便您識別正確的方法。

模型類型概觀

下表列舉不同的模型、摘要說明方法、初始版本和支援的相容性層級。

類型 模型描述 最初發行 相容性層級
多維度 OLAP 模型建構 (Cube、維度、量值)。 SQL Server 2000
SQL Server 2012 和更新版本
1050
1100
Power Pivot 原本為增益集,現在則完全整合至 Excel。 表格式模型基礎結構。 不支援 API 和腳本。 SQL Server 2008 R2 N\A
表格式 關聯式模型建構 (模型、資料表、資料行)。 在內部,中繼資料會繼承自 OLAP 模型建構 (Cube、維度、量值)。 程式碼和指令碼會使用 OLAP 中繼資料。 SQL Server 2012
SQL Server 2014
1050
1103
SQL Server 2016 和更新版本中的表格式 關聯式模型建構 (模型、資料表、資料行) ,在 表格式模型指令碼語言 (TMSL) 表格式物件模型 (TOM) 程式碼中說明的表格式中繼資料物件定義。 SQL Server 2016
SQL Server 2014
SQL Server 2019
SQL Server 2022
1200
1400
1500
1600
Azure Analysis Services 1 中的表格式 關聯式模型建構 (模型、資料表、資料行) ,在 表格式模型指令碼語言 (TMSL) 表格式物件模型 (TOM) 程式碼中說明的表格式中繼資料物件定義。 2016 1200 和更新版本
Power BI Premium 2 中的表格式 關聯式模型建構 (模型、資料表、資料行) ,在 表格式模型指令碼語言 (TMSL) 表格式物件模型 (TOM) 程式碼中說明的表格式中繼資料物件定義。 2020 1500 和更新版本

[1] Azure Analysis Services支援 1200 和更高相容性層級的表格式模型。 不過,不支援本文中所述的所有表格式模型化功能。 雖然建立和部署表格式模型以Azure Analysis Services與內部部署模型相同,但請務必瞭解差異。 若要深入瞭解,請參閱什麼是Azure Analysis Services?

[2] Power BI Premium容量支援 1500 和更高相容性層級的表格式模型。 不過,不支援本文中所述的所有表格式模型化功能。 建立和部署表格式模型以Power BI Premium與內部部署或 Azure 相同時,請務必瞭解差異。 若要深入瞭解,請參閱Power BI Premium 中的 Analysis Services

相容性層級很重要。 它是指 Analysis Services 引擎中的發行特定行為。 若要深入瞭解,請參閱 表格式模型相容性層級多維度模型相容性層級

模型功能

下表摘要列出模型層級的功能可用性。 檢閱此清單,以確定要建置的模型類型中有您想要使用的功能。

功能 多維度 表格式
動作 No
彙總 No
計算結果欄 No Yes
導出量值 Yes Yes
計算資料表 No 3
自訂組件 No
自訂積存 No
預設成員 No
顯示資料夾 Yes 3
Distinct Count Yes 是 (透過 DAX)
鑽研 Yes 是 (取決於用戶端應用程式)
階層 Yes Yes
KPI Yes Yes
連結物件 Yes 是 (連結資料表)
M 運算式 No 3
多對多關聯性 Yes 沒有 (,但在 1200 和更高的相容性層級有 雙向交叉篩選)
命名集 No
不完全階層 Yes 3
父子式階層 Yes 是 (透過 DAX)
分割區 Yes Yes
檢視方塊 Yes Yes
查詢交錯 No 4
資料列層級安全性 Yes Yes
物件層級安全性 Yes 3
局部加總量值 Yes Yes
翻譯
使用者定義階層 Yes Yes
回寫 No

[3] 如需相容性層級之間功能差異的相關資訊,請參閱 Analysis Services 中表格式模型的相容性層級

[4] - SQL Server 2019 和更新版本的 Analysis Services,Azure Analysis Services。

資料考量

表格式和多維度模型會使用來自外部來源的匯入資料。 在您決定最符合資料的模型類型時,所需要匯入的資料數量和類型可能是主要的考量。

壓縮

表格式和多維度解決方案都使用資料壓縮來縮減 Analysis Services 資料庫的大小 (相對於您匯入資料的來源資料倉儲)。 因為實際壓縮會因為基礎資料的特性而異,所以無法精確得知當資料經過處理並用於查詢之後,解決方案將需要多少磁碟和記憶體數量。

許多 Analysis Services 開發人員使用的預估方式如下:多維度資料庫的主要儲存空間大約是原始資料大小的三分之一。 表格式資料庫有時會有更大的壓縮量,大約是十分之一的大小,特別是當大多數資料是從事實資料表匯入時。

模型的大小和資源偏差 (記憶體內部或磁碟)

Analysis Services 資料庫的大小僅受到可用來加以執行的資源所限。 模型類型和儲存模式也會在資料庫的成長極限中佔有一席之地。

在記憶體內部或將查詢執行卸載至外部資料庫的 DirectQuery 模式下,就會執行表格式資料庫。 針對表格式記憶體內部分析,資料庫會完全儲存在記憶體中,這表示您不僅必須有足夠的記憶體來載入所有資料,還需建立其他資料結構來支援查詢。

SQL Server 2016 中已重新建構的 DirectQuery,其限制比之前少,且效能更好。 善用儲存體和查詢執行的後端關聯式資料庫,讓建立大規模表格式模型比先前更加可行。

在過去,生產環境中最大的資料庫是多維度,在專用硬體上獨立執行處理和查詢工作負載,每一個都針對各自的用途優化。 表格式資料庫迅速趕上,且 DirectQuery 中新的進階功能協助更進一步拉大距離。

對於多維度卸載資料儲存體和查詢執行,可透過 ROLAP 取得。 在查詢伺服器上,可以快取資料列集,並分頁過時的資料列集。有效率且平衡的記憶體和磁片資源使用,通常會引導客戶進行多維度解決方案。

在負載之下,任一個解決方案類型的磁碟和記憶體需求應該都會隨著 Analysis Services 快取、儲存、掃描和查詢資料而增加。 如需記憶體分頁的詳細資訊,請參閱 Memory Properties。 如需深入了解延展,請參閱 High availability and Scalability in Analysis Services

支援的資料來源

表格式模型可以從關聯式資料來源、資料摘要和某些文件格式匯入資料。 您也可以搭配表格式模型使用 OLE DB for ODBC 提供者。 1400 和更高相容性層級的表格式模型,可讓您從中匯入的各種資料來源大幅增加。 這是因為使用 M 公式查詢語言,在 Visual Studio 中引進新式取得資料資料查詢和匯入功能。

多維度解決方案可以使用 OLE DB 原生和 Managed 提供者從關聯式資料來源匯入資料。

若要檢視您可以匯入至每個模型中的外部資料來源清單,請參閱下列主題:

查詢和指令碼語言支援

Analysis Services 包括 MDX、DMX、DAX、XML/A、ASSL 和 TMSL。 這些語言的支援會因模型類型而有所不同。 如果查詢和指令碼語言需求是其中一項考量,請檢閱以下清單。

  • 表格式模型資料庫可支援 DAX 計算、DAX 查詢和 MDX 查詢。 此在所有相容性層級皆為 true。 指令碼語言是針對相容性層級 1050-1103 的 XMLA) 的 ASSL (,而 TMSL (則適用于相容性層級 1200 和更新版本的 XMLA) 。

  • 多維度模型資料庫支援 MDX 計算、MDX 查詢、DAX 查詢和 ASSL。

  • 表格式和多維度模型和資料庫支援 Analysis Services PowerShell。

所有資料庫都支援 XMLA。

安全性功能

所有 Analysis Services 方案都可以在資料庫層級維護安全。 其他細微的安全性選項會因模式而異。 如果您的方案需要細微的安全性設定,請檢閱以下清單,以確保您想要建立的方案類型可支援您想要的安全性層級:

設計工具

具有 Analysis Services 專案延伸模組的 Visual Studio 也稱為SQL Server Data Tools (SSDT) ,是用來建立多維度和表格式解決方案的主要工具。 此撰寫環境會使用 Visual Studio 殼層來提供設計工具工作區、屬性窗格和物件導覽。 表格式模型也支援開放原始碼和協力廠商工具所撰寫的模型。 若要深入瞭解,請參閱 Analysis Services 工具

用戶端應用程式支援

一般而言,表格式和多維度解決方案支援使用一或多個 Analysis Services 用戶端程式庫的用戶端應用程式, (MSOLAP、AMOMD、ADOMD) 。 例如,Excel、Power BI Desktop和自訂應用程式。 Power BI 之類的資料視覺效果和分析服務完全支援表格式和多維度解決方案。

如果您正在使用 Reporting Services,則報表功能和可用性會因版本和伺服器模式而異。 因此,您想要建立的報表類型可能會影響您選擇安裝的伺服器模式。

Power View 是在 SharePoint 中執行的Reporting Services撰寫工具,可在部署在 SharePoint 2010 伺服器陣列中的報表伺服器上使用。 唯一可以與此報表搭配使用的資料來源類型是 Analysis Services 表格式模型資料庫或 Power Pivot 活頁簿。 這表示您必須有表格式模式伺服器或 Power Pivot for SharePoint 伺服器,才能裝載這種類型的報表所使用的資料來源。 您無法使用多維度模型作為 Power View 報表的資料來源。 您必須建立 Power Pivot BI 語意模型連接或Reporting Services共用資料來源,才能作為 Power View 報表的資料來源。

Report Builder和報表設計師可以使用任何 Analysis Services 資料庫,包括 Power Pivot for SharePoint 上裝載的 Power Pivot 活頁簿。

所有 Analysis Services 資料庫都支援 Excel 樞紐分析表報表。 不論您使用表格式 .database、多維度資料庫或 Power Pivot 活頁簿,Excel 功能都相同,雖然多維度資料庫只支援回寫。

另請參閱

表格式模型概觀
多維度模型