使用 Amazon Lake Formation 和 Amazon Glue 设计数据网格架构
各種規模的組織都認識到,數據是增加和維持創新以及為客戶和業務部門帶來價值的關鍵推動因素之一。他們正在熱切地利用高度可擴展、功能豐富且經濟高效的云原生技術對傳統數據平臺進行現代化。當您希望做出由數據驅動的業務決策時,您可以通過采用從專業團隊交付數據產品的思維模式,而不是通過提供通用分析的集中式數據管理平臺來提高靈活性和高效率。
在本文中,我們描述一種使用亞馬遜云科技原生服務(Amazon Lake Formation和Amazon Glue)實現數據網格的方法。這種方法使業務線 (LOB) 和組織單位能夠端到端自主運營其數據產品,同時為整個組織提供集中數據發現、治理和審計,以確保數據隱私和合規性。
數據網格模型的益處
集中模式旨在將數據和專業技術知識集中在一個地方來簡化人員配備和培訓,從而通過管理單一數據平臺來減少技術負債,并降低運營成本。數據平臺組(通常是中央 IT 的一部分)根據他們所支持的平臺的技術功能劃分團隊。例如,一個團隊可能擁有用于從其他團隊和 LOB 管理的眾多數據源中收集數據的攝取技術。不同的團隊可能擁有數據管道、編寫和調試提取、轉換和加載 (ETL) 代碼以及編排作業運行,同時驗證和修復數據質量問題,并確保數據處理符合業務 Amazon SLA 要求。但是,通過集中式的中央數據平臺管理數據可能會帶來擴展、所有權和問責制方面的挑戰,因為中心團隊可能無法理解數據域的具體需求,無論是由于數據類型和存儲、安全性、數據目錄要求還是數據處理所需的特定技術。
您通常可以通過賦予擁有數據的團隊所有權和自主權來減少這些挑戰,最好允許他們構建數據產品,而不僅僅是能夠使用公用的中央數據平臺。例如,產品團隊負責確保使用新產品和現有產品的變更,定期更新產品庫存。他們是產品庫存數據集的領域專家。如果出現差異,他們是唯一知道如何解決這個問題的群體。因此,他們最能夠實施和運行技術解決方案來攝取、處理和生成產品庫存數據集。他們擁有導致數據被消費的一切:他們選擇技術堆棧,以數據作為產品的思維運作,實施安全和審計,并提供一種機制,以便以易于使用的方式向組織公開數據。這減少了組織中信息流的總體摩擦,生產者對自己生成的數據集負責,并根據發布的 Amazon SLA 對消費者負責。
這種數據即產品范式類似于 Amazon 構建服務的運營模型。服務團隊構建自己的服務,使用發布的 Amazon SLA 公開 Amazon API,運營他們的服務,并擁有端到端的客戶體驗。這與構建軟件與運營軟件分屬不同團隊的理念是不一樣的。端到端所有權模式使我們能夠以更高的效率更快地實施,并快速擴展以滿足客戶的使用案例。我們不受集中團隊及其擴展以滿足業務需求的能力的限制。我們構建的每項服務都以提供構建基石的其他服務為基礎。與數據世界類似的是,數據生產者根據自己獨特的需求及選擇的技術,擁有數據產品的端到端實現和服務。在亞馬遜云科技,多年來我們一直在討論數據驅動的企業模式,該模式由數據生產者和消費者組成。這種模型與我們的一些客戶使用的模型類似,Thoughtworks 的 Zhamak Dehghani 最近富于表現力地描述了這個模型,他在 2019 年創造了數據網格這一術語。
解決方案概覽
在本文中,我們演示了智能湖倉架構為何非常適合于幫助團隊構建數據域,以及如何使用數據網格方法將域集中在一起,以實現跨業務部門的數據共享和聯合。這種方法可以實現更好的自主性和更快的創新步伐,同時建立在經過驗證和廣泛理解的架構和技術堆棧的基礎上,并確保數據安全和治理的高標準。
以下是考慮數據網格設計時的關鍵點:
數據網格是一種模式,用于定義組織如何圍繞數據域進行組織,重點是將數據作為產品交付。但是,它可能不是適合每一個客戶的正確模式。
智能湖倉方法和數據湖架構為在亞馬遜云科技上構建現代數據平臺提供了技術指導和解決方案。
帶有基礎數據湖的智能湖倉方法是以可擴展的方式實施數據域和產品的可重復藍圖。
在數據網格模式中使用亞馬遜云科技分析服務的方式可能會隨著時間的推移而發生變化,但仍與每項服務的技術建議和最佳實踐保持一致。
以下是數據網格設計目標:
數據即產品?– 每個組織域都端到端地擁有其數據。他們負責構建、運營、服務和解決因使用其數據而產生的任何問題。數據的準確性和問責制取決于域內的數據所有者。
聯合數據治理?– 數據治理可確保數據安全、準確且不被濫用。每個數據域都可以管理數據治理的技術實施,例如收集數據血緣、驗證數據質量、加密靜態和傳輸中的數據以及實施適當的訪問控制措施。但是,需要集中數據發現、報告和審計,以方便用戶查找數據及審計人員驗證合規性。
通用訪問?– 數據必須能夠被數據分析師和數據科學家等主題角色以及?Amazon Athena、Amazon Redshift?和?Amazon SageMaker?之類的專用分析和機器學習 (ML) 服務輕松使用。為此,數據域必須公開一組使數據可使用的接口,同時實施適當的訪問控制和審計跟蹤。
以下是用戶體驗注意事項:
從創建原始數據的應用程序到提取和創建業務報告和預測的分析系統,數據團隊擁有自己的信息生命周期。在這個生命周期中,他們擁有數據模型,并確定哪些數據集適合發布給小費者。
數據域生產者通過將數據集注冊到中央目錄,向組織其他部門公開數據集。他們可以選擇分享什么、分享多長時間以及消費者如何與之互動。他們還負責維護數據并確保數據的準確和最新。
數據域消費者或個人用戶訪問數據的權限應通過受支持的接口(如數據 Amazon API)授予,以確保一致的性能、跟蹤和訪問控制。
所有數據資產都可以從單個中央數據目錄中輕松發現。數據目錄包含由數據域生產者注冊的數據集,包括支持元數據,例如數據血緣、數據質量指標、所有權信息和業務背景。
對數據、使用模式、數據轉換和數據分類采取的所有操作都應該可以通過單一的中心位置訪問。數據所有者、管理員和審計者應該能夠在一個地方檢查公司的數據合規狀況。
首先,我們從建立在數據網格模式之上的上層架構設計開始。如下圖所示,它將消費者、生產者和中央治理區分開來,以突出顯示之前討論的關鍵方面。但是,數據域可能代表數據消費者、數據生產者或兩者兼有。
此設計的目標是為構建大規模數據平臺奠定基礎,通過強有力且一致的治理來支持數據生產者和消費者的目標。亞馬遜云科技設計數據網格的方法確定了一套通用設計原則和服務,以促進構建可擴展數據平臺、無處不在的數據共享以及在亞馬遜云科技上實現自助分析的最佳實踐。
在上圖的基礎上,我們提供了更多詳細信息,以展示亞馬遜云科技原生服務如何支持生產者、消費者和治理。每個數據域,無論是生產者、消費者還是兩者兼有,都對自己的技術堆棧負責。但是,將亞馬遜云科技原生分析服務與智能湖倉架構結合使用可以提供可重復的藍圖,您的組織可以在擴展數據網格設計時使用該藍圖。擁有一致的技術基礎可以確保服務得到良好的集成、核心功能得到支持、規模和性能受被考慮在內,且成本保持較低。
數據域:生產者和消費者
數據網格設計圍繞數據域進行組織。每個數據域擁有和運營多個數據產品,它們都有自己的數據和技術堆棧,獨立于其他數據和技術堆棧。數據域可以是純粹的生產者,例如僅為消費者的域生成銷售和收入數據的財務域,也可以是使用者域,例如使用來自其他域的數據以創建在電子商務網站上顯示的產品推薦的產品推薦服務。除了共享之外,集中式數據目錄還可以為用戶提供更快速地查找可用數據集的能力,并允許數據所有者分配訪問權限和跨業務部門審計使用情況。
生產者域駐留在亞馬遜云科技賬戶中,并使用?Amazon Simple Storage Service?(Amazon S3) 存儲桶存儲原始數據和轉換后的數據。它使用 Amazon Glue 維護自己的 ETL 堆棧來處理和準備數據,然后再將其編目到自己賬戶中的 Amazon Lake Formation 數據目錄中。同樣,消費者域包括自己的一套工具,用于在單獨的亞馬遜云科技賬戶中執行分析和機器學習。中央數據治理賬戶用于在生產者和消費者之間安全地共享數據集。需要注意的是,共享僅通過元數據鏈接完成。數據不會復制到中央賬戶,所有權仍由生產者掌握。中央目錄使任何用戶都可以輕松地查找數據并請求數據所有者在單個位置訪問。然后,他們可以在自己的環境中使用自己選擇的工具對數據執行分析和機器學習。
下圖說明了端到端的工作流程。
從生產者到消費者的工作流程包括以下步驟:
由生產者托管的數據源位置是在生產者的 Amazon Glue 數據目錄中創建的,并在Amazon Lake Formation 中注冊。
當數據集作為產品呈現時,生產者會在中央治理賬戶中創建Amazon Lake Formation 數據目錄實體(數據庫、表、列、屬性)。這使得跨消費者查找和發現目錄變得很容易。但是,這不會向所有賬戶或消費者授予目錄或數據的任何權限,所有授予均由生產者授權。
中央 Amazon Lake Formation 數據目錄通過指向元數據庫和表的 Amazon Lake Formation 資源鏈接將數據目錄資源共享回具有所需權限的生產者賬戶。
在中央賬戶中,Amazon Lake Formation 權限授予生產者角色(例如數據工程師角色),以便在中央數據目錄上管理架構更改和執行數據轉換(變更、刪除、更新)。
生產者接受來自中央治理賬戶的資源共享,以便他們可以在以后對架構進行更改。
在生產者賬戶中進行的數據更改將自動傳播到目錄的中央治理副本中。
根據消費者訪問請求以及使數據在消費者的 Amazon Glue 數據目錄中可見的需要,中央賬戶所有者根據直接實體共享或基于標簽的訪問控制向消費者賬戶授予Amazon Lake Formation 權限,這些權限可用于通過數據分類、成本中心或環境等控制措施管理訪問權限。
消費者賬戶中的Amazon Lake Formation 可以定義這些數據集的訪問權限,供本地用戶使用。消費者賬戶中的用戶,如數據分析師和數據科學家,可以使用他們選擇的工具(如Amazon Athena 和 Amazon Redshift)查詢數據。
構建數據產品
數據域生產者通過他們管理、擁有和運營的一組管道將數據攝取到各自的 Amazon S3 存儲桶中。生產者負責他們控制的數據的整個生命周期,并負責將數據從應用程序捕獲的原始數據轉移到適合外部方使用的形式。Amazon Glue 是一項無服務器數據集成和準備服務,它以經濟高效的方式提供大規模開發、自動化和管理數據管道所需的所有組件。它提供了一個易于使用的界面,組織可以使用該界面快速加載數據域,而無需測試、批準和處理供應商路線圖,從而確保所有必需的功能和集成都可用。
集中數據治理
中央數據治理賬戶可以跨賬戶存儲所有企業數據的數據目錄,并提供功能,使生產者可以使用 Amazon Glue 從其所有Amazon S3 存儲桶注冊和創建目錄條目。此賬戶中不存在任何數據(日志除外)。Amazon Lake Formation 在一處集中定義安全、治理和審計策略,跨分析應用程序為消費者強制執行這些策略,并且僅向請求訪問的角色提供數據源的授權和會話令牌訪問。Amazon Lake Formation 還通過集中治理和審計的資源共享為企業范圍的數據共享提供統一的訪問控制。
公共訪問
每個消費者都可以通過資源鏈接的形式從中央治理賬戶獲得對共享資源的訪問權限。這些都可以在消費者的本地Amazon Lake Formation 和 Amazon Glue 數據目錄中找到,允許由消費者管理員管理的數據庫和表訪問。授予訪問權限后,消費者可以訪問賬戶并使用以下服務執行不同的操作:
Amazon Athena 充當消費者并對使用Amazon Lake Formation 注冊的數據運行查詢。Amazon Lake Formation 驗證工作組Amazon Identity and Access Management?(IAM)角色委托人是否對數據庫、表和 Amazon S3 位置具有適當的Amazon Lake Formation 權限(如查詢)。如果委托人有權訪問,Amazon Lake Formation 會向Amazon Athena 提供臨時憑證,然后查詢運行。通過 Amazon IAM 角色或用戶或使用 SAML 或 OIDC 的 Web 聯合身份授予身份驗證。
Amazon SageMaker Data Wrangler?允許您可以從 Amazon S3、Amazon Athena、Amazon Redshift、Amazon Lake Formation 和?Amazon SageMaker Feature Store?等多個數據源中快速選擇數據。您還可以為數據源編寫查詢,并將數據從各種文件格式(如 CSV 文件、Parquet 文件和數據庫表)直接導入 Amazon SageMaker。身份驗證通過消費者賬戶中的 Amazon IAM 角色授予。
Amazon Redshift Spectrum允許您從Amazon Lake Formation注冊外部擴展數據,并提供權限層次結構來控制對數據目錄中的 Amazon Redshift 數據庫和表的訪問。如果消費者主體有訪問權限,Amazon Lake Formation 會將臨時憑證提供給Amazon Redshift Spectrum 表,然后運行查詢。身份驗證通過 Amazon IAM 角色或用戶或使用 SAML 或 OIDC 的 Web 聯合身份授予。
Amazon QuickSight?通過Amazon Athena 與Amazon Lake Formation 權限集成。如果您正在使用Amazon Athena 查詢數據,則可以使用 Amazon Lake Formation 簡化從 Amazon QuickSight 安全地連接到數據。Amazon Lake Formation將應用于,亞馬遜云科技分析和機器學習服務的自己的權限添加到Amazon IAM權限模型中,通過映射到 Amazon QuickSight 用戶權限的 Amazon IAM 角色授予身份驗證。
Amazon EMR Studio?和 Amazon EMR Notebook允許針對由 SAML 授權支持的 Amazon Lake Formation 表運行 Spark SQL。從 Amazon EMR 5.31.0 開始,您可以啟動與Amazon Lake Formation 集成的集群。通過 Amazon IAM 角色或用戶或使用 SAML 或 OIDC 的 Web 聯合身份授予進行身份驗證。
借助此設計,您可以將多個數據湖倉連接到一個集中的治理賬戶,該賬戶可存儲來自每個環境的所有元數據。這種方法的優點在于它集成了所有元數據,并將其存儲在一個元模型架構中,各種消費者都可以通過亞馬遜云科技服務輕松訪問該架構。您可以擴展此架構以注冊新的數據湖目錄并在消費者賬戶之間共享資源。下圖說明了跨賬戶數據網格架構。
結論
數據網格方法提供了一種使組織可以跨業務部門共享數據的方法。每個域都負責攝取、處理和提供其數據。他們是數據所有者和領域專家,負責數據質量和準確性。這與微服務將一組技術功能轉變為可供其他微服務使用的產品的方式類似。通過使用 Amazon Glue、Amazon Lake Formation、Amazon Athena 和 Amazon Redshift Spectrum 等托管服務和無服務器服務來提供一個易于理解、高性能、可擴展且經濟有效的解決方案來集成、準備和提供數據,從而在亞馬遜云科技上可以很便捷的實施數據網格。
JPMorgan Chase 就是使用此數據網格模式的一位客戶。有關更多信息,請參閱?JPMorgan Chase 如何構建數據網格架構來推動重大價值,從而增強其企業數據平臺。
Amazon Lake Formation 提供了在每個數據域內和跨域實施數據治理的能力,以確保數據的安全并易于發現,且數據血緣可跟蹤,訪問可審計。智能湖倉架構為支持數據網格提供了理想的基礎,并提供了一種設計模式來加強組織內的生產者域的交付。每個域都可以自主選擇自己的技術堆棧,但受可以集中管理的聯合安全模型管理,提供了安全性和合規性的最佳實踐,同時允許域內具有高度敏捷性。
本篇作者
Nivas Shankar
亞馬遜云科技的首席數據架構師
他幫助并與企業客戶密切合作,在亞馬遜云科技平臺上構建數據湖和分析應用程序。他擁有物理學碩士學位,對理論物理概念充滿熱情。
Roy Hasson
亞馬遜云科技的分析和數據湖全球業務發展主管
他與全球客戶合作,設計解決方案以滿足他們的數據處理、分析和商業智能需求。Roy 是曼聯的鐵桿球迷,喜歡為球隊加油以及和家人在一起。
Zac Mitchell
亞馬遜云科技的高級大數據架構師
他在產品團隊中工作,以增強產品工程師與客戶之間的了解,同時為客戶在亞馬遜云科技分析服務上開發數據湖和其他數據解決方案的過程提供指導。
Ian Meyers
亞馬遜云科技數據庫服務的高級首席產品經理
他與亞馬遜云科技的許多大客戶合作解決新興技術需求,并領導亞馬遜云科技內的多項數據和分析計劃,包括對數據網格的支持。
聽說,點完下面4個按鈕
就不會碰到bug了!
總結
以上是生活随笔為你收集整理的使用 Amazon Lake Formation 和 Amazon Glue 设计数据网格架构的全部內容,希望文章能夠幫你解決所遇到的問題。