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

適用于: SQL ServerAnalysis Services Azure Analysis Services 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 也包含 SharePoint 模式的 Power Pivot (仍支援 SharePoint 2016 和 SharePoint 2013),但 Microsoft 的 BI 策略已從 Power Pivot 與 Excel 整合的 SharePoint 中移除。 Power BI 和 Power BI 報表伺服器現在是使用 Power Pivot 模型裝載 Excel 活頁簿的建議平臺。 因此,本文現在會排除 SharePoint 比較的 Power Pivot。

在 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
1200
1400
1500
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 3
自訂組件
自訂積存
預設成員
顯示資料夾 Yes 3
Distinct Count Yes 是 (透過 DAX)
鑽研 Yes 是 (相依于用戶端應用程式)
階層
KPI
連結物件 Yes 是 (連結資料表)
M 運算式 No 3
多對多關聯性 Yes 沒有 (,但在1200和更高的相容性層級有 雙向交叉篩選)
命名集
不完全階層 Yes 3
父子式階層 Yes 是 (透過 DAX)
資料分割
檢視方塊
查詢交錯 No 4
資料列層級安全性
物件層級安全性 Yes 3
局部加總量值
翻譯
使用者定義階層
回寫

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

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

資料考量

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

壓縮

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

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

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

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

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

DirectQuery (SQL Server 2016 中的改頭換面)具有比之前更少的限制,且效能更佳。 善用儲存體和查詢執行的後端關聯式資料庫,讓建立大規模表格式模型比先前更加可行。

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

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

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

支援的資料來源

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

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

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

查詢和指令碼語言支援

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

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

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

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

所有資料庫都支援 XMLA。

安全性功能

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

設計工具

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

用戶端應用程式支援

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

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

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

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

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

另請參閱

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