在線分析處理 (OLAP) 是一種技術,可組織大型商務資料庫來執行複雜的計算和趨勢分析。 此方法可讓複雜的查詢不中斷交易式系統。
商務交易和記錄會儲存在稱為 在線事務處理 (OLTP) 的資料庫,這些資料庫已針對個別記錄項目優化。 這些資料庫會保存寶貴的資訊,但並非專為分析而設計,因此數據擷取相當耗時且困難。
若要解決此問題,OLAP 系統會有效率地從數據擷取商業智慧。 OLAP 資料庫已針對大量讀取和低寫入工作進行優化。 建立模型並清理,以便進行有效的分析。 OLAP 資料庫通常會保留歷程記錄數據以進行時間序列分析。
OLAP 系統傳統上會使用多維度數據 Cube,以支援複雜查詢和分析的方式組織數據。 下圖顯示傳統的 OLAP 系統架構。
隨著技術進步,數據和計算規模也會增加,OLAP 系統會轉換成 Microsoft Fabric 支援的大規模平行處理架構(MPP)。 如需詳細資訊,請參閱 網狀架構分析數據存放區。
下圖顯示新式 OLAP 系統架構。
語意模型化
語意數據模型是一種概念模型,描述其包含之數據元素的意義。 組織通常會有自己的專案詞彙,有時這些詞彙有同義字。 組織在相同詞彙中也可能有不同的意義。 例如,清查資料庫可能會使用資產標識符和序號來追蹤一段設備。 但銷售資料庫可能會將序號稱為資產標識符。 在沒有描述關聯性的模型的情況下,沒有簡單的方法可以關聯這些值。
語意模型化提供資料庫架構的抽象層級,讓使用者不需要知道基礎數據結構。 用戶可以輕鬆地查詢數據,而不需透過基礎架構執行匯總和聯結。 數據行通常會重新命名為更方便使用的名稱,讓數據的內容和意義更為明顯。
語意模型化通常適用於讀取密集的情境,例如分析和商務智慧(OLAP),而不是大量寫入的交易數據處理(OLTP)。 語意建模適合偏重閱讀的情境,因為一般語意層的特性:
- 匯總行為已設定,以便報告工具正確顯示它們。
- 定義商業規則和計算。
- 包含時間導向的計算。
- 數據通常會從多個來源整合。
- 支援即時分析。
傳統上,語意層會基於這些原因而放在數據倉儲上。
語意模型有兩種主要類型:
表格式模型 使用關係型模型建構,例如模型、數據表和數據行。 在內部,元數據繼承自 OLAP 模型建構,例如多維數據集、維度和量值。 程式代碼和腳本使用 OLAP 元數據。
多維度模型 使用傳統的 OLAP 模型建構,例如 Cube、維度和量值。
Analysis Services 和 Fabric 提供必要的基礎結構和工具,以有效地實作語意模型化。
使用案例範例
組織會將數據儲存在大型資料庫中。 它想要將此數據提供給商務使用者和客戶,以建立自己的報表並進行分析。
他們可以讓這些使用者直接存取資料庫,但此選項有缺點,包括安全性管理和訪問控制。 使用者可能難以瞭解資料庫的設計,包括數據表和數據行的名稱。 此選項需要使用者知道要查詢哪些數據表、應該如何聯結這些數據表,以及如何套用其他商業規則以取得正確的結果。 使用者也需要知道 SQL 之類的查詢語言。 一般而言,此選項會導致多個用戶報告相同的計量,但結果不同。
更好的選項是將使用者所需的所有資訊封裝到語意模型。 使用者可以使用所選的報告工具,更輕鬆地查詢語意模型。 語意模型提供的數據來自數據倉儲,可確保所有用戶檢視單一事實來源。 語意模型也提供方便使用的數據表和數據行名稱、定義數據表之間的關聯性、包括描述和計算,以及強制執行數據列層級安全性。
語意模型化的典型特性
語意模型化和分析處理往往具有下列特性。
要求 | 說明 |
---|---|
圖式 | 寫入時套用的架構,嚴格執行 |
使用交易 | 否 |
鎖定策略 | 沒有 |
可更新 | 否,通常需要重新計算 Cube |
可擴充 | 否,通常需要重新計算 Cube |
工作負載 | 大量讀取、唯讀 |
索引 | 多維度索引編製 |
Datum 大小 | 小型到大型大小 |
型號 | 表格式或多維度 |
數據圖形 | 立方體、星形或雪花式架構 |
查詢彈性 | 高度彈性 |
規模 | 大型數據量,從數百GB到多個PB |
使用此解決方案的時機
請考慮針對下列案例使用 OLAP:
您需要快速執行複雜的分析和隨選查詢,而不會對 OLTP 系統造成負面影響。
您想要提供商務使用者從數據產生報表的簡單方式。
您想要提供數個聚合,讓用戶能夠快速且一致地獲得結果。
OLAP 特別適用於對大量數據套用匯總計算。 OLAP 系統已針對大量讀取案例進行優化。 OLAP 也允許使用者將多維度數據分割成切片,然後在兩個維度中檢視此類切片,例如透過數據透視表。 或者,他們可以依特定值篩選數據。 無論數據是否分割在數個數據源之間,使用者都可以執行這些程式,稱為 切割和分割 數據。 用戶可以輕鬆地探索數據,而不知道傳統數據分析的詳細數據。
語意模型可協助商務使用者抽象化關聯性複雜度,並讓您更輕鬆地快速分析數據。
挑戰
OLAP 系統也會產生挑戰:
從各種來源流入的交易會持續更新 OLTP 系統中的數據。 根據業務需求,OLAP 數據存放區通常會以較慢的間隔重新整理。 OLAP 系統適合策略性商務決策,而不是立即回應變更。 您也必須規劃某種層級的數據清理和協調流程,以將 OLAP 數據存放區保持在 up-to-date。
不同於 OLTP 系統中的傳統正規化關係型數據表,OLAP 數據模型通常為多維度。 因此,很難或不可能將它們直接對應至實體關聯性或面向物件模型,其中每個屬性都會對應至一個數據行。 相反地,OLAP 系統通常會使用星形或雪花式架構,而不是傳統的正規化。
Azure 中的 OLAP
在 Azure 中,OLTP 系統中的數據,例如 Azure SQL Database,會複製到 OLAP 系統,例如 網狀架構 或 Analysis Services。 Power BI、Excel 和非Microsoft選項等數據探索和視覺效果工具會連線到 Analysis Services 伺服器,並提供使用者對模型化數據具有高度互動和可視化豐富的見解。 您可以使用 SQL Server Integration Services 來協調從 OLTP 系統到 OLAP 系統的數據流。 若要實作 SQL Server Integration Services,請使用 Azure Data Factory。
下列 Azure 資料存放區符合 OLAP 的核心需求:
SQL Server Analysis Services 為商業智慧應用程式提供 OLAP 和數據採礦功能。 您可以在本機伺服器上安裝 SQL Server Analysis Services,或在 Azure 中的虛擬機 (VM) 內裝載 SQL Server Analysis Services。 Analysis Services 是完全受控的服務,可提供與 SQL Server Analysis Services 相同的主要功能。 Analysis Services 支援連線到您組織中雲端和內部部署 的各種數據源 。
叢集數據行存放區索引適用於 SQL Server 2014 和更新版本,以及 SQL Database。 這些索引適用於 OLAP 工作負載。 從 SQL Server 2016 開始,包括 SQL Database,您可以透過可更新的非叢集數據行存放區索引,利用混合式交易和分析處理 (HTAP)。 使用 HTAP 在同一個平台上執行 OLTP 和 OLAP 處理。 這種方法不需要多個數據復本,以及個別的 OLTP 和 OLAP 系統。 如需詳細資訊,請參閱 即時作業分析的數據行存放區。
關鍵選擇準則
若要縮小選擇範圍,請回答下列問題:
您要受控服務,而不是管理自己的伺服器嗎?
您是否需要Microsoft Entra ID 來進行安全驗證?
您需要在 OLTP 資料存放區之外整合來自數個來源的數據嗎?
您要進行即時分析嗎?
Fabric Real-Time Intelligence 是 Fabric 中功能強大的服務,可讓您用來擷取深入解析,並將移動中的數據可視化。 它提供事件驅動案例、串流數據和數據記錄的端對端解決方案。 無論您是管理 GB 或數據 PB,動作中的所有組織數據都會交集於 Real-Time 中樞。
您是否需要使用預先匯總的數據,例如提供語意模型,讓商務使用者更容易分析?
如果是,請選擇支援多維度 Cube 或表格式語意模型的選項。
提供匯總,協助使用者一致計算數據匯總。 如果您有許多數據列有數個數據行,預先匯總的數據也可以提供較大的效能提升。 您可以在多維度 Cube 或表格式語意模型中預先匯總數據。
功能矩陣
下表摘要說明這些服務之間功能的主要差異:
- 織物
- 分析服務
- SQL Server Analysis Services
- 具有數據行存放區索引的 SQL Server
- 具有列存儲索引的 SQL 資料庫
一般功能
能力 | 織物 | 分析服務 | SQL Server Analysis Services | 具有數據行存放區索引的 SQL Server | 具有列存儲索引的 SQL 資料庫 |
---|---|---|---|---|---|
這是受控服務 | 是的 | 是的 | 否 | 否 | 是的 |
MPP | 是的 | 否 | 否 | 否 | 否 |
支援多維度 Cube | 否 | 否 | 是的 | 否 | 否 |
支援表格式語意模型 | 是的 | 是的 | 是的 | 否 | 否 |
輕鬆整合多個數據源 | 是的 | 是的 | 是的 | 否 1 | 否 1 |
支援即時分析 | 是的 | 否 | 否 | 是的 | 是的 |
需要程式從來源複製數據 | 選擇性 3 | 是的 | 是的 | 否 | 否 |
Microsoft Entra 整合 | 是的 | 是的 | 否 | 否 2 | 是的 |
[1] SQL Server 和 SQL Database 無法查詢和整合多個外部數據源,但您可以使用 SQL Server Integration Services 或 Azure Data Factory 來建置管線來執行這些函式。 Azure VM 裝載的 SQL Server 有更多選項,例如連接伺服器和 PolyBase。 如需詳細資訊,請參閱 選擇數據管線協調流程技術。
[2] Microsoft Entra 帳戶不支持連線到 Azure VM 裝載的 SQL Server。 請改用網域 Windows Server Active Directory 帳戶。
[3] Fabric 透過 Azure Data Factory 管線或鏡像將數據移至 OneLake,提供整合數據源的彈性。 您也可以建立快捷方式,或在數據流上執行即時分析,而不需要移動數據。
延展性功能
能力 | 織物 | 分析服務 | SQL Server Analysis Services | 具有數據行存放區索引的 SQL Server | 具有列存儲索引的 SQL 資料庫 |
---|---|---|---|---|---|
備援區域伺服器以提供高可用性 | 是的 | 是的 | 否 | 是的 | 是的 |
支持查詢相應放大 | 是的 | 是的 | 否 | 是的 | 是的 |
動態延展性,相應增加 | 是的 | 是的 | 否 | 是的 | 是的 |