此範例工作負載說明使用 Microsoft Fabric 和 Lakehouse 設計範例來建立可調整數據平臺的綠地解決方案。 Fabric 是整合數據儲存、處理和分析的平臺。 綠地湖屋為設計有效率、未來的數據生態系統提供了全新的起點。
架構
下載此架構的 Visio 檔案。
資料流程
此設計會反映 Lambda 架構,其會將數據處理分成兩個層級:
- 大量批處理層,會定期處理以進行歷程分析
- 即時分析的低延遲、高輸送量串流處理層
串流處理路徑會以近乎即時的方式擷取和處理數據,因此非常適合儀錶板和異常偵測。 批處理路徑會處理完整的數據集,確保數據一致性並啟用複雜的歷史分析。 這個雙管齊下的方法提供即時深入解析,同時維護可靠的記錄以供日後探索。
冷路徑:批次分析
依賴關係型 SQL 語意的數據倉儲是歷史數據分析的傳統方法。 不過,此模式隨著時間而演進,而 Lakehouses 是目前批次數據分析的業界標準。 Lakehouse 建置在 開放原始碼 檔格式之上,與傳統的數據倉儲不同,它迎合所有類型的數據:結構化、半結構化和非結構化。 Lakehouse 中的計算層通常建置在 Apache Spark 架構之上,這是處理巨量數據的慣用引擎,因為它的分散式運算功能和高效能。 網狀架構提供原生 Lakehouse 體驗,其以 開放原始碼 Delta Lake 檔格式和受控 Spark 運行時間為基礎。
Lakehouse 實作通常會使用 獎章架構。 在此架構中,銅層包含原始數據、銀層包含已驗證和重複數據刪除的數據,而金層則包含高度精簡的數據,適用於支援業務面向使用案例。 此方法適用於所有組織和產業。 雖然這是一般方法,但您可以針對需求自定義它。 此架構示範如何使用原生網狀架構元件建立 Lakehouse。
透過 Data Factory 的數據擷取
(請參閱圖表中的步驟 1。
Fabric 中的 Azure Data Factory 功能提供 Azure Data Factory 服務的功能,這是廣泛使用的數據整合服務。 雖然 Data Factory 服務主要透過管線提供協調流程功能,但 Fabric 中的功能同時提供管線和數據流。
- 數據管線可讓您套用現用的豐富數據協調流程功能,以撰寫符合您企業需求的彈性數據工作流程。
- 數據流可讓您在數據流設計工具中使用 300 多個轉換。 您可以使用這些轉換來轉換數據,方法是使用類似於 Power Query 中的圖形化介面。 這些轉換包括智慧型手機 AI 型資料轉換。 數據流也可以將數據寫入 Fabric 中的原生數據存放區,例如 Lakehouse、warehouse、Azure SQL 和 Kusto 資料庫。
根據您的需求,您可以使用或這兩項功能來建立豐富的元數據驅動擷取架構。 您可以在已定義的排程上,或使用事件觸發程式,從各種來源系統上線數據。
資料轉換
(請參閱圖表中的步驟 2。
數據準備和轉換有兩種方法。 如果您偏好使用程式代碼優先體驗,可以使用 Spark 筆記本。 如果您偏好使用低程式碼或無程式碼體驗,您可以使用數據流。
網狀架構筆記本 是開發 Apache Spark 作業的重要工具。 它們提供 Web 架構的互動式介面,讓數據工程師用來撰寫程式代碼。 它們也會提供豐富的視覺效果,並啟用 Markdown 文字的使用。 資料工程師撰寫程式碼來擷取資料、資料準備和資料轉換。 數據科學家會使用筆記本來建立機器學習解決方案。 例如,他們會使用它們來建立實驗和模型,以及追蹤和部署模型。
Fabric 中的每個工作區都隨附 Spark 入門集區,用於預設 Spark 作業。 使用入門集區時,您可以預期快速進行 Apache Spark 會話初始化,通常是在 5 到 10 秒內,而不需要任何手動設定。 您也可以根據數據工程需求彈性自定義 Apache Spark 集區。 您可以根據您的 Spark 作業需求調整節點、自動調整規模,以及動態配置執行程式。 針對 Spark 執行時間自定義,您可以使用 環境。 在環境中,您可以設定計算屬性、選取不同的運行時間,並根據工作負載需求設定連結庫套件相依性。
數據流 可讓您從各種來源擷取數據、使用各種作業進行轉換,並選擇性地將其載入目的地。 傳統上,資料工程師會花費大量時間擷取、轉換及將資料載入可取用的格式,以進行下游分析。 數據流 Gen2 提供簡單、可重複使用的方式,可在 Power Query Online 中使用視覺提示來執行擷取、轉換、載入 (ETL) 工作。 數據流會保留所有轉換步驟。 若要在轉換之後執行其他工作或將數據載入不同的目的地,請建立數據管線,並將數據流 Gen2 活動新增至管線協調流程。
熱門路徑:即時分析
實時數據處理對於想要保持敏捷、快速做出明智的決策,以及利用立即見解來改善作業和客戶體驗的企業而言非常重要。 在 Fabric 中,這項功能是由即時智慧服務所提供。 它包含數個網狀架構功能,這些功能結合在一起,並可透過即時中樞存取。 即時中樞提供單一位置,讓您在整個組織中串流數據移動。
Fabric 中的即時智慧可針對事件驅動案例、串流數據和數據記錄啟用分析和數據視覺效果。 它會使用無程式代碼連接器目錄連接各種來源的時間型數據,並提供端對端解決方案來擷取、轉換、記憶體、分析、視覺效果、追蹤、AI 和實時動作。 雖然服務名稱使用「即時」一詞,但您的數據不需要以高速率和磁碟區串流。 實時智慧提供事件驅動,而不是排程驅動的解決方案。
即時擷取
(請參閱圖表中的步驟 3。
事件數據流 是一項 Fabric 功能,可讓無程式代碼方法從各種來源擷取即時事件,並將其傳送至不同的目的地。 它允許根據內容進行數據篩選、轉換、匯總和路由。 您也可以使用它從現有的串流建立新的數據流,並使用即時中樞在組織中共用它們。 Eventstreams 支援多個數據源和數據目的地。 您可以使用各種連接器到外部來源,例如 Apache Kafka 叢集、資料庫異動數據擷取摘要、AWS 串流來源(Kinesis)和 Google (GCP Pub/Sub)。
您可以建立 eventstream、將事件數據源新增至數據流、選擇性新增轉換來轉換事件數據,然後將數據路由傳送至支援的 目的地。 Fabric Lakehouse 是其中一個支援的目的地,因此您可以在將即時事件內嵌至 Lakehouse 之前先轉換即時事件。 即時事件會轉換成 Delta Lake 格式,然後儲存在指定的 Lakehouse 資料表中。 此模式可讓您快速移動數據的數據倉儲案例和歷程分析。
即時分析
(請參閱圖表中的步驟 4。
當您在 Fabric 中使用即時智慧時,視使用案例而定,串流數據有兩個典型的路徑: Reflex 專案和 Eventhouse。
反射是一個 Fabric 專案,可讓您在發生數據狀況時做出反應。 該反應可以是透過電子郵件或Microsoft Teams 的簡單警示訊息,也可以透過觸發Power Automate流程來叫用自定義動作。 您也可以從反射觸發任何 Fabric 專案。 許多可觀察性使用案例都受到反射支援,其中一個案例會在串流抵達事件串流時對串流數據做出反應。
eventhouse 是一或多個 Kusto 查詢語言 (KQL) 資料庫的集合。 KQL 資料庫是針對結構化、半結構化和非結構化數據的時間型串流事件所設計。 數據會根據擷取時間自動編製索引並分割,以提供快速且複雜的分析查詢功能,即使數據流也一樣。 儲存在 Eventhouse 中的數據可以在 OneLake 中提供,以供其他網狀架構進程使用。 您可以在 Fabric 中使用各種程式碼、低程式代碼或無程式代碼選項來查詢此數據,包括 KQL 查詢集中的原生 KQL 和 T-SQL。
即時儀錶板 的設計目的是提供從串流到事件集區的數據立即深入解析。 您可以將不同類型的視覺效果新增至儀錶板,例如圖表和圖形,並加以自定義以符合您的需求。 即時儀錶板提供特定目的,可快速識別抵達事件集區之高速數據的趨勢和異常。 它們與 Power BI 儀錶板不同,適用於企業 BI 報告工作負載。
數據服務
(請參閱圖表中的步驟 5。
有各種低程式代碼或支援程式代碼選項可用來取用 Fabric Lakehouses 和 eventhouses 的數據。
SQL 分析端點
SQL 分析端點會自動針對 Fabric 中的每個 Lakehouse 產生。 SQL 分析端點是唯讀的。 若要修改數據,您必須切換至 Lakehouse 模式並使用 Spark。 您可以從 Lakehouse 模式切換至 Lakehouse 的 SQL 模式,直接在 Fabric 入口網站中使用 SQL 分析端點來查詢數據。 或者,您可以使用 Lakehouse 的 SQL 連接字串,使用 Power BI、Excel 和 SQL Server Management Studio 等用戶端工具進行連線。 此選項適用於數據小組上的數據和商務分析師。
Spark 筆記本
筆記本是與 Lakehouse 數據互動的熱門方式。 網狀架構提供 Web 架構的互動式介面,數據工作者可用來撰寫程式代碼。 這些背景工作角色可以套用豐富的視覺效果和 Markdown 文字。 資料工程師撰寫程式碼來擷取資料、資料準備和資料轉換。 數據科學家會使用筆記本進行數據探索、建立機器學習實驗和模型,以及追蹤和部署模型。 此選項適用於專業數據工程師和數據科學家。
Power BI
Fabric 中的每個 Lakehouse 都隨附預先建置的預設語意模型。 當您設定 Lakehouse 並將數據載入其中時,系統會自動建立它。 這些模型會從 Lakehouse 繼承商業規則,讓您更輕鬆地從 Lakehouse 體驗中直接建立 Power BI 報表和儀錶板。 您也可以根據 Lakehouse 數據表的特定商務需求,建立自定義語意模型。 當您在 Lakehouse 上建立 Power BI 報表時,可以使用 Direct Lake 模式,而不需要您個別匯入數據。 此模式可讓您取得報表的記憶體內部效能,而不需要將數據移出 Lakehouse。
自訂 API
網狀架構在其專案上提供豐富的 API 介面。 OneLake 可透過 Azure Data Lake Storage API 和 SDK 開啟存取所有 Fabric 專案。 您可以改為使用 OneLake URI,透過任何與 Data Lake Storage 相容的 API、SDK 或工具,存取 OneLake 中的數據。 您可以使用 Azure 儲存體 Explorer,或透過 Azure Databricks 的快捷方式讀取差異數據表,將數據上傳至 Lakehouse。 OneLake 也支援 Azure Blob 檔案系統 (ABFS) 驅動程式,以便與 Data Lake Storage 和 Azure Blob 儲存體 更具相容性。 若要在下游應用程式中取用串流數據,您可以將事件串流數據推送至自定義 API 端點。 接著,您可以使用 Azure 事件中樞 或 AMQP 或 Kafka 通訊協定,從 Fabric 取用此串流輸出。
Power Automate
Power Automate 是一個低程式代碼應用程式平臺,可讓您用來自動化重複的工作,以及操作您的數據。 Fabric 中的反射項目支援 Power Automate 流程做為目的地。 這項 整合 可解除鎖定許多使用案例,並可讓您針對Microsoft和非Microsoft系統使用各種連接器來觸發下游動作。
元件
此解決方案會使用下列元件。
網狀架構:專為企業設計的端對端雲端式數據分析平臺。 它為各種數據工作提供統一的環境,例如數據擷取、轉換、分析和視覺效果。
OneLake:Fabric 中所有數據的中心中樞。 其設計為開放式數據湖,這表示不論結構為何,都可以以原生格式儲存數據。
Data Factory:適用於自動化數據移動和轉換的雲端式 ETL 和協調流程服務。 它可讓您跨各種數據源大規模自動移動和轉換數據。
數據工程:能夠收集、儲存、處理和分析大量數據的工具。
實時智慧:提供串流擷取和處理功能的服務。 它可讓您從不斷流動的數據中取得深入解析,以根據即時趨勢和異常狀況,更快速地進行決策。
Copilot:一種工具,可用來分析數據、產生見解,以及使用自然語言在 Fabric 和 Power BI 中建立視覺效果和報表。
Power BI:商業智慧工具,可用來建立互動式儀錶板和報表,以可視化數據並取得見解。
替代項目
Fabric 提供一組強大的工具,但根據您的特定需求,您可以從 Azure 生態系統中的替代服務所提供的增強功能中獲益。
Azure Databricks 可以取代或補充原生網狀架構數據工程功能。 Azure Databricks 藉由提供雲端式 Apache Spark 環境,提供大規模數據處理的替代方案。 Azure Databricks 也提供整個數據資產和功能的一般治理,以啟用數據科學、數據工程、機器學習、AI 和 SQL 型分析等重要使用案例。
Azure 機器學習 可以取代或補充原生網狀架構 資料科學 工具。 機器學習 除了 Fabric 中的模型實驗和管理功能之外,新增功能可讓您裝載在線推斷使用案例的模型、監視漂移模型,以及建立自定義的 Generative AI 應用程式。
案例詳細資料
此架構適用於下列案例:
- 在沒有舊版系統條件約束的情況下啟動全新的組織。
- 預期數據量在 0.5 TB 到 1.5 TB 之間的組織。
- 偏好簡單且簡化模式的組織,以平衡成本、複雜度和效能考慮。
- 需要簡單、符合成本效益且高效能數據平台的組織,可解決報告、分析和機器學習需求。
- 想要整合多個來源數據以進行統一檢視的組織。
不建議使用此解決方案:
- 具有在 Apache Spark 中具有有限技能之 SQL 或關係資料庫背景的 Teams。
- 從舊版系統或數據倉儲移轉至新式平台的組織。
考量
這些考量能實作 Azure Well-Architected Framework 的支柱,其為一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構。
可靠性
可靠性可確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性的設計檢閱檢查清單。
網狀架構會自動跨可用性區域復寫資源,而不需要任何設定。 例如,在全區域中斷期間,不需要採取任何動作來復原區域。 在 支持的區域中,Fabric 可以自動自我修復和重新平衡,以利用狀況良好的區域。
安全性
安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性的設計檢閱檢查清單。
您可以使用 Fabric,根據您的變更需求來管理、控制及稽核您的安全性設定。 使用 Fabric 的主要安全性建議包括:
驗證。 在 Microsoft Entra ID 中設定單一登錄 (SSO),以提供來自各種裝置和位置的存取權。
角色型存取控制 (RBAC)。 實作工作區型訪問控制,以管理誰可以存取和與特定數據集互動。
網路安全性。 當您連線到網路內外的數據或服務時,請使用網狀架構輸入和輸出網路安全性控制。 主要功能包括 條件式存取、 私人連結、 受信任的工作區存取,以及 受控私人端點。
稽核記錄。 使用 Fabric 提供的詳細稽核記錄來追蹤用戶活動,並確保跨平台的責任。
如需詳細資訊,請參閱 Microsoft Fabric 中的安全性。
成本最佳化
成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化的設計檢閱檢查清單。
網狀架構會 為指定數量的容量單位 (CUS) 提供容量保留 。 容量保留可協助您在認可一年網狀架構容量使用量的保留時節省成本。
若要最大化網狀架構容量的使用率,請考慮下列建議:
- 將 F SKU Rightsize。 若要判斷正確的容量大小,您可以布 建試用版容量 或 隨用隨付 F SKU ,以測量購買 F SKU 保留實例之前所需的實際容量大小。 建議您使用具代表性工作負載執行限定範圍的概念證明、監視 CU 使用量,然後推斷出生產環境 CU 使用量的估計值。 網狀架構提供無縫調整。 如果您需要更多容量,您可以從保守的容量大小開始相應增加。
- 監視使用模式。 定期追蹤和分析您的使用量,以識別尖峰和離峰時間。 這麼做可協助您了解資源最常使用的時間,讓您可以在離峰時間排程非關鍵性工作,以避免 CU 使用量出現尖峰。
- 優化查詢和工作負載。 請確定您的查詢和工作負載已優化,以減少不必要的計算使用量。 優化 DAX 查詢、Python 程式代碼和其他作業。
- 使用高載和平滑處理。 使用 Fabric 的高載和平滑功能來處理 CPU 密集型活動,而不需要更高的 SKU。 這樣做可協助您管理成本,同時仍維持效能。 如需詳細資訊,請參閱 評估及優化您的網狀架構容量。
- 設定警示和通知。 設定主動式警示,讓容量管理員可以監視和管理高計算使用量。 這麼做可讓他們採取及時的動作,以防止成本超支。
- 實作工作負載管理。 根據資源可用性和系統需求來排程記錄執行作業,以優化容量使用量。 如需詳細資訊,請參閱 工作負載管理。
請記住下列考慮:
- Data Lake Storage 定價取決於您儲存的數據量,以及您使用數據的頻率。 範例定價包含 1 TB 的數據儲存和其他交易式假設。 1 TB 是指數據湖的大小,而不是原始的舊版資料庫大小。
- 網狀架構定價是以網狀架構 F SKU 容量價格或 Premium Per User 價格為基礎。 無伺服器容量會從購買的專用容量取用 CPU 和記憶體。
- 事件中樞 會根據階層、布建的輸送量單位和接收的輸入流量來計費。 此範例假設標準層中的一個輸送量單位超過一百萬個事件一個月。
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運的設計檢閱檢查清單。
Fabric 提供許多元件來協助您管理數據平臺。 每個元件都支援您可以在Microsoft網狀架構容量計量應用程式中檢視的唯一作業。 使用 Fabric 容量計量應用程式來監視容量耗用量,並做出有關如何使用容量資源的明智決策。
效能效率
效能效率是工作負載以有效率的方式符合其需求的能力。 有關詳細資訊,請參閱效能效率的設計審核清單。
Fabric 提供數個功能來優化其元件之間的效能。 這些工具和做法可協助您有效地管理計算資源、防止多載,以及做出有關調整和優化工作負載的明智決策。
Fabric 中的一些關鍵效能效率功能包括:
高載和平滑,以確保CPU密集型活動快速完成,而不需要更高的SKU。 在一天中的任何時間排程這些活動。
網 狀架構容量計量應用程式,可將容量使用量可視化、將成品的效能優化,以及優化高計算專案。 應用程式會針對目標優化區分互動式作業(例如 DAX 查詢)和背景作業(例如語意模型重新整理)。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Amit Chandra |雲端解決方案架構師
- Nicholas Moore | 雲端解決方案架構設計師
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。