什麼是數據產品?
每個應用程式都會暫時或永久地建立及儲存數據。 許多應用程式也會針對作業管理目的建立和儲存數據,例如錯誤記錄和健康情況監視。 若要取用和處理這些應用程式所產生的數據,集中式數據小組會使用擷取、轉換和載入 (ETL) 程式。 應用程式作業小組通常會有其他數據處理流程,例如應用程式健康情況數據和 KPI 狀態監視數據。
對於數據整合,傳統的小組遵循特定階段順序的瀑布式方法並不理想。 這可能會導致知識差距、擁有權問題,以及溝通衝突,這些問題會影響資料的品質、及時性和使用者的價值。 應用程式小組負責應用程式效能和成功。 當他們使用瀑布式方法時,他們會對其他團隊所擁有的下游流程進行更改。 有時候這些變更可能會影響其他區域。 例如,次要上游變更可能會大幅改變 KPI 的趨勢。 這些衝突可能會影響您做出重要決策的能力。
數據做為產品
為避免這些問題,數據網格 方法採用 數據的概念作為產品。 應用程式擁有者和應用程式小組會將數據視為他們所負責的完整產品,而不是另一個小組程式的副產品。 應用程式和分析數據服務工作都在領域責任範圍內。
數據產品是專為分析取用而建立。 它們具有設計並協議好的形狀、使用介面以及維護和更新週期,所有這些都已記錄。
數據產品是經過處理的領域數據資產或數據集,您可以透過服務目標中的介面與下游流程共享。 除非另有需要,否則您應該先處理、塑造、清理、匯總和正規化原始數據,以符合已同意的質量標準,再讓它可供使用。
下列各節概述良好數據產品的常見特性。
數據產品特性
確保您的資料產品是:
可探索、可理解且值得信任。 若要提供可探索性和清楚性,請分享和更新每個數據產品、其數據、其意義、其數據的形狀格式,以及其重新整理週期的相關信息。 及時向下游使用者傳達數據變更或結構變更。 為了確保可信任性,介面會提供數據產品形式的時限向後相容性。
可定位、原生可訪問且安全。 若要提供可尋址性,請建立已定義的程式,以找出並取得每個數據產品的存取權。 針對各種存取需求實作安全性措施。 將您的數據網域擁有權心態從把控數據轉變為採用周全的安全防護措施來提供數據服務。 記載良好的存取介面可能會因不同技術而異。 原生可存取的數據產品常用的介面包括應用程式介面 (API)、資料庫使用者、資料表或檢視表,以及具備必要存取權限的檔案。
互通、真實且有價值。 若要提供互操作性,請確定您的數據遵循定義的通用標準,例如具有相同名稱和數據類型的值。 例如,您可以將包含客戶識別數據的數據行命名 CustomerID 於每個數據產品中,而且其數據可能一律為整數。 數據產品為客戶提供價值,而且您可以將其作為相同網域或不同網域中新數據產品的上游來源。 但是,您不能僅僅將相同的數據產品攜帶或複製到多個地方。 來自先前數據產品的每個數據產品都應該為下游取用者提供新的價值和資訊。 數據產品也必須提供真實、準確的數據。
使用設計完善的維護數據產品及其介面,協助避免複製數據並建立原生單一事實來源。
數據產品開發建議
若要滿足數據產品服務需求,您的網域小組必須取得一組新的技能,並使用新的工具和平臺。
若要建置資料應用程式併產生或提供資料產品,請完整裝備您的網域應用程式小組。 您的小組可以使用熟悉的技術堆疊來建置數據產品。 他們可能也偏好有自己的Spark實例或管線引擎。 例如,提供許多數據產品的大型域可能會使用自己的 Azure Synapse Analytics 實例來處理並提供這些數據產品。 小型組織和大型組織的較小網域可能會在共用平臺上開發和執行其數據應用程式,例如位於中央的 Azure Data Factory、Azure Synapse Analytics 或 Azure Databricks 實例。
請確定您的數據產品具有本文中所述的通用特性、您的譜系存放庫會反映您的數據應用程式歷程,以及您控管實作和存取權。
下圖顯示網域和登陸區域中的範例數據應用程式邏輯配置。