本文介紹DataWorks適用于不同場景的工作空間規劃方案。
工作空間權限模型
DataWorks各主要模塊針對工作空間的權限隔離設定有所不同:
功能模塊 | 權限模型 |
工作空間管理 | 不同的工作空間的是完全隔離的。 不同的工作空間可以有不同的管理員、不同的內部成員,各工作空間擁有完全獨立的成員角色設定以及引擎實例的各項參數開關。 說明 所有工作空間的所有者賬號均為阿里云主賬號。 |
數據開發(DataStudio) | 各工作空間之間的數據開發工作是完全隔離的。
說明 任務節點的調度依賴是可以跨工作空間配置的。 |
任務運維 | 各工作空間之間的任務運維是部分隔離的。
|
數據地圖 | 各工作空間之間的數據地圖是租戶內共享的。 在數據地圖中,搜索和展示的范圍均為當前租戶、當前Region下所有工作空間的元數據。 說明 僅數據地圖中展示的元數據全局共享,實際的數據讀、寫權限并非共享。通常來說,開發環境的數據讀、寫權限為各工作空間的“開發”角色共享,而生產環境的數據權限為生產賬號獨有 |
數據質量 | 各工作空間之間的數據質量是完全隔離的。 僅對應工作空間的“開發”、“運維”或“管理員”角色具備配置數據質量規則的權限。 |
數據服務 | 各工作空間之間的數據服務是部分隔離的。 各工作空間會共享服務分組的定義,但是注冊或發布的服務API僅在當前工作空間可見。 |
數據保護傘 | 各工作空間之間的數據保護傘是全局共享的。 所有工作空間共享一套數據安全策略和敏感數據目錄。若數據保護傘的“高級安全模式”開啟,則只有各工作空間的“安全管理員”具備操作數據保護傘的權限。 |
工作空間規劃實踐
工作空間規劃可按照公司部門、公司業務或數倉層次進行規劃,或綜合三種維度進行混合規劃:
細分 | 按部門劃分 | 按業務劃分 | 按數倉層次劃分 |
劃分依據 | 工作空間的劃分可以與公司的組織架構相一致。 例如:生產部、營銷部、人力資源部、財務部等。各工作空間承載部門內部的數據開發需求,管理各自的數據表。 | 工作空間的劃分也可以根據具體業務項目規劃。 例如:“季度銷售沖刺戰役”、“春季安全生產大檢查”或“高管駕駛艙報表”等。各業務項目涉及多個橫向部門,對接多個業務系統的數據,匯總加工,形成數據產出。 | 按照數倉的層級結構劃分工作空間,每一層可以有獨立的一個或多個工作空間。 例如:“統一數據接入”、“ODS層”、“數倉匯總層”等。 |
適用場景 | 部門業務單一,部門內部人員具備開發能力,數據共享場景較少,單一部門即可完成端到端業務開發。 | 業務優先的攻堅項目,多部門聯合項目。 | 大型數倉,企業數倉公共層,數據中臺。 |
優點 | 工作空間成員與組織架構一致,人員組成最穩定,數據安全性最高。同時計算、存儲成本歸屬清晰。 | 工作空間內業務專一,人員可根據業務動態調整,數據鏈路清晰,易運維。 | 數據架構清晰,共享便利,人員開發技能要求單一,可根據各層特性分配不同資源。 |
缺點 | 容易形成數據煙囪,數據重復計算、重復存儲,跨空間依賴復雜,資源易爭搶。 | 數據架構不清晰,各業務口徑不一致,工作空間內人員復雜,數據安全風險高。 | 開發周期長,運維鏈路長,標準模式下上層任務正式發布前需要修改代碼。 |
架構穩定性 | ★★★★★ | ★☆☆☆☆ | ★★★★★ |
人員靈活性 | ★☆☆☆☆ | ★★★★★ | ★★★★☆ |
業務復雜度 | ★★☆☆☆ | ★★★★☆ | ★★★☆☆ |
數據安全 | ★★★★★ | ★★☆☆☆ | ★★★☆☆ |
可運維性 | ★★☆☆☆ | ★★★★★ | ★★☆☆☆ |
數據共享 | ★★★☆☆ | ★☆☆☆☆ | ★★★★★ |
以上三種劃分模式可以混合使用,以綜合各自優點。一種常用的混合策略是整體按數倉層次劃分,但各層內部并非單一工作空間,而是進一步劃分為多個工作空間。
數據接入層(STG):按應用系統劃分,例如“stg_營銷系統”、“stg_生產管理系統”等。
任務節點:只有數據集成任務。
數據表:只有原始數據,生命周期短。
空間成員:各應用系統的DBA。
資源傾斜:數據集成資源組、存儲空間。
數據清洗層(ODS):按部門劃分,不同部門內數據統一口徑,清洗掉不宜公開的數據,例如“ods_人力資源部”、“ods_生產部”等。
任務節點:只有單一輸入、單一產出的SQL任務。
數據表:ODS層表。
空間成員:各部門委派的數據清洗人員。
資源傾斜:時間靠前的(例如0點~2點)的調度資源組、引擎計算資源。
數倉整合層(DW):整合為一個統一的工作空間,或按照業務域劃分,例如“dw_客戶域”、“dw_商品域”等。
任務節點:只有多輸入、單一產出的SQL任務。
數據表:DW層事實表、維度表。
空間成員:數據公共層專職開發人員。
資源傾斜:中期(例如2點~5點)的調度資源組、引擎計算資源、存儲空間(應對數據膨脹)。
標簽數據層(TDM):整合為一個統一的工作空間,或按照業務對象劃分。
任務節點:只有多輸入、單一產出的SQL任務。
數據表:標簽表。
空間成員:數據公共層專職開發人員。
資源傾斜:中晚期(例如5點~7點)的調度資源組、引擎計算資源、存儲空間(應對數據膨脹)
應用數據層(ADS):按業務劃分,針對各專項業務,建立獨立工作空間。
任務節點:SQL任務、數據集成任務。
數據表:以滿足業務場景為優先。
空間成員:項目組成員。
資源傾斜:晚期(例如7點~9點)的調度資源組、引擎計算資源、數據集成資源組。