本文說明稱為 探勘數據分析 (EDA) 的數據倉儲專案的替代方法。 這種方法可以降低擷取、轉換、載入 (ETL) 作業的挑戰。 它會先著重於產生商業見解,然後轉向解決模型化和 ETL 工作。
架構
針對 EDA,您只關心圖表右側。 Azure Synapse SQL 無伺服器會作為 Data Lake 檔案上的計算引擎。
若要完成 EDA:
- T-SQL 查詢會直接在 Azure Synapse SQL 無伺服器或 Azure Synapse Spark 中執行。
- 查詢會從 Power BI 或 Azure Data Studio 等圖形化查詢工具執行。
建議您使用 Parquet 或 Delta 保存所有 Lakehouse 數據。
您可以使用任何擷取、載入、轉換 (ELT) 工具,來實作圖表左側(數據擷取)。 它不會影響EDA。
元件
Azure Synapse Analytics 結合數據整合、企業數據倉儲,以及 Lakehouse 數據的巨量數據分析。 在此解決方案中:
- Azure Synapse 工作區可促進 EDA 工作的數據工程師、數據科學家、數據分析師和商業智慧 (BI) 專業人員之間的共同作業。
- Azure Synapse 無伺服器 SQL 集區 會使用標準 T-SQL 分析 Azure Data Lake Storage 中的非結構化和半結構化數據。
- Azure Synapse 無伺服器 Apache Spark 集 區會使用 Spark SQL、PySpark 和 Scala 等 Spark 語言,在 Data Lake Storage 中執行程式代碼優先探索。
Azure Data Lake Storage 會提供記憶體,以供 Azure Synapse 無伺服器 SQL 集區分析的數據。
Azure 機器學習 將數據提供給 Azure Synapse Spark。
此解決方案會使用Power BI 來查詢資料以完成EDA。
替代項目
您可以使用 Azure Databricks 取代或補充 Synapse SQL 無伺服器集 區。
您可以使用 Azure Synapse 專用 SQL 集區來儲存企業數據,而不是搭配 Synapse SQL 無伺服器集區使用 Lakehouse 模型。 請檢閱本文中的使用案例和相關資源,以決定要使用的技術。
案例詳細資料
此解決方案示範數據倉儲專案的 EDA 方法實作。 這種方法可以降低 ETL 作業的挑戰。 它會先著重於產生商業見解,然後轉向解決模型化和 ETL 工作。
潛在使用案例
其他可受益於此分析模式的案例:
規範性分析。 詢問您的數據問題,例如 「下一個最佳動作」,或 我們接下來該怎麼做? 使用數據以更多 數據驅動 ,減少 直覺驅動。 數據可能是非結構化的,而且來自許多不同品質的外部來源。 您可能想要儘快使用數據來評估您的商務策略,而不需要實際將數據載入數據倉儲。 回答問題之後,您可能會處置數據。
自助式 ETL。 當您執行數據沙盒化 (EDA) 活動時,請執行 ETL/ELT。 轉換數據並使其有價值。 這樣做可以改善 ETL 開發人員的規模。
關於探勘數據分析
在我們更仔細地瞭解 EDA 的運作方式之前,請務必總結數據倉儲專案的傳統方法。 傳統方法看起來像這樣:
收集需求。 記錄數據的用途。
數據模型化。 決定如何將數值和屬性數據模型化為事實和維度數據表。 傳統上,您會先執行此步驟,再取得新的數據。
ETL。 取得數據,並將其按摩至數據倉儲的數據模型。
這些步驟可能需要數周甚至數個月的時間。 只有這樣,您才能開始查詢數據並解決商務問題。 只有在建立報表之後,使用者才會看到值。 解決方案架構通常看起來像這樣:
您可以透過另一種方式,先專注於產生商業見解,然後轉向解決模型化和 ETL 工作。 此程式類似於數據科學程式。 看起來像這樣:
在此產業中,此程式稱為 EDA 或 探勘數據分析。
以下為其步驟:
數據擷取。 首先,您必須判斷您需要擷取至 Data Lake / 沙箱所需的數據源。 然後,您需要將數據帶入湖的登陸區域。 Azure 提供 Azure Data Factory 和 Azure Logic Apps 等工具,可快速內嵌數據。
數據沙盒化。 一開始,透過 Azure Synapse Analytics 無伺服器或基本 SQL 進行探勘數據分析的商務分析師和工程師共同作業。 在此階段中,他們正嘗試使用新數據來發掘 業務見解 。 EDA 是反覆的程式。 您可能需要擷取更多數據、與中小企業交談、詢問更多問題或產生視覺效果。
評估。 找到商務深入解析之後,您必須評估如何使用數據。 您可能想要將資料保存到資料倉儲中(因此您可以移至模型化階段)。 在其他情況下,您可能會決定將數據保留在 Data Lake / lakehouse 中,並將其用於預測性分析(機器學習演算法)。 在其他情況下,您可能會決定使用新的深入解析來回填記錄系統。 根據這些決策,您可以進一步瞭解您需要做什麼。 您可能不需要執行 ETL。
這些方法是真正的 自助式分析的核心。 藉由使用 Data Lake 和 Azure Synapse 無伺服器之類的查詢工具來瞭解 Data Lake 查詢模式,您可以將您的數據資產放入瞭解 SQL 模數的企業人員手中。 您可以使用此方法徹底縮短時間值,並移除與公司數據計劃相關聯的一些風險。
考量
這些考量能實作 Azure Well-Architected Framework 的要素,其為一組指導原則,可以用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework (部分機器翻譯)。
可用性
Azure Synapse SQL 無伺服器集區是一種平臺即服務 (PaaS) 功能,可符合您的高可用性 (HA) 和災害復原 (DR) 需求。
無伺服器集區可供隨選使用。 它們不需要相應增加、縮小、縮小或相應放大或管理任何類型的功能。 它們會使用按查詢付費模型,因此隨時都沒有任何未使用的容量。 無伺服器集區很適合:
- T-SQL 中的臨機操作數據科學探索。
- 數據倉儲實體的早期原型設計。
- 針對可容許效能延遲的案例,定義取用者可以使用的檢視,例如在Power BI中。
- 探勘數據分析。
Operations
Synapse SQL 無伺服器會使用標準 T-SQL 來查詢和作業。 您可以使用 Synapse 工作區 UI、Azure Data Studio 或 SQL Server Management Studio 作為 T-SQL 工具。
成本最佳化
成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化要素的概觀。
Data Lake Storage 定價取決於您儲存的數據量,以及您使用數據的頻率。 範例定價包含一 TB 的數據儲存,並具有進一步的交易假設。 一 TB 是指數據湖的大小,而不是原始舊版資料庫的大小。
Azure Synapse Spark 集 區是以節點大小、實例數目和運行時間為基礎定價。 此範例假設一個小型計算節點,其使用率在每周 5 小時到每月 40 小時之間。
Azure Synapse 無伺服器 SQL 集區 是以已處理數據的 TB 為基礎定價。 此範例假設每月處理 50 TB。 此圖是指數據湖的大小,而不是原始舊版資料庫的大小。
參與者
本文正由Microsoft更新和維護。 原始投稿人如下。
主要作者:
- 戴夫·溫策爾 |主要 MTC 技術架構師
下一步
- 資料工程師 學習路徑
- 教學課程:開始使用 Azure Synapse Analytics
- 建立單一資料庫 - Azure SQL 資料庫
- Azure Synapse SQL 架構
- 建立 Azure Data Lake Storage 的記憶體帳戶
- Azure 事件中樞 快速入門 - 使用 Azure 入口網站 建立事件中樞
- 快速入門 - 使用 Azure 入口網站 建立串流分析作業
- 快速入門:開始使用 Azure Machine Learning