資料合約
責任會在聯邦架構中 網域 之間分配,因此難以監控相依性並獲取數據使用洞察。 數據合約可協助您取得數據使用量深入解析,因為它們提供有關誰擁有每個 數據產品的資訊。 數據合約可協助您設定標準,並自信地管理您的數據管線。 它們對於健全的數據管理至關重要,並提供下列資訊:
- 正在取用哪些數據產品。
- 哪些使用者正在取用哪些數據產品。
- 是什麼用途會引導用戶取用特定的數據產品。
數據產品發佈和使用方式有兩個維度:技術考慮和商務考慮。 技術考慮包括數據管線處理和相互的數據穩定性預期。 商務考慮包括數據共用目的協定,可定義使用方式、隱私權和目的目標,包括任何限制。
這兩個維度涉及不同的角色。 一般而言,您應該依賴應用程式擁有者或數據工程師來解決技術問題,以及依賴產品擁有者或業務代表來解決商務問題。
數據合約原則
數據合約類似於服務合約或數據傳遞合約。
在較大的或分散式架構中,很難監督變更。 只要有熱門且廣泛使用的數據產品,即可實作版本控制和管理相容性,以簡化您的監督。
如果應用程式結合,表示結合的應用程式之間高度相依性。 從其他應用程式存取或取用數據的應用程式,在結合時一律會受到影響。 例如,數據結構的任何變更都可能會直接影響其他存取或取用該數據的應用程式。 在有許多應用程式結合在一起的情況下,通常會發生串連效果,其中單一應用程式的小變更會影響許多其他應用程式。 由於偶有小幅變更之後非預期效果的可能性增加,許多架構設計人員和軟體工程師都避免建置結合的架構。
數據合約保證介面相容性,並包含服務條款和服務等級協定(SLA)。 服務條款概述如何使用數據,例如限制其只使用開發、測試或生產環境。 SLA 描述數據傳遞和介面所需的品質。 您可以在 SLA 中指定的品質詳細資料包括:
- 上線時間
- 錯誤率
- 可用性
- 棄用
- 藍圖
- 版本號碼
您可以將擷取這些詳細數據的元數據放在原始檔控制之下,以便自動觸發驗證和部署。 如需原始檔控制的詳細資訊,請參閱 Azure Data Factory 中的原始檔控制。
數據合約可讓您深入瞭解網域與應用程式之間的結合和相依性。 合約也允許 合約測試,以確保會根據取用者的數據需求驗證所有應用程式和介面變更。 您可以藉由偵測架構漂移來判斷數據流何時容易受到上游數據源變更的影響。 如需詳細資訊,請參閱 對應數據流中的架構漂移。
數據合約通常是元數據驅動擷取架構的一部分。 您可以將資料合約儲存在集中管理的 中繼存放區內的元數據記錄中。 從該中央位置,您的數據合約在多個數據擷取領域扮演重要角色,包括:
- 管線執行
- 數據產品建立
- 數據類型驗證
- 結構描述
- 互操作性標準
- 通訊協定版本
- 遺漏數據的默認規則
數據合約牽涉到大量的技術元數據。 若要記錄您的資料管線和數據產品,您必須清楚描述數據源、您的數據已經歷的所有轉換,以及最終傳遞數據的方式。
在分散式架構中,您會將數據管線架構分散到不同的網域,而網域符合一般運作方式。 由於網域會自行處理數據,因此控制及責任會維持在一起,而架構和元數據則保留在中央治理之下。
實作同盟方法時,請從小型開始。 從基本概念開始,例如架構驗證的元數據記憶體、企業標識碼,以及共用元數據存放庫中其他數據集的參考。 新增數據 譜系 支援,以協助您將數據移動可視化。 啟動你的流程並執行技術數據質量驗證的控管措施。
所有控制件都應該是持續整合程式的一部分。 擷取所有運行時間資訊,包括計量和記錄,並讓該資訊成為元數據基礎的一部分,以取得數據管線穩定性深入解析。 此設定可確保您的網域與中央管理駕駛艙之間有意見反應迴圈。
當您穩定所有數據移動時,擷取哪些數據屬性(例如數據表和數據行)會由哪些數據取用者使用,並使用這項資訊繼續調整。 您可以在集中管理的中繼存放區中包含這項資訊。 數據使用資訊可讓您偵測重大變更,並識別其對數據產生者和取用者的影響。 如果數據產品數據集沒有取用者,您可以允許它經歷干擾性變更。 使用原始檔控制(例如 Git)允許數據提供者和取用者之間的交握程式。
數據共享協定
數據共享合約是數據合約的延伸。 合約概述數據使用方式、隱私權和用途,包括任何限制。 數據共享協定與介面無關,並提供特定用途所使用數據的深入解析。 它們也會作為數據安全性控制件的輸入。 您可以使用資料共享協定來概述哪些篩選或安全性保護必須套用至您的數據。
數據共享協議也有助於防止數據使用量錯誤溝通。 網域擁有者應該先討論數據共享和數據使用問題,再共用任何數據。 有一個共識對於您規範數據及其使用方式的能力至關重要,並確保您可以將價值傳遞給組織。 在所有網域擁有者達成協作共識之後,請確保他們將其記錄在數據共享協議中。 在此合約中,您也可以處理如下的區域:
- 功能數據品質
- 歷程記錄化
- 數據生命週期管理
- 進一步散發數據
套用敏感度標籤或篩選條件等分類和條件來保護您的數據。
上一節的圖表顯示標示為 數據產品提車的特定元素。 數據產品側車是插入原則執行的元件或層,例如數據訪問控制或數據耗用量輸出方法。 這是一種安全性抽象概念,使用數據合約來處理網域數據的安全性強制執行。 您可以從數據合約存放庫建立數據產品側車作為訪問控制清單 (ACL) 或無伺服器檢視,或者您可以使用選取並篩選特定取用者的重複數據集來建立一個。 無論哪種方式,其目標是以完全自動化的方式從您的數據合約衍生安全性檢視。
連接資料合約屬性和您的檔。 請確定您提供語意內容和詞彙的關聯性,讓取用者了解商務需求如何轉譯為實際實作。 如果與商務條款的關係對貴組織很重要,請考慮實作原則,例如在所有數據產品屬性連結到商務字詞實體之後,才允許建立數據合約。 您也可以將這種類型的原則套用至關係型變更,例如關聯性或定義調整。
使用數據合約
開始使用數據合約時啟動緩慢。 不要一次導入太多變更;數據合約需要文化轉變,而您的使用者需要時間來熟悉數據擁有權,並了解數據擁有權的重要性。 您也需要在數據合約中尋找太少和太多元數據屬性之間的甜蜜點。
下列步驟概述為組織實作數據合約的程式:
- 請確定您的技術數據管線穩定。 如果管線經過非預期的中斷,則使用案例無法觸達生產環境。
- 當您開始使用共享協定時,請將簡單且務實的程式放在原位。 您可以從在 Microsoft Forms 中設計簡單的表單或範本開始。 以清晰、簡潔的語言撰寫,讀者可以輕鬆地理解。 第一階段的重點在於文化轉變和收集需求。 請確定您不會過度複雜;接受手動程式、限制初始元數據需求,並在這些需求穩定之前反覆運算。
- 在您牢牢完成第一個程序之後,請開始以 Web 應用程式、資料庫和/或消息佇列取代您的手動表單。 您的中央數據控管小組仍應負責此階段的監督。 此時的數據存取粒度通常很粗略,著重於資料夾或檔案。 盡可能使用 REST API 來自動布建數據存取原則或 ACL。
- 讓數據擁有者或數據管理人負責進行核准管理的強式工作流程。 您的數據治理角色現在應僅以輔助角色監督核准,並定期檢閱所有資料合約。 此時,您應該會有一個像 Microsoft Purview 這樣的數據目錄已經運行中,顯示所有已準備好使用的數據產品。 藉由允許更細緻的選取和篩選,並考慮使用動態數據遮罩等技術來防止數據重複,以改善您的數據和安全性強制執行功能。
- 在數據合約實作旅程的最後階段,所有項目都應該是自助且完全自動化的。 自動化機器學習應該預測數據核准。 例如,安全檢視會在核准之後自動部署。
數據合約是數據網格架構的相對新但重要的新增專案,可提供數據使用量和相依性的透明度。 當您第一次開始使用數據合約時,請專注於技術穩定性和標準化,然後在您反覆運算時使用課程學習的程式。 慢慢地建置並自動化您的數據控管,讓您不會增加組織的額外負荷。
在數據合約檔中,您也需要服務條款和服務等級協定(SLA)。 使用 SLA 來概述數據傳遞和介面的品質需求,包括運行時間、錯誤率和可用性。 SLA 也可以包含您需要定義的任何淘汰、藍圖和版本號碼需求。