資料網格是一種架構和組織架構,可將資料視為產品 (本文稱為「資料產品」)。在這個架構中,資料產品是由最瞭解該資料的團隊開發,並遵循全機構的資料治理標準。資料產品部署至資料網格後,機構中的分散式團隊就能更快速有效地探索及存取與自身需求相關的資料。如要建構完善的資料網格,您必須先建立本文所述的高階架構元件和機構角色。
本文是系列文章之一,說明如何在 Google Cloud上實作資料網格。本文假設您已閱讀並熟悉「使用 Google Cloud建構現代化分散式資料網格」一文所述概念。
本系列包含以下部分:
- 資料網格的架構和功能 (本文件)
- 為資料網格設計自助式資料平台
- 在資料網格中建構資料產品
- 在資料網格中探索及使用資料產品
本系列文章所述的資料網格屬於機構內部。雖然可以擴充資料網格架構,向第三方提供資料產品,但這種擴充做法不在本文討論範圍內。擴充資料網格時,除了機構內的使用情況,還需要考慮其他因素。
架構
以下是定義本系列文章所述架構元件的關鍵字詞:
- 資料產品:資料產品是邏輯容器,或是一或多個相關資料資源的分組。
- 資料資源:資料資源是儲存系統中的實體資產,可保存結構化資料,或儲存產生結構化資料的查詢。
- 資料屬性:資料屬性是資料資源的欄位或元素。
下圖概述在 Google Cloud上實作資料網格時的主要架構元件。
上圖顯示下列項目:
- 中央服務可建立及管理資料產品,包括影響資料網格參與者的機構政策、存取控制項 (透過身分與存取權管理群組),以及基礎架構專屬構件。如要瞭解這類承諾和預訂的範例,以及有助於資料網格運作的基礎架構,請參閱「建立平台元件和解決方案」。
- 中央服務主要會為資料網格中的所有資料產品提供 Data Catalog,並為這些產品的潛在客戶提供探索機制。
- 資料網域會透過定義完善的資料使用介面,將資料子集公開為資料產品。這些資料產品可以是表格、檢視區塊、結構化檔案、主題或串流。在 BigQuery 中,這會是資料集;在 Cloud Storage 中,這會是資料夾或值區。可做為資料產品公開的介面類型有很多,介面範例:BigQuery 資料表上的 BigQuery 檢視區塊。在資料網格中建構資料產品一文,將討論最常用於分析目的的介面類型。
資料網格參考實作
如需這項架構的參考實作方式,請參閱data-mesh-demo
存放區。參考實作中使用的 Terraform 指令碼會展示資料網格概念,不適用於實際工作環境。執行這些指令碼後,您將瞭解如何執行下列操作:
- 將產品定義與基礎資料分開。
- 建立 Data Catalog 範本,用於說明產品介面。
- 使用這些範本標記產品介面。
- 授予產品消費者權限。
對於產品介面,參考實作會建立及使用下列介面類型:
- BigQuery 資料表的授權檢視畫面。
- 以 Pub/Sub 主題為基礎的資料串流。
詳情請參閱存放區中的 README 檔案。
資料網格中的職務
如要讓資料網格順利運作,您必須為在資料網格中執行工作的人員定義明確的角色。擁有權會指派給團隊原型或職能。這些函式包含資料網格中工作人員的核心使用者歷程。為清楚描述使用者歷程,這些歷程已指派給使用者角色。您可以根據每個企業的情況,拆分及合併這些使用者角色。您不需要直接將角色對應至機構中的員工或團隊。
資料網域與企業的業務單位 (BU) 或功能一致。常見的業務領域範例包括銀行中的抵押部門,或是企業的客戶、發行、財務或人資部門。從概念上來說,資料網格中有兩個與網域相關的函式:資料生產者團隊和資料消費者團隊。請務必瞭解,單一資料網域可能同時提供這兩項功能。資料網域團隊會製作自有資料的資料產品。該團隊也使用資料產品來取得業務洞察,並為其他領域製作衍生資料產品。
除了以網域為基礎的函式外,資料網格也有一組函式,由機構內的集中式團隊執行。這些中央團隊提供跨網域的監督、服務和管理,確保資料網格正常運作。可減輕資料網域在產生及使用資料產品時的作業負擔,並促進資料網格運作所需的跨網域關係。
本文只會說明具有資料網格專屬角色的函式。無論平台採用哪種架構,任何企業都需要其他幾個角色。不過,本文不討論這些其他角色。
資料網格的四項主要功能如下:
- 以資料領域為基礎的生產團隊: 在資料產品的整個生命週期中建立及維護資料產品。這些團隊通常稱為「資料生產者」。
- 以資料網域為基礎的消費者團隊: 發掘資料產品,並用於各種分析應用程式。這些團隊可能會使用資料產品來建立新的資料產品。這些團隊通常稱為「資料消費者」。
- 中央資料管理團隊: 在資料生產者之間定義及執行資料管理政策,確保資料品質優良,且消費者可信賴資料。這個團隊通常稱為「資料管理團隊」。
- 中央自助式資料基礎架構平台團隊: 為資料產生者提供自助式資料平台。這個團隊也提供工具,供資料消費者和資料生產者集中探索資料,並觀察資料產品。這個團隊通常稱為「資料平台團隊」。
您也可以考慮為資料網格設立卓越中心 (COE)。COE 的目的是管理資料網格。COE 也是指定的仲裁團隊,負責解決其他職能提出的任何衝突。這項函式有助於連結其他四項函式。
以資料網域為基礎的生產者團隊
通常,資料產品會建構在實體資料存放區 (單一或多個資料倉儲、湖泊或串流) 之上。機構需要傳統資料平台角色,才能建立及維護這些實體存放區。不過,這些傳統資料平台角色通常不是資料產品的建立者。
如要從這些實體存放區建立資料產品,機構需要混合使用資料實務人員,例如資料工程師和資料架構師。下表列出資料產生者團隊中需要的所有網域專屬使用者角色。
角色 |
責任 |
必要技能 |
理想結果 |
---|---|---|---|
資料產品負責人 |
|
資料分析 資料架構 產品管理 |
|
資料產品技術主管 |
|
資料工程 資料架構 軟體工程 |
|
資料產品支援 |
|
軟體工程 網站穩定性工程 (SRE) |
|
資料領域的主題內容專家 (SME) |
|
資料分析 資料架構 |
|
資料擁有者 |
|
|
|
以資料網域為基礎的消費者團隊
在資料網格中,資料產品的消費者通常是資料使用者,他們不屬於資料產品網域。這些資料消費者會使用中央資料目錄,尋找符合需求的資料產品。因為可能有多個資料產品符合需求,資料消費者最終可能會訂閱多個資料產品。
如果資料消費者找不到符合用途的必要資料產品,有責任直接諮詢資料網格卓越中心。在諮詢期間,資料消費者可以提出資料需求,並尋求有關如何透過一或多個網域滿足這些需求的建議。
資料消費者尋找資料產品時,會希望資料能協助他們達成各種用途,例如持續性分析資訊主頁和報表、個人成效報表,以及其他業務成效指標。或者,資料消費者可能正在尋找可用於人工智慧 (AI) 和機器學習 (ML) 用途的資料產品。為達成這些各種用途,資料消費者需要混合使用資料從業人員角色,如下所示:
角色 |
責任 |
必要技能 |
理想結果 |
---|---|---|---|
資料分析師 |
搜尋、識別、評估及訂閱單一網域或跨網域資料產品,為業務智慧架構的運作奠定基礎。 |
數據分析工程 商業分析 |
|
應用程式開發人員 |
開發應用程式架構,以在網域內外使用一或多個資料產品的資料。 |
應用程式開發 資料工程 |
|
資料視覺化專家 |
|
需求分析 資料視覺化 |
|
資料科學家 |
|
機器學習工程 數據分析工程 |
|
中央資料管理團隊
資料管理團隊可讓資料生產者和消費者以自助式方式安全地分享、匯總及運算資料,同時避免機構面臨法規遵循風險。
為符合機構的法規遵循規定,資料治理團隊由多種資料實務人員角色組成,包括:
角色 |
責任 |
必要技能 |
理想結果 |
---|---|---|---|
資料治理專家 |
|
法律專家 安全專家 資料隱私權專家 |
|
資料管理員 (位於各個網域內) |
|
資料架構 資料管家 |
|
資料治理工程師 |
|
軟體工程 |
|
集中式自助資料基礎架構平台團隊
自助式資料基礎架構平台團隊 (簡稱資料平台團隊) 負責建立一組資料基礎架構元件。分散式資料網域團隊會使用這些元件建構及部署資料產品。資料平台團隊也會推廣最佳做法,並引進工具和方法,協助分散式團隊採用新技術時減少認知負荷。
平台基礎架構應能輕鬆整合作業工具,以實現全球可觀測性、儀表化和法規遵循自動化。或者,基礎架構應促進這類整合,協助分散式團隊邁向成功。
資料平台團隊與分散式網域團隊和基礎架構團隊共用責任模型。這個模型會顯示平台消費者應承擔的責任,以及資料平台團隊支援的平台元件。
由於資料平台本身是內部產品,因此平台不支援所有用途。資料平台團隊會根據優先順序藍圖,持續發布新服務和功能。
資料平台團隊可能已有一套標準的元件,並正在開發中。不過,如果團隊的需求與資料平台提供的元件不一致,資料網域團隊可能會選擇使用不同的獨特元件組合。如果資料網域團隊選擇其他方法,則必須確保他們建構及維護的任何平台基礎架構,都符合全機構的安全性和資料治理政策與防護措施。如果資料平台基礎架構是由中央資料平台團隊以外的團隊開發,資料平台團隊可以選擇共同投資,或將自家工程師派到網域團隊。資料平台團隊選擇共同投資或安插工程師,可能取決於資料網域平台基礎架構對機構的策略重要性。機構可以參與資料網域團隊的基礎架構開發作業,提供必要的協調和技術專業知識,以便重新封裝開發中的任何新平台基礎架構元件,供日後重複使用。
如果初期目標是取得利益相關者的核准,以擴大資料網格,您可能需要在建構資料網格的初期階段限制自主性。不過,限制自主性可能會導致中央資料平台團隊出現瓶頸。這個瓶頸可能會阻礙資料網格擴展。因此,任何集中化決策都應謹慎做出。對資料生產者而言,從有限的可用選項中做出技術選擇,可能比自行評估和選擇無限的選項清單更合適。提升資料生產者的自主性,並不等於建立不受控管的技術環境。而是要適度兼顧選擇自由和標準化,以提高法規遵循率和平台採用率。
最後,優秀的資料平台團隊是公司其他部門的教育和最佳做法中心。我們建議中央資料平台團隊進行下列活動,以發揮最大影響力:
- 針對新的功能專案,定期進行架構設計審查,並向開發團隊提出通用的開發方式。
- 分享知識和經驗,並共同定義最佳做法和架構指南。
- 確保工程師擁有合適的工具,可驗證及檢查常見的錯誤,例如程式碼問題、錯誤和效能下降。
- 舉辦內部黑客松,讓開發團隊提出內部工具需求。
中央資料平台團隊的範例角色和職責可能包括:
角色 | 責任 | 必要技能 |
期望結果 |
---|---|---|---|
資料平台產品負責人 |
|
資料策略與營運 產品管理 業務相關管理階層 |
|
資料平台工程師 |
|
資料工程 軟體工程 |
|
平台和安全工程師 (中央 IT 團隊的代表,例如網路和安全團隊,他們會加入資料平台團隊) |
|
基礎架構工程 軟體工程 |
|
企業架構師 |
|
資料架構 解決方案疊代和問題解決 建立共識 |
|
資料網格的其他注意事項
分析資料平台有多種架構選項,每個選項都有不同的先決條件。如要啟用各個資料網格架構,建議貴機構遵循本節所述的最佳做法。
取得平台資金
如這篇網誌文章所述,「如要開始轉型,請先從財務著手」,這個平台永遠不會完成,而是會根據優先順序路線圖持續運作。因此,平台必須以產品的形式獲得資金,而非以有固定終點的專案形式。
資料網格的初期採用者須承擔相關費用。通常,成本會由建立第一個資料網域以啟動資料網格的商家,以及中央技術團隊 (通常是中央資料平台團隊的所在地) 分攤。
如要說服財務團隊核准中央平台的資金,建議您提出商業案例,說明集中式平台在一段時間內實現的價值。這個值來自於各別交付團隊重新實作相同元件。
定義資料網格的最低可行平台
為協助您定義資料網格的最低可行平台,建議您先試用一或多個業務案例,然後反覆測試。在試用階段,請找出所需用途,以及有消費者願意採用產生的資料產品。用例應已獲得開發資料產品的資金,但需要技術團隊提供意見。
請確保負責導入試用版的團隊瞭解資料網格作業模式,如下所示:
- 業務 (即資料產生團隊) 負責處理待辦事項、支援和維護。
- 中央團隊會定義自助式模式,協助商家建構資料產品,但完成後會將資料產品交給商家執行及擁有。
- 主要目標是驗證業務營運模式 (產生網域、消耗網域)。次要目標是驗證技術作業模式 (由中央團隊開發的自助式模式)。
- 由於平台團隊資源有限,請使用 主幹和分支團隊模型匯集知識,同時開發專門的平台服務和產品。
此外,我們也建議您採取下列做法:
- 規劃藍圖,而不是讓服務和功能自然演進。
- 定義最低可行的平台功能,涵蓋擷取、儲存、處理、分析和機器學習。
- 將資料治理納入每個步驟,而非視為獨立的工作流程。
- 在管理、平台、價值流程和變更管理方面,建立最低限度的能力。最低功能是指可滿足 80% 業務需求的項目。
規劃資料網格與現有資料平台的共存方式
許多想導入資料網格的機構可能已有現有資料平台,例如資料湖、資料倉儲,或兩者兼具。實作資料網格前,這些機構必須先規劃現有資料平台如何隨著資料網格成長而演進。
這些機構應考量下列因素:
- 資料網格中最有效的資料資源。
- 必須保留在現有資料平台中的資產。
- 資產是否必須遷移,或是否可保留在現有平台上,並繼續參與資料網格。
後續步驟
- 如要進一步瞭解如何設計及運作雲端拓撲,請參閱 Google Cloud Well-Architected Framework。
- 如需更多參考架構、圖表和最佳做法,請瀏覽 Cloud 架構中心。